


Comment interviewer un programmeur PHP qui travaille depuis un an
Cet article est juste pour partager mes sentiments et mes expériences au cours des dernières semaines. J'espère qu'il pourra apporter des gains à beaucoup comme moi ou aux débutants dans l'industrie Internet
Avant-propos
Un mois de mars misérable
J'étais tellement arrogant au début que j'ai passé une demi-journée à trier mon CV. Mon CV devrait encore être plutôt bon à ce moment-là (. Les articles suivants décriront en détail comment optimiser les CV.) Le lendemain, j'ai commencé à soumettre des CV sur Boss Direct Recruitment et Lagou. Les premières soumissions concernaient des postes de développement de 1 à 3 ans en PHP à Guangzhou. élevé, mais j'ai eu la chance de recevoir plusieurs invitations à des entretiens. Ensuite, je me suis réservé deux jours pour réviser. En fait, j'ai simplement recherché les questions d'entretien PHP en ligne et ouvert plus d'une douzaine d'onglets avec diverses questions d'entretien. C'est ce que j'appelle des « questions multiples ». , les choses que j'ai lu étaient si confuses que j'ai presque tout oublié le jour de l'entretien. Beaucoup d'entre eux ont juste mémorisé certaines réponses et ne les ont pas du tout comprises clairement. Voir les entretiens spécifiques ci-dessous pour la situation misérable.Préparation insuffisante - le premier tour n'a pas été bon
La première entreprise, Pazhou, Guangzhou, a un très bon environnement, de bons avantages sociaux et une entreprise spécialisée dans applications de beauté. C'est aussi l'opportunité d'interview que je regrette le plus. Il y avait un test écrit au début, et le contenu principal était un peu orienté vers le langage C. Il n'y avait presque pas de PHP, je me suis uniquement appuyé sur les vagues connaissances de l'université pour rédiger certaines réponses, j'ai oublié l'heure précise d'un test. pendant ce temps, je n'entrerai donc pas ici dans les détails du contenu de l'épreuve écrite. Principalement la première série d'entretiens :- La première question : il existe 5 types de données de Redis, et je n'ai répondu qu'à une seule chaîne.
- Deuxième question : Savez-vous comment Redis implémente l'implémentation des données et synchronise la base de données ? Je ne connais même pas le type de données, je peux seulement vous dire que ce n'est pas clair et que je ne l'ai jamais utilisé.
- La troisième question : Si la base de données est volumineuse, comment l'optimiser ? Ma réponse : faites du bon travail d'indexation et d'optimisation des instructions MySQL.
- Quatrième question : Quelles optimisations d'instructions MySQL avez-vous effectuées au travail ? Ma réponse : j'utilisewhere in (id1, id2...) pour l'optimisation. . .
En fait, durant l'année de développement PHP, je n'ai pas beaucoup utilisé Redis, j'ai simplement utilisé String (ça montre aussi que je suis vraiment bon dans ce domaine). En fait, où est Laravel ? Le préchargement ORM utilise Where In pour résoudre le problème N+1 (voir le manuel de Larave pour plus de détails), où in n'est pas plus efficace que la jointure gaucheEnfin, après discutant pendant près de 20 minutes, j'ai demandé aux RH de me poser Certaines questions, comme mon impression de l'entreprise, etc., devraient simplement suivre le processus, puis me demander de revenir en arrière et d'attendre une notification, et bien sûr il y aura il n'y aura aucune notification.
Je n'ai pas réussi les bases - j'ai échoué au deuxième tour
La deuxième compagnie d'assurance, une compagnie d'assurance à côté de l'université de Shenzhen, m'a porté le plus gros coup. Il n'y avait pas de questions de test écrites. Au premier tour, un jeune homme qui avait à peu près le même âge que moi est venu pour l'entretien. Les questions posées étaient essentiellement des questions d'entretien provenant d'Internet, comme la différence entre TCP. et udp, poignée de main à trois, la différence entre inclure/exiger, etc. J'ai essentiellement répondu à toutes. Puis une personne aux cheveux relativement fins et plus expérimentée est venue m'interviewer :- Mon CV mentionnait une connaissance liée au JWT, il m'a donc demandé de décrire des choses spécifiques. La différence avec la séance, etc. Le projet a pris du temps, alors je lui ai simplement parlé de JWT, mais ce n'était évidemment pas suffisant pour le satisfaire, alors j'ai continué à demander jusqu'au niveau le plus bas, à ce moment-là, j'étais très paniqué et je ne m'en souvenais même pas.
- Comment les frameworks PHP implémentent-ils le chargement automatique des fichiers ? J'ai répondu à la méthode magique __autoload and include, et l'autre partie m'a demandé d'être plus précis, y a-t-il autre chose ? Je n'arrive vraiment pas à penser à
- pour écrire une liste chaînée, n'est-ce pas ? Ne le fera pas. . .
En fait, concernant la question JWT, l'intervieweur ne l'a probablement jamais utilisée. Le serveur a en fait une clé privée Chaîne secrète pour la signature, afin d'obtenir l'effet recto verso. cryptage, décryptage et vérification. Le deuxième problème devrait être qu'il existe également un spl_autoload_register qui peut être utilisé pour enregistrer plusieurs fichiers
La troisième liste chaînée, je regrette de ne pas avoir bien appris les structures de données à l'université, je vais devoir le faire. rattrapez-le plus tard
Enfin, l'intervieweur a directement donné le résultat : Je suis désolé, le vôtre ne convient pas à notre entreprise. J'espère que vous pourrez compléter les connaissances de base à l'avenir. sachez simplement comment l'utiliser, mais sachez aussi pourquoi il peut être utilisé de cette manière. Même si ce fut un coup dur, c'est cette interview qui m'a fait prendre conscience de moi-même et j'ai réalisé que je manquais trop de connaissances et que mes bases étaient trop pauvres.
J'aime toujours ce genre d'entretien où les résultats sont donnés directement.
Pratique insuffisante, connaissances trop étroites - pas très directes
La troisième entreprise, l'intervieweur est un grand homme, il était un ami de Han Tianfeng, il est très gentil et gentil. Il n'y a pas eu de test écrit ni d'auto-présentation. Ils m'ont principalement interrogé sur mon expérience professionnelle. Ce qui m'a le plus impressionné était : ai-je déjà capturé un paquet, quels outils ai-je utilisé, ma compréhension de TCP et si j'ai utilisé un langage pour le faire. implémenter le processus TCP. . . Malheureusement, je ne l'ai jamais pratiqué. Mes connaissances sont trop limitées. Après avoir discuté pendant 20 minutes, je suis parti et il n'y a eu aucun résultat.
Offre de Bai Gaoxing -- J'ai de la chance
La quatrième entreprise est également à Shenzhen L'entreprise que j'ai vue sur le site de recrutement n'est pas petite, avec 100-. 500 personnes. Mais l'offre a été faite par une autre société, après vérification en ligne, il s'est avéré qu'il s'agissait d'une filiale, quelque peu externalisée. Il n'y a pas eu de test écrit. Un jeune homme m'a interviewé et m'a principalement posé des questions sur certaines informations sur Laravel, que l'on trouve généralement dans les manuels. Mes réponses n'étaient pas très complètes. Enfin, il y a une question : quels modèles de conception connaissez-vous et quels sont les six principes ? Concernant les modèles de conception, je suis resté uniquement sur les modèles singleton et usine, et les six principes n'ont pas été entièrement répondus.
J'ai finalement été laissé passer de manière inattendue. Je pense que l'entreprise a un besoin urgent de personnel. Le salaire qu'on m'a proposé était tout à fait satisfaisant. J'ai pensé qu'après avoir passé des entretiens avec de nombreuses entreprises, l'une d'elles m'a finalement accepté et a accepté d'aller travailler la semaine prochaine. La première chose que j'ai faite à mon retour dans l'entreprise le lendemain a été de demander à notre directeur de démissionner dans une semaine, mais on m'a dit que le processus de transfert prendrait en fait un mois. , j'avais pratiquement tout remis, et le projet n'était pas grand, mais la raison invoquée par l'entreprise est que si vous n'avez pas de transfert de travail, cela signifie que vous ne faites rien aux heures ordinaires et que votre travail n'est pas saturé, ce qui affectera le recrutement ultérieur. Cela m'a complètement dérouté. D'une part, je n'ai pas osé démissionner à l'avance. Beaucoup de gens étaient dans la crise d'Internet, alors ils ont attendu d'avoir reçu l'offre avant de parler de démission. cela doit passer par un processus d'un mois. Le nouveau L'entreprise a continué à arriver au travail une semaine plus tard, et il n'y avait pas besoin de discuter de quoi que ce soit. . . Finalement, j'ai renoncé à l'offre. D'une part, je pensais que cette société était quelque peu externalisée. D'autre part, utiliser le nom d'une filiale pour faire une offre m'a toujours un peu inquiété. lors de mon précédent stage, il y avait une entreprise qui recrutait sous le nom de Tencent. Plus tard, on a découvert qu'il s'agissait d'un agent Tencent Automobile. . .
Fin
Voici les entreprises que j'ai interviewées en mars et qui étaient assez impressionnantes. Les bonnes questions conduisent à des opportunités gaspillées. Je voudrais donc avertir tout le monde ici que si vous décidez de partir, vous devez être parfaitement préparé. Ce type de préparation ne doit pas être simplement une soi-disant mise à jour des questions d'entretien. J'écrirai un autre article à l'avenir. pour décrire en détail les nombreuses fois où j'ai échoué à l'entretien, comment passer deux semaines pour le faire - "avoir un plan, être efficace et avoir un excellent CV", et enfin réussir à obtenir votre offre préférée.
Ayez un plan——Si vous planifiez vos objectifs d'apprentissage quotidiens, il comprend principalement près de 10 aspects de connaissances tels que le système d'exploitation, le réseau informatique, MySQL, etc. .
Haute efficacité - Je vais présenter comment je me souviens efficacement de certaines connaissances de base et couvrir les points de connaissance de l'entretien autant que possible
Excellent CV——L'entretien est la première étape, et le CV est la plus critique. Je vais vous présenter comment j'optimise mon CV
Ici. Il devrait y avoir des centaines de CV soumis en mars. Sur la douzaine d'entreprises qui ont donné leur avis, je pense que seules sept ou huit ont été interviewées. À l'exception des quelques-unes mentionnées ci-dessus, les autres étaient toutes des entreprises d'externalisation ou des start-up. Certaines personnes m'ont même approché. et m'a demandé de démarrer une entreprise avec eux, et des stagiaires front-end développent ensemble de petits programmes (rire et pleurer). Bref, la situation actuelle du marché n'est pas bonne, mais il y a encore une chance d'obtenir un entretien. Si vous venez d'obtenir votre diplôme, il est préférable de postuler au recrutement scolaire. Si vous êtes comme moi et avez un ou deux ans de travail. expérience, tu devrais bien te préparer au lieu de te plaindre. L’environnement n’est pas bon et je veux juste arrêter de le faire. Bien sûr, certains experts des niveaux 985 et 211 devraient trouver de grandes usines ou passer les examens d'entrée au troisième cycle, avec des objectifs plus ambitieux. Je suis une personne qui considère davantage la réalité. À l'heure actuelle, il m'est très difficile d'aller dans de grandes usines. en raison de ma force et de ma formation, je ne peux donc travailler que dans des petites et moyennes entreprises dont les conditions ne sont pas trop mauvaises et qui cherchent à se développer. Les programmeurs doivent utiliser des actions pratiques pour faire leurs preuves, être terre-à-terre et ne pas être trop ambitieux ni trop bas. C'est mon opinion personnelle.
Recommandations de didacticiels associées :
Tutoriel vidéo sur les questions d'entretien pratiques PHP
Le dernier didacticiel vidéo 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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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.

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

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.

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

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,

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

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 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.
