Cet article présente principalement les questions d'entretien PHP intermédiaires et avancées, qui ont une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
Recommandations associées : " PHP en 2019. Résumé des questions d'entretien (collection) 》
1. Donnez-vous quatre points de coordonnées et jugez s'ils peuvent former un rectangle, comme en jugeant ([0,0],[0,1],[ 1,1],[1,0]) peuvent former un rectangle.
2. Écrivez un morceau de code pour déterminer si un anneau est formé dans la liste chaînée unidirectionnelle. Si un anneau est formé, veuillez trouver l'entrée de l'anneau, qui est le point P
3. Écrivez une fonction pour obtenir toutes les images dans le contenu de l'article et téléchargez
4. Obtenez l'adresse IP du client actuel et déterminez si elle est (111.111.111.111,222.222.222.222)
5. Configuration log_format de nginx Comme suit :
log_format main 'remoteaddr−remote_user [timelocal]"request"'
'statusbody_bytes_sent "httpreferer"""http_user_agent" "upstreamresponsetime""request_time" "http_x_forwarded_for"';
À partir du fichier journal nginx d'aujourd'hui Dans access.log :
a. Répertorier les 20 plus grandes lignes de "request_time" ? Lister les visites à 10h 20 adresses url ?
6. Qu'est-ce qu'une attaque CSRF ? Comment la prévenir
8. Tirez au hasard 5 cartes parmi les cartes à jouer et déterminez si elles sont une quinte, c'est-à-dire ces 5 cartes. C'est continu
9. Comment trouver le premier nœud commun de deux listes chaînées unidirectionnelles qui se croisent
10. Le problème de sous-séquence commune le plus long LCS S'il y a deux tableaux [1,2,5,11,32,15,77] et [99,32,15,5,1,77], trouvez-les. écrivez du code avec une complexité temporelle optimale pour les nombres que nous avons tous en commun, array_intersect ne peut pas être utilisé (il y a des pièges ici et vous devez étudier la programmation dynamique).
11. Allocation de mémoire Linux et principes multithreading
12 La différence entre la clé primaire et l'index unique dans MYSQL
13. 🎜>
14. Code d'état http et sa signification15 Comment vérifier l'utilisation des ressources système sous Linux16. Comment empêcher l'injection SQL17. isset(null) isset(false) empty(null) empty(false) sortie18 Méthodes pour optimiser MYSQL19. Base de données Dans quoi se déroule la transaction ? 20. Écrivez une fonction pour extraire l'extension de fichier d'une URL standard aussi efficacement que possible 21. Les paramètres sont des tableaux de plusieurs dates et heures, et renvoient celle la plus proche de l'heure actuelle. temps. Temps22. La différence entre echo, print et print_r
23. Quelles sont les clés et leurs significations dans l'en-tête du protocole http
24. code
25. Quelles sont les différences structurelles entre les tableaux PHP et les tableaux du langage C ?
26. Comment implémenter la table de saut de Redis
27. Qu'est-ce que le hachage ? Comment stocker des données après un conflit de hachage ?
28. Index clusterisé, quelle est la différence entre un index clusterisé ?
29. Comment B+Tree recherche-t-il
30. Quelle est la différence entre un tableau et un hachage ?
31. Écrivez une fonction pour déterminer si le signe d'expansion suivant est fermé. La symétrie gauche et droite signifie fermé : ((())),)(()),(()))), (( (((((() ()), (()()), ()()
32. Recherchez les valeurs uniques dans le tableau [1,2,3,3,2, 1,5]
Quelle est votre complexité temporelle pour les questions 33 et 32 ? Dans certains cas, vous écrivez un algorithme, puis l'intervieweur vous demandera d'écrire l'expression de complexité temporelle de votre algorithme
34. Comment cette variable de type faible est-elle implémentée en PHP ?
35. Lors d'une communication HTTP, le client ou le serveur se déconnecte-t-il activement ?
36. Quels sont les moyens d'initier des requêtes http en PHP ? Quelle est la différence ?
37. Il existe un arbre binaire. Écrivez du code pour trouver le chemin le plus court du nœud racine au nœud drapeau et imprimez-le. Par exemple, 6 et 14 dans l'arborescence ci-dessous sont des nœuds de drapeau. Veuillez écrire du code pour imprimer les deux chemins 8, 3, 6 et 8, 10, 14
38. Il y en a deux. fichiers La taille des fichiers dépasse 1 Go. Il y a une donnée par ligne, et chaque ligne de données ne dépasse pas 500 octets. Certains contenus des deux fichiers sont exactement les mêmes. Veuillez écrire du code pour trouver les mêmes lignes et écrire. les dans le nouveau fichier. La taille maximale autorisée de PHP est de 255 Mo.
39. Veuillez écrire au moins deux fonctions PHP qui prennent en charge le traitement des rappels et implémenter vous-même une fonction PHP qui prend en charge les rappels.
40 Veuillez écrire au moins deux fonctions PHP qui prennent en charge le traitement des rappels. pour télécharger tous les fichiers (code ou idées).
41. Veuillez noter au moins trois méthodes ou fonctions pour intercepter les suffixes de noms de fichiers (soit des fonctions natives PHP, soit des fonctions auto-implémentées)
42. Comment PHP implémente-t-il les cookies sans les siens? la fonction émet des cookies au client. Pour les systèmes distribués, comment enregistrer les valeurs de session.
43. Veuillez utiliser SHELL pour compter les adresses URL les plus visitées dans le journal nginx dans les 5 minutes. Quelles sont les adresses IP correspondantes ?
44. Écrivez un script shell pour sauvegarder la bibliothèque MySQL spécifiée (telle que test) dans le dossier spécifié et emballez-la, supprimez la sauvegarde il y a 30 jours, puis envoyez la nouvelle sauvegarde au serveur distant et envoyez un e-mail. notification une fois terminé.
45. La différence entre les moteurs innodb et myisam dans la base de données mysql
46. Quel processus l'utilisateur suit-il entre la saisie de l'URL dans le navigateur et l'appui sur Entrée pour voir la réunion complète ?
47. Comment analyser les performances d'une instruction SQL.
48. En cas d'échec du ping sur un serveur, quelle commande doit être utilisée pour tracer les paquets de routage ?
linux:traceroute,windows:tracert
49 $a=[0,1,2,3]; b; À quoi est égal var_dump($a) ?
50, $a=[1,2,3]; foreach($a comme &$v){} foreach($a comme $v){} var_dump($a) est égal à ; 🎜 >
55, modèle asynchrone
56, fichier 10g, utilisez php pour afficher son nombre de lignes
57, il y a 1 milliard de données de commande, appartenant à 1000 pilotes, veuillez retirer le montant de la commande Les 20 meilleurs pilotes
58, concevez une fonction d'enveloppe rouge WeChat
59, comptez les qps des 5 dernières secondes en fonction du fichier access.log et affichez-le dans ce qui suit format, 01 1000 (la difficulté est 01 Numéro de série)
60. Pourquoi les performances de php7 sont-elles tellement améliorées
61. Traversée d'un tableau multidimensionnel
62. Il existe une telle chaîne abcdefgkbcdefab...random length , écrivez une fonction pour trouver le nombre de fois que bcde apparaît dans cette chaîne
63. Il y a un fichier de 1G, chaque ligne qu'il contient est un mot, la taille du mot ne dépasse pas 16 octets et la limite de mémoire La taille est de 1 Mo. Renvoie les 100 mots les plus fréquents
65, modèle de processus PHP, comment PHP prend en charge plusieurs simultanéités
66, modèle de processus nginx, comment prendre en charge plusieurs simultanéités
67, signification de la configuration php-fpm, mode démoniser fpm
statique - le nombre de processus enfants est fixe (pm.max_children)
ondemand - le processus n'est généré que lorsqu'il y a une demande (sur demande, Contrairement à Dynamic, pm.start_servers est démarré au démarrage du service
dynamic - le nombre de processus enfants est défini dynamiquement en fonction de la configuration suivante : pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers
68. Vous permet de mettre en œuvre une architecture simple et de maintenir une haute disponibilité. Il existe deux interfaces, une pour télécharger un texte et une pour obtenir le contenu téléchargé pour éviter les pannes d'une seule salle informatique et en même temps. rendre le niveau de code insensible ? .
69. L'un des deux serveurs mysql est en panne. Comment l'entreprise peut-elle terminer la commutation sans aucune interruption et garantir la cohérence des données sur le serveur podium
70. Protocole http Définition spécifique71 Qu'est-ce qu'un verrou et comment résoudre le problème de verrouillage72 La différence entre rand et mt_rand73. .Comment l'isolation des transactions MySQL est-elle réalisée74. Comment implémenter le verrouillage MySQL75 Méthodes de cryptage symétrique et asymétrique10 bouteilles d'eau, dont une. est toxique. Après avoir bu l'eau toxique, il sera mort du poison après 23 heures et 59 minutes. Veuillez utiliser le moins de souris possible pour trouver cette bouteille d'eau dans les 24 heures Recommandations associées :.
Résumé des questions d'entretien PHP
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!