paint-brush
Ces questions d'entretien de codage sépareront les pros des amateurspar@shcheglov
6,317 lectures
6,317 lectures

Ces questions d'entretien de codage sépareront les pros des amateurs

par Viktor Shcheglov3m2024/04/18
Read on Terminal Reader

Trop long; Pour lire

Les questions d'entretien de codage sont conçues pour aller au-delà des compétences techniques. Ils approfondissent le processus de réflexion d'un développeur, son approche de résolution de problèmes, ses capacités de travail en équipe et d'autres qualités cruciales. Ces questions ne s’adressent pas aux âmes sensibles. Les questions sont compilées par l'équipe Coding Interview Questionnaire de Coder.com.
featured image - Ces questions d'entretien de codage sépareront les pros des amateurs
Viktor Shcheglov HackerNoon profile picture
0-item

Questions d'entretien de codage


Salutations, amis développeurs !

Tout au long de ma carrière, j'ai mené plus de 100 entretiens avec des développeurs de tous niveaux, des développeurs juniors aux vétérans chevronnés. Et tu sais quoi? Pendant ce temps, j'ai élaboré une série de 10 questions délicates que je pose à chaque nouveau candidat.

Pourquoi? Eh bien, c'est simple : ces questions me permettent d'aller au-delà de la simple évaluation des compétences techniques de quelqu'un. Ils approfondissent leur processus de réflexion, leur approche de résolution de problèmes, leurs capacités de travail en équipe et d’autres qualités cruciales.

Êtes-vous prêt pour cette bataille intellectuelle ? Alors préparez-vous, car ces questions ne sont pas pour les âmes sensibles !


  1. Empêcher la modification simultanée d'articles

Supposons que vous implémentiez un système d'édition de revues dans lequel les éditeurs peuvent modifier des articles dans le panneau d'administration. Comment empêcheriez-vous deux éditeurs de modifier simultanément le même article et d'écraser les modifications de chacun ?


  1. Principes de déploiement sans temps d'arrêt

Quels sont les principes du déploiement sans temps d’arrêt, une approche qui déploie une application sans temps d’arrêt de service ? Comment y parvient-on ?


  1. Critiques de votre cadre préféré

Nommez les aspects de votre framework préféré que vous n'aimez pas ou qui ne fonctionnent pas comme vous le souhaiteriez. Expliquez comment et où ces problèmes surviennent et comment ils pourraient être améliorés.

4. Gestion des tâches Cron de longue durée

Que pourrait-il se passer si votre tâche cron, qui s'exécute toutes les minutes, commence à prendre plus d'une minute à s'exécuter ? Comment peut-on éviter cela ?

5. Dénormalisation des données dans les bases de données

Avez-vous déjà rencontré le besoin de dénormaliser des données dans une base de données ? Si oui, quel problème essayiez-vous de résoudre, à quels défis avez-vous été confronté et comment cela aurait-il pu être mieux fait ?

6. Se moquer des appels externes dans les tests

Si vous écrivez des tests, comment contourner le problème des appels externes effectués par le code que vous testez ? Considérons le scénario où les appels externes sont interdits sur CI (intégration continue). Pourquoi est-ce une bonne pratique ?

7. Synchronisation des modifications des e-mails avec des systèmes externes

Supposons que votre système implémente la fonctionnalité de modification des e-mails. Cependant, l'e-mail est également stocké dans un système externe, tel qu'un processeur de paiement, qui envoie des e-mails aux utilisateurs (mais les utilisateurs n'interagissent pas directement avec lui). Comment mettriez-vous en œuvre la synchronisation des e-mails avec le système externe ?


  1. Découverte des erreurs de production

Comment connaître les erreurs qui surviennent en production ? Vous appuyez-vous sur les rapports des utilisateurs ou avez-vous mis en place des mécanismes automatisés ?


  1. Conception d'une application de chat simple

Comment concevriez-vous une application de chat simple ? Vous pouvez interroger l'ingénieur backend sur la partie backend et l'ingénieur frontend sur la partie frontend. Il pourrait y avoir de nombreuses branches dans cette conversation.

10. Isoler les tests dans un environnement multi-utilisateurs

Comment l'isolement des tests est-il assuré lorsque plusieurs tests s'exécutent simultanément et accèdent à la base de données, la modifiant potentiellement ? Si votre framework ne fournit pas d'isolation, comment l'implémenterez-vous ou l'améliorerez-vous ?



Conseils supplémentaires :

Encouragez le candidat à développer son processus de réflexion et le raisonnement qui sous-tend ses réponses.

Évaluez leurs compétences en résolution de problèmes, leur capacité à penser de manière critique et leur connaissance des technologies pertinentes.

Évaluez leurs compétences en communication et en collaboration tout au long de l’entretien.