Sec - préparation avant l'entrevue sur

La semaine dernière, j'ai interviewé des candidats à forte intensité Plusieurs expérience de travail Java back-end dans 3-5 ans. Ma norme n'est pas vraiment compliqué: le premier peut fonctionner, la deuxième base Java est meilleure, et le troisième à se familiariser avec une partie du cadre distribué, je crois que lorsque d'autres entreprises à recruter des développeurs juniors, cette norme devrait être surface brillante.

Je sais aussi que beaucoup de candidats la possibilité de fait pas mal, mais pas prêt ou ne pas dire lors de l'entrevue, une telle personne peut en effet atteindre les attentes après que l'équipe dans le travail, mais il pourrait ne pas passer l'entrevue, mais l'intervieweur toujours seulement être jugée sur la base d'une situation d'entrevue.

Mais la réalité est, la plupart des gens sans doute ne pas préparer avant l'entrevue, ou préparer la méthode ne doit pas être traitée. Vous savez, nous travaillons habituellement plus sur l'entreprise, ne peut pas entrer en contact avec un grand nombre d'algorithmes, structures de données, le code sous-jacent tel entretien demandera au point de question, autrement dit, point de match de préparation à l'entrevue et généralement les principaux points est très faible.

Comme l'enquêteur, je ne peut être décidée en fonction des résultats de l'entrevue les candidats à répondre. Cependant, avec les gens pour faciliter leur convenance, donc dans cet article, je vais vous présenter pour préparer les techniques d'entrevue par un certain nombre de problèmes communs. Nous sommes sans aucun doute après soupir: la bonne approche est pas difficile de se préparer à l'entrevue d'abord, la deuxième fois avec pas trop.

1, le cadre est la clé, mais vous ne laissez pas les gens se sentent quelqu'un cottage est un code autre

Avant l'entrevue, je vais lire le CV pour voir les candidats dans le cadre de l'expérience du projet, la mise en place d'une partie des candidats du projet, je vais me concentrer sur le cadre de l'expérience récente des candidats, plus populaire est le SSM.

Toutefois, les candidats travaillent habituellement en cinq ans, la plupart d'entre eux ne sont en mesure de quelqu'un « chalet » Code d'autre, qui peut être la base du cadre existant, selon les autres à processus d'écriture, l'expansion de nouveaux modules fonctionnels. Par exemple, pour écrire un stock en attente de modules fonctionnels, imitent le processus de commande existant, avant vers l'arrière, puis à la base de données, suivez à nouveau écriture de costume, jusqu'au point de se débarrasser des fonctions liées au code.

En fait, chacun d'entre nous sont tellement plus, mais dans l'interview, si vous ne montrent que cette capacité, et la plupart des gens moins le même niveau, et à ce stade ne serait pas en mesure de refléter votre avantage.

Nous savons que si vous voulez un cadre de SSM, la plupart des projets il y aura des points de douleur. Par exemple, la performance de base de données est faible, ou le module de service est plus complexe, plus que l'utilisation concurrency Spring MVC dans le contrôleur ne peut pas répondre aux besoins du saut. Je vais généralement prendre l'initiative de demander: Est-ce que vous écrivez le code de l'entreprise, sauf en conformité avec le cadre actuel, mais aussi de faire les changements?

J'ai entendu la réponse: augmenter le cache Redis à éviter fréquemment appelé certains des mêmes données. Sinon, MyBitas le xml dans, les instructions select où les conditions isNull, à savoir la valeur a augmenté une condition où, celui-ci où une éventuelle augmentation d'une requête sans isnull éviter la déclaration lorsqu'un paramètres entrants est nulle, faire une analyse complète de la table. Ou, dit simplement, une grande quantité de données renvoyées par l'asynchrone back-end, beaucoup de temps, je vais tourner dans le projet le retour asynchrone maximum de temps ou d'information retour à faire le processus de compression, un rendement accru et les performances du réseau.

Pour cette question, je ne me soucie pas d'entendre quelle réponse, je me soucie seulement des caractères ne correspond pas à la réponse logique. Tant que la réponse générale, je donnerai « a sa propre expérience dans le niveau cadre, il y a une certaine compréhension », sinon, je ne donnerai « ne peut écrire du code-cadre sous la direction du chef de projet, à savoir beaucoup sur le cadre lui-même ".

En fait, en préparation à l'entrevue, a résumé le cadre principal de points n'est pas difficile, je ne crois pas à faire tout ce projet accumulé n'a pas, aussi longtemps que vous le dites, on peut dire, à cet égard, vous retroussons près de 7 pour cent de la concurrence personne.

2, ne regardez pas seulement la version autonome du cadre, une bonne compréhension de certains distribués

En outre, dans la description du projet dans le cadre de la technologie, le meilleur que vous à nouveau avec une technologie distribuée. Ci-dessous j'ai énuméré quelques-unes des technologies distribuées, nous pouvons préparer.

1, proxy inverse, la nginx de configuration de base, par exemple, comment définir les règles en lua langue, comment définir la collant de la session. Si oui, regardez certains des nginx sous-jacente, comme le protocole, l'ensemble du cluster, le basculement et autres.

2, appel à distance Dubbo aspects, peut regarder Dubbo Zookeeper et l'intégration des connaissances, puis pas en profondeur pour comprendre les protocoles de transport et sérialisation sous Dubbo le fond.

3, l'aspect de la file d'attente de messages, regard KAFKA utiliser une composante ou, il suffit de regarder point peut configurer, mettre en place un groupe de travail, puis autre point, le cluster peut regarder Kafka, de manière persistante, et le message est envoyé le cadre d'une interception longue ou courte.

Ce ne sont que trois composantes à titre d'exemple, nous pouvons aussi regarder cache Redis, le sous-tableau cadre de journal, sous-bibliothèque MyCat et autres. Façon de se préparer pour les deux catégories, la première est de dire comment utiliser, ce qui est relativement simple, dans le fichier de configuration peut être intégré dans un module fonctionnel, et le second est un code sous-jacent peut être lu correctement, comprendre en vertu du présent accord, groupe connaissances avancées et le basculement et similaires.

Si vous obtenez au rythme des composants distribués sous-jacents à l'entrevue, l'évaluation ira mieux, et cette « compréhension approfondie du cadre sous-jacent » ou « cadre assaisonné », de sorte que même si la ligne rencontre également des architectes et plus sans oublier le développement avancé.

3, bases de données, ne savent pas CRUD, vous devez comprendre l'optimisation des performances

Dans le projet actuel, la plupart des programmeurs utilisent ne peuvent être CRUD, lorsque nous utilisons mybatis, cette situation est plus fréquente. Mais si vous avez cette performance entrevue, votre capacité à estimer et concurrents presque le même.

À cet égard, vous pouvez préparer les compétences suivantes.

1, aspects avancés de SQL, tels que le groupe en ayant des connexions à gauche, la sous-requête (avec in), des colonnes de transfert de ligne et autre utilisation avancée.

2, selon les termes de la forme construite, vous pouvez envisager votre projet est d'utiliser trois ou paradigme anti-paradigme, quelles sont les raisons?

3, en particulier, l'optimisation, vous pouvez aller de l'avant et voir comment améliorer la façon dont les instructions SQL point par l'exécution du plan, ou d'autres moyens d'améliorer la performance énergétique de SQL (telles que l'indexation, etc.).

4, si vous avez la possibilité de se sentir, vous pouvez également préparer des compétences sous-tables MySQL Cluster, sous-bibliothèque MyCat. Par exemple, pour obtenir un équilibrage de charge MySQL par le biais LVS + Keepalived, MyCat configuré. De plus, si possible, voir aussi une partie du code sous-jacent associé.

Même si vous transférez une performance de trois points en général, au moins à peu près au-delà de candidats généraux, surtout quand vous avez très bien dans l'optimisation SQL, alors vous êtes dans l'interview développement avancé, le niveau de base de données doit être inférieure, même si vous devez d'abord Four Points est également très bonne réponse, alors félicitations, votre capacité à des bases de données et même atteint le niveau de l'architecture primaire.

4, Java aspects de base, les données sur la structure et l'optimisation des performances prêts aux questions de visage

Java pièce de base, les questions de visage en ligne beaucoup, mais au-delà, nous devons également mettre l'accent sur la collecte (c.-à-structures de données) et multithreading ces deux, sur cette base, nous pouvons préparer des modèles de conception et des machines virtuelles rhétorique.

Ci-dessous, une partie de la question que je pose habituellement des colonnes:

1, String a = "123"; chaîne b = "123", ce qui a == b le résultat? Cela comprend beaucoup de mémoire, les connaissances, les méthodes de stockage String.

2, HashMap dans la méthode et l'égalité des méthodes hashcode avez-vous besoin de réécrire? Si vous ne réécrivez pas ce qui va se passer? À cet égard, nous pouvons en apprendre davantage sur HashMap (même ConcurrentHashMap) de la mise en uvre sous-jacente.

3, la mise en uvre sous-jacente ArrayList et LinkedList de ce qui est la différence? Quelles sont leurs occasions respectives demande? On peut aussi comprendre sous le code sous-jacent correspondant.

4, mot-clé volatile quel effet? Donnant ainsi, nous pouvons comprendre la différence dans le fil de la mémoire et de la mémoire tas.

5, CompletableFuture, c'est là de nouvelles fonctionnalités JDK1.8, comment obtenir un contrôle d'accès concurrentiel multithread par elle?

6, JVM, de nouveaux objets sont dans quelle région? De plus en profondeur regarder, demandez comment visualiser et optimiser la mémoire de la machine virtuelle JVM.

7, Java statique et proxy dynamique Quelle est la différence? Pour la meilleure combinaison du code sous-jacent.

Grâce à ces problèmes, en fait, non seulement je reste au niveau, par exemple « utilisation », je ne demanderai pas comment mettre les éléments dans le ArrayList. Comme vous pouvez le voir, les problèmes comprennent « multi-thread », « optimisation JVM », « objet de structure de données code sous-jacent » et d'autres détails, vous pouvez aussi apprendre mentionnés ci-dessus par analogie, en regardant des connaissances de haut niveau, pour préparer d'autres questions d'entrevue similaires.

Nous savons que le cadre actuel de développement Java Web est basé, alors pourquoi demander des connaissances Java de base de celui-ci? J'ai une expérience personnelle de ce sujet.

Avant mon équipe, je l'ai vu deux personnes, on va travailler, la performance spécifique est le noyau utilisera l'API de base Java, et il n'y a pas en profondeur la compréhension des souhaits (estimations ne savent pas comment comprendre), une autre généralement se penchera spécifiquement sur une connaissance approfondie de la machine virtuelle Java simultanée ou similaires. Au cours d'une demi-année après la capacité de ce dernier de mettre à niveau rapidement au développement avancé, en raison de la connaissance de base de JAVA pour comprendre très complet, alors regardez certains des composants distribués sous-jacentes pour atteindre pas de gros problème. Le premier, a été la duplication des efforts, la capacité ne coincé dans le niveau « fonctionnera ».

En réalité, l'interview, si vous n'êtes pas familier avec les connaissances de base Java, développement avancé rose estimation est à l'abri, et encore moins un niveau d'entretien d'embauche architecte.

5, les termes Linux, au moins apprendre à regarder le journal pour résoudre les problèmes

Si un candidat peut prouver qu'il a « dépannage » et la capacité de « résoudre le problème », ce qui est certainement un point positif, mais comment prouver?

La plupart des projets Internet sont déployés sur Linux, c'est-à-dire, le journal est sous Linux, résumée ci-dessous quelques OS Linux réelle.

1, par la commande moins de fichiers ouverts par Maj + G pour atteindre le fond du dossier, puis à travers? + Moyen clé pour rechercher des informations sur la clé.

2, par des mots-clés de recherche grep, l'utilisation spécifique, le nom du fichier mot-clé grep, si vous voulez regarder les résultats en deux mots, utilisez grep nom de fichier mot-clé 1 | 2 mot-clé --color. Enfin --color est mis en évidence des mots-clés.

3, par vi pour modifier le fichier.

4, par chmod aux autorisations de fichiers définis.

Bien sûr, il y a des commandes Linux plus pratiques, mais dans le processus d'entrevue réelle, de nombreux candidats ne savent même pas une commande linux. Ou est cette phrase, même si vous connaissez une très basique, mais aussi plus forte que la moyenne.

6, la section lecture code sous-jacent, comme des objets bonus

Comment prouver leur connaissance d'une très compréhensive? Que par le code sous-jacent pour illustrer. J'étais beaucoup d'expérience de travail et les programmeurs dans les cinq années de communication, beaucoup de gens trouvent qu'il est difficile? En effet, si vous voulez comprendre le code sous-jacent en lisant les composants distribués, et que la difficulté est pas petit, mais si le code sous-jacent dans le cadre de, pas difficile à comprendre.

1, ArrayList, code sous-jacent de LinkedList, contient une implémentation basée sur la baie et liste chaînée, si nous pouvons cette expansion, « traversé par un recenseur », etc., peut certainement se prouver.

2, correspondent directement HashMap structure de données de table de hachage, le code sous-jacent HashMap de, contient les hashcode de vente, comme opération GET, même dans le ConcurrentHashMap, la logique contient également un verrouillage. Je crois que si tout le monde dans l'interview, jetez un oeil à en termes de ConcurrentHashMap, dit-il combiné la peinture sur papier, il doit être capable de vaincre l'intervieweur.

3, l'agent peut regarder statique et dynamique mise en uvre proxy, plus en profondeur regarder, vous pouvez regarder dans le code de mise en uvre Spring AOP.

4, peut-être spirng du CIO sous-jacent et MVC code d'implémentation plus difficile à comprendre, mais nous pouvons dire que les principales catégories, en fonction de leur mise en uvre dans le cadre du processus critique dit.

En fait, le code sous-jacent ne peut pas être plus que prêt, mais sans s'y limiter à des zones où, par exemple, la collection basée sur l'arbre rouge-noir TreeSet, basé sur le cadre open source NIO même Dubbo distribué des composants, peuvent être préparés. Et vous voudrez peut-être pas revenir sur tous les sous-jacents (en fait très difficile à faire) lorsque vous êtes prêt, aussi longtemps que vous pouvez combiner plusieurs classes et méthodes importantes, pour en faire des idées claires (comme HashMap clairement la rapidité situé par hashCode).

Ainsi, dans l'interview, comment trouver une bonne occasion de parler au-dessus du code sous-jacent vous prêt? Dans l'interview, toujours posé des questions sur la collecte, le cadre Spring MVC des connaissances, etc., lorsque vous répondez, en passant, « Je comprends cette mise en uvre sous-jacente », alors l'intervieweur demandera, alors vous pouvez cela.

Ne pas sous-estimer l'aide des candidats, une fois que vous dites, tant que le sens du lieu, puis au moins obtenir une évaluation « professionnelle positif Ken », si la description est claire, l'évaluation sera mis à jour à « compétences familières de base Java (ou Spring MVC), et une base plus solide ». Vous savez, l'entretien, très peu de gens peuvent dire clairement le code sous-jacent, de sorte que vous lancez ce sujet, même si les résultats finaux ne répondaient pas aux attentes, l'intervieweur ne diminuant ainsi votre évaluation. Donc, cela est tout à fait prêt « Il n'y a rien comme » faire le commerce d'argent.

7, dans l'ensemble, les compétences mentionnées ci-dessus intégré dans votre projet fait en

Au cours du processus d'entrevue, j'entends souvent quelques-unes des plus regrettable réponse, comme candidat pour les compétences d'optimisation SQL très convaincant, mais à la fin que ce soit le temps de maîtriser son habitude, ne pas utiliser dans le projet actuel.

Bien sûr, cela vaut mieux que pas beaucoup mieux, alors je vais écrire « dans les compétences habituelles d'optimisation SQL par le biais d'auto-apprentissage », mais si elle est pratiquée dans le projet, alors je vais écrire « compétences réelles d'optimisation de la base de données SQL. » Nous pouvons comparer les différences à deux, on est l'accent mis sur la théorie, on est capable de diriger les travaux. En fait, de nombreuses scènes, je ne crois certainement pas ne pas pratiquer des compétences dans réel projet d'optimisation SQL.

Dans ce cas, je veux vous dire est que, avant que vous avez pris beaucoup de travail (en fait, une méthode pour obtenir les directions, ils ne prennent pas beaucoup d'efforts) pour préparer beaucoup de compétences et de la rhétorique, et enfin vous devez mettre en uvre le projet réel.

Par exemple, vous avez eu l'expérience de dépannage mot-clé dans le journal requête Linux en vous décrivant pouvez prendre un avant projet où j'étais tellement sec. Encore une fois, vous regardez à travers le code sous-jacent, comprendre la différence entre TreeSet et HashSet et leur champ d'application, vous pouvez rappeler au titre du point avant de vous faire, s'il y a un scénario applique uniquement aux TreeSet? Si oui, alors vous pouvez décrire correctement la demande dans le cadre du projet, puis dire, en lisant le code sous-jacent, je comprends la différence entre les deux, mais la demande réelle, je vais utiliser un TreeSet, mais j'ai aussi fait un contraste spécial essai et jugé être plus élevé avec HashSet TreeSet que xx pour cent.

S'il vous plaît rappelez-vous, « l'expérience » doit être mieux que vaut le prix « expérience théorique », et la plupart d'entre vous connaissent l'expérience théorique, certainement utilisé dans votre projet. Donc, si vous venez de faire la sensation de l'intervieweur que vous ne « expérience théorique », il est trop perdre.

8. Résumé: Cet article plus sur les méthodes de préparation de l'entrevue

Questions Face ce document ne sont pas beaucoup, mais ce document n'a pas l'intention de donner trop de questions d'entrevue. De cet article, nous voyons plus se trouve dans de nombreux points de douleur interviewer les candidats.

L'intention de cet article est de laisser tout le monde Ne pas répéter les erreurs des autres, ce n'est pas, le papier donne aussi beaucoup de façon de se préparer pour une entrevue. Votre capacité supérieure probablement que d'autres, mais si vous vous préparez pour l'entretien et d'autres même, ou que vous avez pris au sec dans le projet en direct pour quelque chose, mais vous ne l'avez pas résumer les faits saillants du projet, puis l'intervieweur vraiment nous examinerons sur vous.

Méthodes et techniques mentionnées dans cet article, si vous pouvez aider, s'il vous plaît le transfert d'aide, ou cliquez sur le bouton ci-dessous pour « Papier recommandé », ou de participer à la discussion en commentant.

« VEUX UN » « nouvelles » 190617 éblouissante Hana, une nouvelle ouverture de jour par la beauté de petit clin d'oeil
Précédent
« BlackPink » « nouvelles » montrent ICN 190617 nouvelles de l'immigration chilienne, forum de divertissement Accueil deux fois montés à bord NAVER
Prochain
« TFBOYS « » Nouvelles Xi Yi 190617 éperlan mille vol Shanghai à Pékin, la menthe des aînés na
projet SpringBlade classe affaires d'optimisation mise à niveau est SpringCloud micro architecture de services
« EXO » « nouvelles » chaque jour 190617 nouvelle carte frapper, une petite foule ensemble jour après chantier
Spartak répression brutale d'un soulèvement contre Rome, et, finalement, des centaines de milliers de troupes anéanties l'esclavage
Pourquoi le pape de lancer les croisades? Il était si fou a duré près de 200 ans
Aqua Qingcheng: histoire magique de la photographie des enfants
mythe chinois de « ciel » Oracle « Heaven » et maintenant le jour est tout simplement pas la même chose
la mise en cache au démarrage du printemps basées sur les annotations icloud-cache
Sortie 16 jours au box-office de moins de 20 millions, les investisseurs perdent tout, Zhang Jin vraiment ne peut pas jouer le protagoniste
« Je suis moi, pas les mêmes feux d'artifice » contre-attaque de la marque traditionnelle
« Antidrogue 2 » Non Nick, il n'a pas d'importance, les trois films ont tous lui
Générateur d'ID distribué (algorithme de neige SpringBoot Edition)