Maison >développement back-end >tutoriel php >Résumé des dernières questions d'entretien PHP classiques en 2017

Résumé des dernières questions d'entretien PHP classiques en 2017

不言
不言original
2018-04-21 10:30:054424parcourir

Le contenu de cet article est un résumé des dernières questions d'entretien PHP classiques en 2017. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Cet article continuera la mise à jour, j'espère que vous pourrez exprimer vos propres opinions et sujets classiques dans la zone de commentaires. L'auteur classera et hiérarchisera cet article aux nœuds appropriés à l'avenir. J'espère que vous pourrez corriger les lacunes de l'article !

1. La différence entre les guillemets doubles et les guillemets simples

  • Les guillemets doubles expliquent les variables, les guillemets simples le font. not Interpréter la variable

  • Insérer des guillemets simples à l'intérieur des guillemets doubles. S'il y a une variable entre guillemets simples, l'interprétation de la variable

  • le fera. suivez le nom de la variable entre guillemets. Il doit y avoir un caractère spécial autre que des chiffres, des lettres et des traits de soulignement, ou il doit être entouré de variables, sinon la partie après le nom de la variable sera traitée dans son ensemble, provoquant une erreur de syntaxe.

  • guillemets doubles Interpréter les caractères d'échappement. Les guillemets simples n'interprètent pas les caractères d'échappement, mais l'interprétation de ' et \

  • peut faire en sorte que les guillemets simples utilisent des guillemets simples. guillemets autant que possible. Les guillemets simples sont plus efficaces que les guillemets doubles (car les guillemets doubles doivent d'abord être parcourus pour déterminer s'ils contiennent des variables avant de fonctionner, tandis que les guillemets simples n'ont pas besoin d'être jugés)

2. Variables super globales couramment utilisées (8)

  • $_GET ----->obtenir la méthode de transmission

  • $_POST ----->méthode de transmission post

  • $_REQUEST ----->Peut recevoir des valeurs dans les méthodes get et post


  • $GLOBALS ----->Toutes les variables sont placées à l'intérieur

  • $_FILE ----- >Pour télécharger des fichiers, utilisez

  • $_SERVER ----->Variables d'environnement système


  • $_SESSION ----->Sera utilisé lors du contrôle de session

  • $_COOKIE est utilisé -----> 3. POST, GET, La différence entre les méthodes PUT et DELETE

  • HTTP définit différentes méthodes d'interaction avec le serveur. Les plus basiques sont POST, GET, PUT et DELETE. l'URL indispensable est le descripteur de ressource. , on peut le comprendre ainsi : l'URL décrit une ressource sur Internet, et publier, obtenir, mettre et déléguer sont les opérations d'ajout, de suppression, de modification et de vérification de cette ressource !

3.1 La différence entre les méthodes de soumission get et post sous la forme

get ajoute la file d'attente de données de paramètres à l'URL pointée par l'attribut d'action du formulaire soumis. La valeur correspond à chaque champ du formulaire un à un, ce qui peut être vu à partir de l'URL ; la publication utilise le mécanisme HTTPPOST pour empêcher que chaque champ et son contenu dans le formulaire soient transmis ensemble à l'adresse URL pointée. à par l'attribut action dans l'en-tête HTML, et l'utilisateur ne peut pas le voir. Pour ce processus
  • Pour la méthode get, le côté serveur utilise Request.QueryString pour obtenir la valeur du. variable. Pour la méthode post, le côté serveur utilise Request.Form pour obtenir les données soumises

  • La quantité de données transmises par get est faible et la quantité de données transmises par courrier est faible. plus grand. Il est généralement sans restriction par défaut. Cependant, en théorie, le montant maximum est de 80 Ko dans IIS4 et de 1 000 Ko dans IIS5. Get est très sécurisé, la sécurité des postes est élevée

  • 3.2.

La requête GET enverra une requête de données à la base de données pour obtenir des informations. Cette requête, tout comme l'opération de sélection de la base de données, est uniquement utilisée pour interroger des données. modifier ou ajouter des données, et n'affectera pas le contenu de la ressource, c'est-à-dire que la demande n'aura pas d'effets secondaires. Peu importe le nombre de fois que vous effectuez l’opération, le résultat est le même.
  • Différente de GET, la requête PUT envoie des données au serveur pour modifier les informations. Cette requête s'apparente à l'opération de mise à jour de la base de données, utilisée pour modifier le contenu des données, mais le type de données ne sera pas augmenté, ce qui signifie que quel que soit le nombre d'opérations PUT effectuées, les résultats ne seront pas différents.

  • La requête POST est similaire à la requête PUT, les deux envoient des données au serveur, mais cette requête changera le type de données et d'autres ressources, tout comme l'opération d'insertion de la base de données, elle créera du nouveau contenu. Presque toutes les opérations de soumission actuelles sont demandées via POST.

  • La requête DELETE, comme son nom l'indique, est utilisée pour supprimer une certaine ressource. Cette requête est comme l'opération de suppression de la base de données.

  • 4. Introduction à PHP

Préprocesseur hypertexte ----Préprocesseur hypertexte

Page d'accueil personnelle originale nom

Objectif cible :

Permet aux développeurs Web d'écrire rapidement des pages Web générées dynamiquement. Par rapport à d'autres pages, PHP intègre le programme dans le document HTML pour une exécution plus efficace. CGI entièrement généré. pour l'édition HTML est beaucoup plus élevé

HTML : Langage de balisage hypertexte

Fondateur : Rasmus Lerdorf, né en 1968, Université de Waterloo, Canada

Ledolf ​​​​a d'abord écrit le programme de maintenance en langage prel pour maintenir sa page Web personnelle, puis l'a réécrit en c, ce qui a finalement conduit à php/fi

Timeline :

  • 1995.06.08 PHP/FI a été rendu public

  • 1995 php2.0, prise en charge supplémentaire de MySQL

  • 1997 php3.0

  • 2000 php4.0

  • 2008 php5.0

  • Comme php6.0 ne résout pas complètement l'encodage Unicode, il n'y a pratiquement aucune application sur la chaîne de production. Il s'agit essentiellement d'un produit conceptuel. De nombreuses fonctions ont été implémentées sur php5.3.3 et php5.3.4

  • <.>

IDE communs (environnement de développement intégré) :Environnement de développement intégré

  • Coda (mac)

  • PHPStrom

  • Adobe Dreamweaver

  • NetBeans

Éditeur de texte commun avec surlignage de code :

  • NodePad++

  • SublimeText

Avantages PHP

Fonctionnalités PHP :

  • php mélange de manière unique la syntaxe propre à C, Java, Prel et PHP

  • CGI ou Prel comparables peuvent s'exécuter pages Web dynamiques plus rapidement. Par rapport à d'autres langages de programmation, PHP intègre des programmes dans des documents HTML pour l'exécution. L'efficacité d'exécution est bien supérieure à celle du CGI qui génère entièrement l'édition HTML

  • <.>Prend en charge presque toutes les bases de données et systèmes d'exploitation populaires
  • PHP peut utiliser C, C++ pour étendre le programme
Avantages de PHP :

    Code open source
  • Liberté
  • Rapidité
  • Forte multiplateforme
  • Haute efficacité
  • Traitement graphique
  • Orienté objet
  • Orientation professionnelle
Application de la technologie PHP :

    Génération de pages statiques
  • Cache de base de données
  • Cache de processus
  • p+css w3c standard
  • Grosse charge
  • Distribué
  • flex
  • Support MVC
  • Moteur de module Smarty
  • Niveau de certification PHP

    Junior IFE : Index Front Ingénieur Ingénieur Front-end
  • IPE intermédiaire : Ingénieur PHP d'index Ingénieur PHP
  • IAE avancé : Ingénieur d'architecture d'index Ingénieur d'architecture
  • 6. La différence entre echo, print_r, print, var_dump

7. Code d'état HTTP
* echo、print是php语句,var_dump和print_r是函数
* echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构而不是真正的函数,因此不能作为表达式的一部分使用
* print也是php的一个关键字,有返回值 只能打印出简单类型变量的值(如int,string),如果字符串显示成功则返回true,否则返回false* print_r 可以打印出复杂类型变量的值(如数组、对象)以列表的形式显示,并以array、object开头,但print_r输出布尔值和NULL的结果没有意义,因为都是打印"\n",因此var_dump()函数更适合调试
* var_dump() 判断一个变量的类型和长度,并输出变量的数值

Cliquez sur Consultez l'explication détaillée des codes d'état HTTP ici.

Codes d'état HTTP courants :

    200 - Demande réussie
  • 301 - La ressource ( page Web, etc.) est définitivement échappé vers une autre URL
  • 404 - La ressource demandée (page Web, etc.) n'existe pas
  • 505 - Erreur interne du serveur
Classification du code d'état HTTP :

    1** - Informations reçues par le serveur La requête exige que le demandeur continue d'effectuer l'opération
  • 2** - Succès, l'opération a été reçue et traitée avec succès
  • 3** - Répéter Dirigé, une action supplémentaire est requise pour terminer la demande
  • 4** - Erreur du client, la demande contient une erreur de syntaxe ou la demande ne peut pas être complétée
  • 5 ** Erreur du serveur. Une erreur s'est produite lors du traitement de la demande par le serveur
  • 8. Que sont les citations magiques

Les citations magiques sont un symbole ? qui entrera automatiquement dans un script PHP. Dans le processus d'échappement des données, il est préférable de ne pas s'échapper lors de l'encodage mais de s'échapper si nécessaire pendant l'exécution

9 Comment obtenir l'adresse IP du client (nécessite un int) et. le code de l'IP du serveur

Client :

Serveur : $_SERVER["REMOTE_ADDR"];或者getenv('REMOTE_ADDR')ip2long进行转换gethostbyname('www.baidu.com')10. Utilisez ces outils pour le contrôle de version

cvs, svn, vss. , git

11. Méthodes d'optimisation des bases de données

Huit façons d'optimiser la base de données MySQL (classique à voir absolument) Cliquez pour obtenir

    Sélectionnez le plus attributs de champ applicables et réduisez les définitions autant que possible Largeur du champ, essayez de définir les champs sur NOTNULL Par exemple, « province » et « sexe » sont les mieux adaptés pour ENUM
  • Utilisez la jointure (. JOIN) au lieu d'une sous-requête
  • Utiliser l'union (UNION) pour remplacer les tables temporaires créées manuellement
  • Traitement des transactions
  • Verrouillez les tables et optimisez le traitement des transactions
  • Appliquez des clés étrangères, optimisez le verrouillage des tables
  • Créez des index
  • Optimiser les instructions de requête
  • 12. Avez-vous déjà utilisé un moteur de modèles ? Quel est le nom du moteur de template utilisé ?

Smarty :

Smarty est un très ancien moteur de template PHP. C'était mon choix initial pour utiliser des modèles dans ce langage. Bien qu’il soit mis à jour moins fréquemment et qu’il lui manque certaines fonctionnalités de la nouvelle génération de moteurs de modèles, il vaut quand même le détour. 13. Pour les sites Web à fort trafic, quelles méthodes doivent être utilisées pour résoudre le problème de trafic

    Confirmez si le matériel du serveur peut prendre en charge le trafic actuel
  • Séparation de la lecture et de l'écriture de la base de données, optimisation des tables de données
  • Règles de fonction du programme, interdisant les liens chauds externes
  • Contrôler les fichiers volumineux Télécharger
  • Utiliser différents hôtes pour détourner le trafic principal

14. Quelle est la différence entre les instructions include et require ? Pour éviter d'inclure le même fichier plusieurs fois, vous pouvez utiliser des instructions (?) pour les remplacer

  • require est une inclusion inconditionnelle, c'est-à-dire que si require est ajouté à un processus, il sera être exécuté en premier, que la condition soit vraie ou non, lorsque le fichier n'existe pas ou ne peut pas être ouvert, une erreur sera affichée et l'exécution du programme sera terminée

  • include a une valeur de retour, mais require n'en a pas (peut-être parce que require est plus rapide que include Fast), si le fichier inclus n'existe pas, une erreur sera demandée, mais le programme continuera à s'exécuter

Remarque : lorsque le fichier inclus n'existe pas ou que la syntaxe est incorrecte, require est fatal et include ne l'est pas

  • require_once signifie qu'il n'est inclus qu'une seule fois, évitant ainsi des inclusions répétées

15. Parlez de la compréhension de mvc

Une application complétée par un modèle, une vue et un contrôleur Le modèle envoie les fonctions à implémenter au. contrôleur, et le contrôleur reçoit et organise les fonctions et les transmet à la vue

16. Expliquer le transfert de valeur et le transfert en PHP La différence entre les références et expliquer quand passer par référence lors du passage par valeur ?

Les variables sont toujours affectées par valeur par défaut, c'est-à-dire que lorsque la valeur d'une expression est affectée à une variable, la valeur de l'expression entière est affectée à la variable cible, ce qui signifie : Quand Lorsqu'une variable est affectée à une autre variable, changer la valeur d'une variable n'affectera pas l'autre variable

php fournit également une autre façon d'attribuer des valeurs aux variables : l'affectation de référence. Cela signifie que la nouvelle variable __références__ (en d'autres termes, devient un alias ou un pointeur vers) de la variable d'origine . Les modifications apportées aux nouvelles variables affecteront les variables d'origine et vice versa. Utilisez l'affectation de référence, ajoutez simplement un symbole & devant la variable à attribuer (variable source)

L'objet passe par défaut par référence Pour des données plus volumineuses, il est préférable de passer par référence, ce qui peut économiser de la mémoire. .

Recommandations associées :

Résumé des questions d'entretien PHP

Ensemble de questions d'entretien PHP classique Ensemble de questions d'entretien PHP classique

Les questions d'entretien PHP les plus complètes et détaillées (avec réponses)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn