Maison titres Questions d'entretien d'ingénieur PHP senior Xiaomi 2022 (examen simulé)

Questions d'entretien d'ingénieur PHP senior Xiaomi 2022 (examen simulé)

Jan 11, 2019 am 09:38 AM
php

En savoir plus sur les documents d'entretien de l'entreprise avant l'entretien, qui seront très utiles pour les entretiens ultérieurs. Aujourd'hui, je vais vous présenter les questions d'entretien d'ingénieur PHP senior Xiaomi 2022 (document d'examen simulé), qui ont une certaine valeur de référence. Je les partage avec vous maintenant, dans l'espoir d'aider tout le monde !

Questions d'entretien d'ingénieur PHP senior Xiaomi 2022 (examen simulé)

Recommandations associées : "Résumé des questions d'entretien PHP 2022 (Collection) "

1. Quelle fonction peut être utilisée pour convertir les erreurs en gestion des exceptions ?

A : set_error_handler
B : error_reporting
C : error2exception
D : catch

Réponse correcte : Une

Analyse de la réponse : set_error_handler() peut spécifier une fonction de rappel Lorsqu'une erreur se produit, elle sera automatiquement gérée via la fonction de rappel spécifiée. Lancez simplement une nouvelle exception dans la fonction de rappel.

2. Laquelle des descriptions de fonctions shell suivantes est correcte ?

A : La fonction shell peut être appelée d'abord, puis définie
B : les fonctions Shell doivent être définies à l'aide du mot-clé function
C : Les variables de la fonction shell peuvent être déclarées comme variables locales
D : les fonctions Shell ne peuvent renvoyer des valeurs que via return, 1 est le succès, 0 est un échec

Réponse correcte : C

Analyse de la réponse : La fonction Shell doit être définie avant d'appeler lors de la déclaration, il n'est pas nécessaire d'utiliser des mots-clés ; local peut être utilisé Définir des variables locales dans la fonction ; la valeur de retour de la fonction shell, 0 est un succès, non-0 est une erreur, les autres options sont correctes

3. Les déclarations suivantes concernant la technologie de recherche en texte intégral sont incorrectes :

A : Solr est une nouvelle génération de composant de recherche en texte intégral. Il est beaucoup plus efficace que Lucene en recherche, et il prend également en charge l'accès HTTP. Il est également très pratique pour PHP d'appeler Solr.
B : Dans MySQL, la récupération de texte intégral peut être réalisée en établissant un index FULLTEXT sur un champ. Actuellement, les tables MyISAM et InnoDB prennent en charge les index FULLTEXT.
C : Sphinx est un moteur de recherche en texte intégral basé sur SQL qui peut être combiné avec MySQL pour la recherche en texte intégral. Il peut fournir des fonctions de recherche plus professionnelles que la base de données elle-même.
D : L'analyseur de segmentation de mots binaires CJKAnalyzer fourni avec Lucene est très rapide en matière de segmentation de mots et peut répondre aux besoins de récupération générale de texte intégral.

Réponse correcte : A

Analyse des réponses : Solr est une nouvelle génération de récupération de texte intégral composant Basé sur Lucene, donc dire qu'il est plus rapide que Lucene est un non-sens :)

4. Qu'est-ce qui ne va pas avec le mode singleton ?

A : Le but du mode singleton est de garantir qu'une seule instance d'une classe peut exister dans l'environnement global
B : Le mode à intérêt unique nécessite généralement que le le constructeur doit être défini sur privé
C : définissez simplement le constructeur sur privé pour garantir qu'il n'y a qu'une seule instance dans le monde
D : La fonction de connexion à la base de données est généralement implémentée en mode singleton

Bonne réponse : C

Analyse des réponses : Définir le constructeur sur privé garantit uniquement que de nouvelles instances ne peuvent pas être créées via nouveau, mais il peut toujours être cloné et désérialisé. Créez plusieurs instances à l'aide de méthodes telles que la transformation.

5. Quelle est la mauvaise expression du moteur régulier ?

Les moteurs réguliers peuvent être principalement divisés en deux catégories : l'une est DFA et l'autre est NFA.
B De manière générale, le moteur NFA recherche plus rapidement. Cependant, DFA est orienté expression et plus facile à manipuler, c'est pourquoi la plupart des programmeurs préfèrent les moteurs DFA !
C L'expression NFA domine, le texte DFA domine.
D Vous pouvez indiquer s'il prend en charge l'ignorance des quantificateurs de priorité et la capture de groupe pour déterminer le type de moteur : NFA est pris en charge, DFA n'est pas pris en charge

Réponse correcte : B

Analyse de la réponse : L'énoncé correct devrait être : De manière générale, le moteur DFA effectue une recherche plus rapide. Cependant, NFA est orienté expression et plus facile à manipuler, c'est pourquoi la plupart des programmeurs préfèrent les moteurs NFA !

6. Laquelle des options suivantes peut être mise en correspondance par l'expression régulière dans la case ?

/.123d/

A **123

B ****1234
C. 🎜>D.123

Réponse correcte :

B

Analyse de la réponse :

Le point clé de cette question est de comprendre cette expression régulière La signification de la formule - de gauche à droite, il y a d'abord zéro ou plusieurs caractères arbitraires (.), suivis d'un astérisque (), puis de 123 et enfin d'un nombre. La réponse est donc B.

7. Laquelle des affirmations suivantes concernant les bases de données est fausse ?

A : Pour plus d'efficacité, la base de données peut avoir plusieurs bibliothèques de lecture
B : La base de données peut utiliser maître-esclave pour la veille chaude
C : La base de données ne peut pas fournir une architecture multi-maître et multi-esclave
D : La base de données maître-esclave passe par la synchronisation des journaux

Réponse correcte : C

Analyse de la réponse : Le La base de données peut fournir une architecture multi-maître et multi-esclave.

8. Lequel des éléments suivants n'est pas un moyen de corriger les vulnérabilités XSS ?

A : Filtrer les paramètres avec htmlspecialchas
B : Utiliser le filtrage de liste blanche pour les paramètres
C : Ne pas autoriser l'affichage du contenu d'entrée dans le navigateur
D : Désactiver Afficher le contenu saisi par l'utilisateur dans la balise js

Réponse correcte : A

Analyse de la réponse : Ce filtrage de classe peut résoudre le type de support angulaire de

A.ISAPIB.CGIC.FastCGI

D.RESTFUL API



Réponse correcte :

D

Analyse des réponses : A~C sont les modèles les plus couramment utilisés, et D est une méthode d'organisation de l'interface.

10. Pour parcourir un fichier volumineux ligne par ligne, laquelle des méthodes suivantes est la plus performante ?

A : Écrivez une classe qui implémente l'interface IteratorAggregate et utilisez le parcours foreach à travers cette classe. B : utilisez file_get_contents pour charger le contenu du fichier en mémoire en une seule fois, puis parcourez ligne par ligne. C : Appelez la traversée de l'outil shell via la fonction exec

D : Utilisez une bibliothèque de classes écrite par d'autres



Réponse correcte :

A

Analyse des réponses : Utilisez IteratorAggregate pour ouvrir le fichier et parcourez-le ligne par ligne en déplaçant le pointeur, quelle que soit la taille du fichier. L'utilisation de file_get_contents pour traiter des fichiers volumineux peut facilement provoquer un débordement de mémoire PHP ; l'appel à exec créera des processus supplémentaires et affectera les performances ; la qualité des bibliothèques de classes écrites par d'autres peut ne pas être élevée.

11. Laquelle des options suivantes n'est pas un principe que les modèles de conception devraient suivre ?

A : La composition vaut mieux que l'héritageB : Programmation pour les interfacesC : Réduisez le couplage autant que possible

D : Essayez d'utiliser une syntaxe haute performance



Réponse correcte :

D

Analyse de la réponse : Le modèle de conception se concentre sur la maintenabilité et la réutilisabilité du code, l'option D n'est pas les points clés sur lesquels se concentrer dans les modèles de conception.
12. Laquelle des expressions suivantes concernant le retour en arrière est fausse ?

A AB.LMN correspondant à ABCDEFLMNGHIJKLMN B AB.?lmn dans ABCDEFLMNGHIJKLMN dans ABCDEFLMNGHIJKLMN correspondant à ABCDEFLMN C abcdefflmn C AB ?? lmnghijklmn D.*lmn correspond à abdeflmn


dans abcdeflmnghijklmn Bonne réponse :

D

Analyse des réponses : D est une correspondance gourmande , donc le résultat correspondant devrait être abcdeflmnghijklmn

13. Si la structure syntaxique try catch final est utilisée dans la fonction, où le retour doit-il être écrit ?

A : enfin en B : essayer en C : attraper en D : n'importe où


Bonne réponse :

A

Analyse de la réponse : Le final continuera à s'exécuter après le retour dans try S'il y a également un retour dans final, la valeur de retour finale sera. la valeur du retour en fin de compte.

14. Les déclarations suivantes concernant NOSQL sont incorrectes :

A : Redis prend en charge les chaînes, les hachages, les listes, les ensembles et les structures de données telles que ensembles ordonnés, actuellement Redis ne prend pas en charge les transactions. B : MongoDB prend en charge le théorème AP dans CAP et MySQL prend en charge CA dans CAP, qui prennent tous en charge l'existence impossible. C : MongoDB peut insérer directement des données sans créer au préalable une structure de collection. Actuellement, MongoDB ne prend pas en charge les transactions. D : Memcache prend en charge à la fois le protocole TCP et le protocole UDP. Nous pouvons stocker la session PHP dans Memcache.


Réponse correcte :

A

Analyse de la réponse : Redis prend en charge les transactions.

15. Quelle affirmation concernant le mécanisme de verrouillage Innodb est fausse ?

A : Innodb fournit deux mécanismes de verrouillage : le verrouillage de la table et le verrouillage des lignesB : Le verrouillage de la table d'Innodb sera déclenché lorsque la table change C : Sous Innodb Lors de la mise à jour, des verrous exclusifs seront automatiquement ajoutés aux lignes impliquées et une copie miroir sera créée. À ce moment, lors de la sélection, les données de la copie miroir seront interrogéesD : La lecture ne sera pas affectée dans l'état de verrouillage de ligne Innodb. , mais l'écriture sera affectée (données impliquées)


Réponse correcte :

A

16. pour créer un per- Exécuter la commande crontab toutes les 3 minutes de 01h00 à 04h00 le mercredi ?

A: 1,4 3 /bin/bash /home/sijiaomao/ok.sh
B:/3 1,4 3 /bin/bash /home/sijiaomao/ok.sh
C:/ 3 1-4 3 /bin/bash /home/sijiaomao/ok.sh
D:/3 1-4 * /bin/bash /home/sijiaomao/ok.sh

Correct Réponse : C

Analyse de la réponse : A : Exécuter toutes les minutes à 1h04 tous les mercredis B : Tous les mercredis à 1h04 Exécuter une fois tous les 3 minutes C : Répondre aux exigences D : Exécuter une fois toutes les 3 minutes à 1h04 tous les jours

17. Avant la division, de nombreuses listes et pages de détails dans le système requises Les données peuvent être complétées via la jointure SQL. Après le fractionnement, la base de données peut être distribuée sur différentes instances et différents hôtes, et la jointure deviendra très problématique. Laquelle des méthodes suivantes ne constitue pas une solution efficace à ce problème ?

Une table globale, certaines tables dont tous les modules du système peuvent dépendre sont enregistrées dans chaque bibliothèque.
Le champ B est redondant. Alors que le « Identifiant du vendeur » est enregistré dans le « Tableau de commande », le champ « Nom » du vendeur est également redondant, de sorte que lors de l'interrogation des détails de la commande, il n'est pas nécessaire d'interroger « Utilisateur vendeur). Tableau".
La réplication maître-esclave C sépare la lecture et l'écriture de la base de données.
D Synchronisation des données, la table tbl_a de la base de données A est régulièrement associée au tbl_b de la base de données B, et la table spécifiée peut être synchronisée entre maître et esclave à intervalles réguliers.

Bonne réponse : C

Analyse de la réponse : La réplication maître-esclave sépare la lecture et l'écriture de la base de données. Il ne peut qu'étendre la simultanéité de lecture, mais ne peut pas atténuer le problème des jointures entre bases de données.

18. Concernant le modèle d'E/S du réseau, lequel des énoncés suivants est correct ?

A.Select est plus rapide qu'Epoll
B.nginx utilise le modèle select
C.apache prend en charge la commutation entre select et epoll
D epoll peut prendre en charge davantage. concurrence

Réponse correcte : D

Analyse des réponses : Un epoll est plus rapide. B nginx utilise le modèle epoll. C apache ne prend en charge que select

19. Lorsque PHP est exécuté, il y a le processus d'exécution suivant : Scanning (Lexing) - Compilation - Exécution - Analyse, dont les significations sont :

A : Convertissez le code PHP en fragments de langage (jetons), convertissez les jetons en expressions simples et significatives, compilez les expressions en Opocdes et exécutez les Opcodes de manière séquentielle
B : Convertissez le code PHP en Convertir en fragments de langage (Jetons), convertissez les jetons en expressions simples et significatives, exécutez les Opcodes dans l'ordre, compilez les expressions en Opocdes
C : Convertissez le code PHP en fragments de langage (Jetons), convertissez les expressions Compilez en Opocdes, exécutez les Opcodes séquentiellement et convertissez les jetons en expressions simples et significatives
D : Convertissez le code PHP en fragments de langage (Tokens), compilez des expressions en Opocdes et convertissez les Tokens en expressions simples et significatives, exécution séquentielle des Opcodes

Corriger. réponse : C

Analyse de la réponse : La bonne réponse est C , l'ordre correct est : Numérisation (Lexing), Analyse, Compilation, Exécution

Recommandations associées :

1, 2018 – 2022 Questions d'entretien JavaScript front-end (Collection)

2. Interview frontale Jianghu

Ce qui précède est l'intégralité du contenu de cet article, j'espère que cela pourra aider tout le monde à apprendre l'aide. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.