Maison  >  Article  >  développement back-end  >  8 questions d'entretien PHP qui reflètent votre connaissance de PHP

8 questions d'entretien PHP qui reflètent votre connaissance de PHP

黄舟
黄舟original
2017-11-10 11:07:222076parcourir

Il existe des questions d'entretien PHP en constante évolution. Je vous ai également présenté les questions du test écrit, les questions techniques de base, les questions thinkphp et les questions sujettes aux erreurs dans les questions d'entretien PHP. Ce sont toutes des questions que nous rencontrerons lors des entretiens. J'ai récemment découvert quelque chose de très intéressant. Les questions d'entretien PHP émises par de nombreuses entreprises peuvent refléter directement le niveau PHP. Nous allons donc vous montrer aujourd'hui quelles questions d'entretien PHP peuvent refléter le niveau PHP Show. votre compréhension de php!

1. Quel est le résultat de l'exécution de

<?php echo count(strlen(“http://php.net”)); ?>

 ?

Réponse : 1

Explication : count(var) est utilisé pour compter le nombre d'éléments dans un tableau ou un objet. Lorsque var est nul ou un tableau vide, le résultat est 0. Si var est une variable normale, renvoie 1. Dans des circonstances normales, le nombre d'éléments ou d'attributs dans var est renvoyé.

2. À quoi devez-vous faire attention lorsque vous utilisez la fonction list() ?

Réponse : list() est une structure grammaticale. List ($ array) est utilisé pour attribuer rapidement des éléments d'un tableau à certaines variables. Lors de son utilisation, veuillez noter que $array doit être un tableau d'index et que la valeur d'index commence à 0.

3. Veuillez expliquer quelles fonctions sont affectées après l'activation de safe_mode dans php.ini ?


Réponse : Safe_mode est le mode sans échec de PHP. Une fois activé, il affectera principalement les opérations du système, les fichiers, les paramètres d'autorisation et d'autres méthodes, et est principalement utilisé pour gérer les webshells. Voici quelques-unes des fonctions concernées :

ckdir,move_uploaded_file,chgrp,parse_ini_file,
chown,rmdir,copy,rename,fopen,require,highlight_file,show_source,include,symlink,link,touch,mkdir,unlink,exec,
shell_exec,pasathru,system,popen

Il convient de noter que dans php5.3 et supérieur, safe_mode est obsolète, et dans php5.4 et supérieur, cette fonctionnalité est complètement supprimée.

4. Veuillez expliquer par analogie les principales fonctions du style POSIX et des expressions régulières compatibles Prel.

Réponse : style POSIX : correspond à l'expression régulière ereg et remplace ereg_replace

Style Prel : correspond à l'expression régulière preg_match et remplace preg_replace

Preg_match est meilleur que l'exécution d'ereg Plus rapide efficacité, preg_replace est plus rapide que ereg_replace.

5. Comment exécuter un script php sous la commande (écrire de deux manières), et comment transmettre des paramètres au script php ?

Réponse : La première façon : entrez d'abord dans le répertoire d'installation de php et exécutez php path/filename.php.

Exemple :

php my_script.php     php -f  "my_script.php"

Deuxième méthode : php -r "php script" (pas besoin d'ajouter les caractères de début et de fin de php).

Exemple :

php -r "print_r(get_defined_constants());"

Passez les paramètres au script php :

Première méthode : php -r "var_dump($argv);" Si les paramètres à passer commencent par -, vous devez utiliser le séparateur de liste de paramètres -- pour passer les paramètres correctement )

Deuxième méthode : code du fichier test.php :

#!/usr/bin/php  <?phpvar_dump($argv);?>

. ./test.php -h -- foo (Ajoutez #!/usr/bin/php au début du fichier php pour passer directement les paramètres commençant par -)

6. méthodes magiques ? Veuillez donner des exemples d'utilisation de chacun.

Réponse :

1. construct() : automatiquement appelée lors de l'instanciation d'un objet.

2. destruct() : automatiquement appelé lorsque l'objet est détruit ou que l'exécution du script se termine.

3. call() : Cette fonction est exécutée lors de l'appel d'une méthode qui n'existe pas sur l'objet.

4. get() : Exécute cette fonction lors de l'obtention des attributs inexistants de l'objet.

5. set() : Exécutez cette fonction lors de la définition d'attributs qui n'existent pas dans l'objet.

6. isset() : Cette fonction est exécutée lors de la détection si un certain attribut de l'objet existe.

7. unset() : Exécute cette fonction lors de la destruction d'un attribut de l'objet.

8. toString() : exécute cette fonction lors de la sortie de l'objet sous forme de chaîne.

9. clone() : Cette fonction est exécutée lors du clonage d'un objet.

10. autoload() : Lors de l'instanciation d'un objet, lorsque la classe n'existe pas, exécutez cette fonction pour charger automatiquement la classe .

11. sleep() : appelé avant la sérialisation, vous pouvez spécifier les attributs de l'objet à sérialiser.

12. Wakeup : Appelé avant la désérialisation, vous pouvez effectuer l'initialisation de l'objet.

13. set_state() : Appelé lorsque var_export est appelé. Utilisez la valeur de retour de set_state comme valeur de retour de var_export.

14. Invoquer() : Cette méthode est exécutée lors de l'utilisation de l'objet en tant que fonction.

7. Décrivez brièvement le mécanisme de récupération de place de PHP.

Réponse : Les variables en php sont stockées dans le conteneur de variables zval En plus de stocker les types et les valeurs de variables, zval a également les champs is_ref et refcount. refcount indique le nombre d'éléments pointant vers la variable et is_ref indique si la variable a un alias. Si refcount est 0, le conteneur de variables est recyclé. Si le refcount d'un zval est supérieur à 0 après avoir été réduit de 1, il entrera dans le tampon mémoire. Lorsque le tampon atteint la valeur maximale, l'algorithme de recyclage parcourt le zval pour déterminer s'il s'agit d'un déchet et le libère.

8. Utilisez php pour implémenter une file d'attente bidirectionnelle.

La file d'attente est une table linéaire qui fonctionne selon le principe du premier entré, premier sorti

File d'attente à sens unique : ne peut entrer que par la tête et sortir par la queue. .

File d'attente bidirectionnelle : la tête et la queue sont accessibles

class DuiLie {
private $array = array();//声明空数组
public function setFirst($item){
return array_unshift($this->array,$item);//头入列
}
public function delFirst(){
return array_shift($this->array);//头出列
}
public function setLast($item){
return array_push($this->array,$item);//尾入列
}
public function delLast(){
return array_pop($this->array,$item);//尾出列
}
public function show(){
var_dump($this->array);//打印数组
}
public function Del(){
unset($this->array);//清空数组
}
}

Résumé :

Les questions d'entretien PHP présentées dans cet article sont toutes celles que nous rencontrons souvent dans le travail de développement, ces questions peuvent donc refléter ce que vous savez sur PHP et ce que vous avez réellement développé, c'est donc très Questions d'entretien PHP intuitives, j'espère que cela vous sera utile !

Recommandations associées :

entretien php Analyse des questions orientées objet dans la question


Les 10 questions d'entretien PHP les plus sujettes aux erreurs


Partage des questions sur la technologie de base PHP dans les questions d'entretien PHP


Un résumé des questions de test écrit en PHP questions d'entretien


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