Maison  >  Article  >  développement back-end  >  Résumé des dernières questions d'entretien PHP classiques (Partie 1)

Résumé des dernières questions d'entretien PHP classiques (Partie 1)

黄舟
黄舟original
2017-03-18 09:14:311324parcourir

Cet article présente principalement le dernier résumé des questions d'entretien PHP classiques en 2017 (Partie 1). Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer

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

  • Les guillemets doubles interprètent les variables, les guillemets simples n'interprètent pas les variables

  • Entre guillemets doubles Insérer des guillemets simples S'il y a une variable entre guillemets simples, l'explication de la variable

  • entre guillemets doubles Le nom de la variable doit être suivi de un non-chiffre, une lettre ou un trait de soulignement Caractères spéciaux, ou utilisez {} pour entourer les variables, sinon la partie après le nom de la variable sera traitée dans son ensemble, provoquant une erreur de grammaire.

  • Les guillemets doubles interprètent 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 caractères simples guillemets autant que possible. Les guillemets simples sont plus efficaces que les guillemets doubles. Ils doivent être élevés (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. super variables globales(8)

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

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

  • $ DEMANDE ----->Peut recevoir à la fois les méthodes get et post Valeur

  • ***

  • $GLOBALS ----- >Toutes les variables sont placées dans

  • $FILE -----> Téléchargez des fichiers en utilisant

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

  • * **

  • $SESSION ----->Il sera utilisé pour le contrôle de session

  • $COOKIE - ---->

3. Différences entre les méthodes POST, GET, PUT et DELETE en HTTP.

HTTP définit différentes méthodes d'interaction avec le serveur. Les plus basiques sont POST, GET, PUT et DELETE. Le nom complet de l'URL indispensable est le descripteur de ressource que nous pouvons comprendre. comme ceci : url description Une ressource sur Internet est obtenue, et publier, obtenir, mettre et déléguer sont des opérations pour ajouter, supprimer, modifier et vérifier 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 à la formulaire de soumission Dans l'URL pointée par l'attribut action, la valeur correspond de manière individuelle à chaque champ du formulaire, comme le montre l'URL. La publication utilise le mécanisme HTTPPOST pour empêcher chaque champ du formulaire et son contenu ; d'être transmis à l'attribut action dans l'en-tête HTML. En faisant référence à l'adresse URL, l'utilisateur ne peut pas voir ce processus

  • Pour la méthode get, le côté serveur utilise Request.QueryString pour obtenir. la valeur de la variable. Pour la méthode post, le côté serveur utilise Request.Form pour l'obtenir. Les données soumises

  • get transfèrent une petite quantité de données et post en transfère une grande. quantité de données. Elle est généralement illimitée par défaut, mais en théorie, la quantité maximale dans IIS4 est de 80 Ko dans IIS5,

  • la sécurité d'obtention est très faible, la sécurité post est élevée. élevé

3.2

  • La requête GET enverra une demande de données à la base de données pour obtenir des informations. Cette demande est tout comme la. sélectionnez le fonctionnement de la base de données. Il est uniquement utilisé pour interroger les données et ne modifiera ni n'ajoutera. Les données n'affecteront pas le contenu de la ressource, c'est-à-dire que la demande n'aura aucun effet secondaire. Peu importe le nombre de fois que vous le faites, 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.

  • 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'insertion de la base de données Le fonctionnement est le même, un nouveau contenu sera créé. Presque toutes les opérations de soumission actuelles sont demandées via POST. La

  • 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

Personnel Nom d'origine de la page d'accueil

Objectif cible : permettre 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 beaucoup plus efficace. que CGI qui génère entièrement l'édition HTML

HTML : Hypertext Markup Language

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

Ledov 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 abouti à php/fi

Chronologie :

  • PHP/FI a été rendu public le 08/06/1995

  • 1995 php2.0, ajoutant la prise en charge 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

Texte commun

Éditeur, 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


  • Peut exécuter des pages Web dynamiques plus rapidement que CGI ou Prel. Par rapport à d'autres langages de programmation, PHP intègre des programmes dans des documents HTML pour l'exécution, et l'efficacité d'exécution est supérieure à celle de CGI qui génère complètement l'édition HTML. Beaucoup plus élevée, tous les CGI peuvent être implémentés


  • Prend en charge presque toutes les bases de données et systèmes d'exploitation populaires

  • PHP peut utiliser C, C pour l'expansion du programme

Avantages PHP :

    Code open source
  • Gratuit
  • Rapidité
  • Forte multiplateforme
  • Haute efficacité
  • Traitement graphique
  • Orienté objet

  • Orientation professionnelle

Application de technologie PHP :

    Génération de pages statiques
  • Cache de base de données
  • Cache de processus
  • p css
  • w3c

    standard

  • Big Load
  • Distribué
  • flex
  • Supports
  • MVC

  • Smarty Module Engine

Niveau de certification PHP

Junior IFE :Index Front Engineer Front-end Engineer

IPE intermédiaire : Ingénieur PHP d'index Ingénieur PHP

IAE senior : Ingénieur d'architecture d'index Ingénieur d'architecture


6. echo, print_r, print , la différence entre var_dump

* 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() 判断一个变量的类型和长度,并输出变量的数值

7. Code d'état HTTP Cliquez ici pour voir l'explication détaillée des codes d'état HTTP

Codes d'état HTTP courants :

200 - Demande réussie

301 - Les ressources (pages Web, etc.) sont définitivement échappées vers d'autres URL

404 - La ressource demandée (page Web, etc.) n'existe pas
505 - Erreur interne du serveur
Classification du code d'état HTTP :

1** - Information, la requête reçue par le serveur impose au demandeur de continuer à effectuer l'opération

2** - Succès, l'opération a été reçue et traitée avec succès

3** - Redirection, une action supplémentaire est requise pour terminer la demande
4** - Erreur client, la demande contenait une erreur de syntaxe ou n'a pas pu être complété Demande
5** Erreur du serveur, le serveur a rencontré une erreur dans le processus de traitement de la demande



8. Que sont la magie quotes Les guillemets magiques sont un processus qui échappera automatiquement aux données entrant dans le script PHP. 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 IP du serveur Client : $_SERVER["REMOTE_ADDR"] ; getenv('REMOTE_ADDR')

ip2long pour la conversion

Côté serveur : gethostbyname('www.baidu.com')

Utilisez ces outils pour le contrôle de versioncvs, svn, vss, git

Méthodes pour optimiser la base de données

Base de données MySQL

Huit façons d'optimiser (classique incontournable) cliquez pour obtenir

Sélectionnez les attributs de champ les plus applicables, réduisez autant que possible la définition de la largeur du champ et essayez pour définir les champs sur NOTNULL, par exemple, "Province" et "Gender" conviennent mieux à ENUMUtilisez la jointure (JOIN) au lieu de la sous-requête

Utilisez l'union (UNION) au lieu d'une table temporaire créée manuellement

Traitement des transactions
Verrouillez la table et optimisez le traitement des transactions
applique les clés étrangères, optimise le verrouillage des tables
crée des index
optimise les instructions de requête

12. Avez-vous déjà utilisé le 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éparer la lecture et l'écriture de la base de données, optimiser les tables de données
Règles de fonction du programme, interdire les liens actifs externes
Contrôler le téléchargement de fichiers volumineux
Utiliser différents hôtes pour détourner le trafic principal

14. Quelle est la différence entre les déclarations inclure et exiger ? 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, cela le fera être exécuté en premier, que la condition soit vraie ou non, require, lorsque le fichier n'existe pas ou ne peut pas être ouvert, une erreur sera demandée et l'exécution du programme sera terminée

include a une valeur de retour, mais require ne l'est pas (peut-être à cause de cela, require est plus rapide que include), s'il est inclus. Si le fichier n'existe pas, une erreur sera affichée, mais le programme continuera à s'exécuter

Remarque : require est fatal lorsque le include file n'existe pas ou présente une erreur de syntaxe, mais include n'est pas

require_once indique l'inclusion une seule fois, évitant ainsi une inclusion répétée

15. Parlez de la compréhension de mvc

Applications complétées par des modèles, des vues et des contrôleurs Le modèle envoie les fonctions à implémenter. le contrôleur, et le contrôleur reçoit les fonctions organisationnelles et les transmet à la vue

16. Expliquez la différence entre le passage par valeur et le passage par référence en PHP, et expliquez lors du passage par référence en passant 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 Remarque : lorsqu'une variable est affectée à une autre variable, la modification de 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 fait simplement référence (en d’autres termes, devient un alias ou pointe vers) la variable d’origine. Les modifications apportées aux nouvelles variables affecteront les variables d'origine et vice versa. Pour utiliser l'affectation de référence, ajoutez simplement un symbole & devant la variable à attribuer (variable source)

L'objet par défaut passe par référence

Pour des données plus volumineuses, c'est mieux passer par référence. Cela peut économiser de la mémoire

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