FizzBuzz 2.0: Questions pragmatiques pour les programmeurs



L'année derniÚre, plus de 100 000 programmeurs ont répondu au quiz Triplebyte. Les statistiques ci-dessous montrent que cinq questions à choix multiples distinguent facilement les vrais ingénieurs logiciels des autres (les questions sont sélectionnées par apprentissage automatique sur la base de programmeurs «réussis» et «infructueux» pré-marqués - environ Per.)

Comme le fameux test Fizz BuzzIl y a dix ans, ces questions sont triviales pour quiconque est professionnellement impliquĂ© dans le dĂ©veloppement de logiciels, mais qui dĂ©concerte gĂ©nĂ©ralement toute autre personne. Les questions ci-dessous sont les cinq premiĂšres de notre test, et 98% des ingĂ©nieurs qui rĂ©ussissent rĂ©pondent correctement Ă  au moins quatre sur cinq. Je suis sĂ»r que si vous ĂȘtes un ingĂ©nieur-directeur qui mĂšne une entrevue, vous ne commencerez pas Ă  faire une offre Ă  quiconque en dessous de ce niveau.

résultats


Avant d'examiner les questions, voici les données sur la réussite des ingénieurs basées sur le nombre de réponses correctes:



Nous appelons un programmeur «performant» qui a reçu au moins une offre de travail dans une entreprise qui correspond à ses préférences personnelles. Statistiques normalisées pour le groupe 5/5. Ensemble, le groupe d'ingénieurs qui a répondu correctement à 4 ou 5 questions représente 98% de tous les utilisateurs réussis de notre plateforme. En revanche, 3/5 ou moins indique un échec presque certain.

Des questions


Voici les cinq premiĂšres questions du quiz «universel» le plus populaire. Si vous passez l'un de nos tests spĂ©cialisĂ©s pour ML, Data Science, DevOps, Front-End, iOS ou Android, alors il y aura d'autres questions, mais le principe est le mĂȘme.

question 1


Quelle instruction SQL récupÚre les données d'une table?

Choisissez la bonne réponse:

○ RECHERCHE
○ LIRE
○ RECHERCHE
○ SÉLECTIONNER

Cette question demande essentiellement: "Avez-vous dĂ©jĂ  vu une requĂȘte SQL auparavant?" 80% ont rĂ©pondu correctement .

question 2


Ajoutez la ligne de code manquante.



Choisissez la bonne réponse:

○ max_num += num
○ max_num += 1
○ num = max_num
○max_num = num

Logique impérative de base. Répond correctement 76% .

Si vous ĂȘtes prĂ©occupĂ© par ce que nous demandons dans la syntaxe Python, alors ce n'est qu'un pseudo-code pratique pour cet exemple, et tout programmeur peut choisir la bonne rĂ©ponse, mĂȘme s'il n'a jamais vu Python.

question 3


Pourquoi la mise en cache est-elle utilisée pour améliorer les performances de lecture?

Choisissez la bonne réponse:

○ Il accĂ©lĂšre la deuxiĂšme lecture et les suivantes
○ Il accĂ©lĂšre les lectures paires
○ Il accĂ©lĂšre les lectures impaires
○ Il accĂ©lĂšre la premiĂšre lecture

La mise en cache se pose dans de nombreux contextes, c'est fondamentalement un concept universel de l'informatique et incroyablement pratique dans le développement de logiciels de tous les jours. 89% ont répondu correctement . Hou la la! La question la plus simple sur cinq.

Question 4


Lequel des éléments suivants est utilisé pour maintenir une session connectée lorsqu'un utilisateur affiche plusieurs pages sur un site Web?

Choisissez la bonne réponse:

○ Cookies HTTP
○ Keep-alive HTTP
○ Objets Javascript globaux
○ WebSockets

"Savez-vous comment fonctionnent les sites?" 80% ont répondu correctement.

Question 5


Quelle est la valeur de z aprÚs l'exécution du code suivant?



Choisissez la bonne réponse:

○ 'foo'
○ 'baz'
○ undefined
○'bar'

"Pouvez-vous lire le code?" Présenté ici en syntaxe JavaScript, le concept de dictionnaire / hachage / tableau associatif / carte est familier à tous ceux qui ont déjà travaillé avec quelque chose de plus avancé que Basic.

Seulement 62% ont répondu correctement . C'est de loin la plus difficile des cinq questions. Personnellement, je suis trÚs surpris que cette question soit plus compliquée que la question n ° 2, mais un résultat statistiquement significatif a été obtenu (p <0,001). Si vous avez une idée de la raison pour laquelle nous perdons tant de personnes à ce sujet, faites-le nous savoir.

Les données


Parmi les plus de 100 000 ingénieurs logiciels qui ont réussi ce test l'année derniÚre, voici la distribution des résultats réels du quiz:



Étonnamment, seulement 42% des participants ont rĂ©pondu correctement Ă  toutes les questions ! Les 67% les plus performants ont rĂ©pondu correctement Ă  au moins quatre questions (et ces 67% reprĂ©sentent 98% des utilisateurs rĂ©ussis sur notre plateforme).

Le succÚs dans chacune des cinq questions n'est pas un facteur indépendant. Si vous multipliez simplement les probabilités des questions individuelles, vous obtenez 27%, mais 42% répondent en fait à toutes les questions. C'est une fois et demie plus que prévu si chaque question était une variable aléatoire indépendante. En fait, un modÚle simple, considérant tous les problÚmes comme indépendants, implique un pic de 4/5, ainsi que plus de poids dans une cellule 3/5 que ce que nous avons vu dans les données réelles:



Évaluez-vous


Si vous avez répondu correctement à au moins quatre des cinq questions ci-dessus sans aucune aide, vous avez réussi FizzBuzz 2.0 et devriez probablement essayer le test Triplebyte (si le résultat est 3/5 ou moins, il est peu probable que nous vous aidions avec quoi que ce soit. )

AprĂšs avoir rĂ©ussi le test, vous verrez vos rĂ©sultats et vous pourrez crĂ©er un profil qui permettra aux entreprises technologiques de vous contacter lorsqu'elles auront des opportunitĂ©s correspondant Ă  vos prĂ©fĂ©rences, par exemple, "taille de l'entreprise 500+", "uniquement travail Ă  distance", "lieu de travail inclusif" , "Salaire minimum X", "Animaux autorisĂ©s au bureau", peu importe. L'employeur actuel est empĂȘchĂ© par dĂ©faut de consulter votre profil.

All Articles