FizzBuzz 2.0: Pragmatische Fragen an Programmierer



Im vergangenen Jahr haben über 100.000 Programmierer das Triplebyte-Quiz abgeschlossen. Die folgenden Statistiken zeigen, dass fünf Multiple-Choice-Fragen echte Softwareentwickler leicht von den anderen unterscheiden (Fragen werden durch maschinelles Lernen basierend auf vormarkierten „erfolgreichen“ und „erfolglosen“ Programmierern ausgewählt - ca. Per.)

Wie der berüchtigte Fizz Buzz-TestVor zehn Jahren waren diese Fragen für jeden trivial, der professionell an der Softwareentwicklung beteiligt ist, aber normalerweise jede andere Person verblüfft. Die folgenden Fragen sind die ersten fünf in unserem Test, und 98% der erfolgreichen Ingenieure beantworten mindestens vier von fünf Fragen richtig. Ich bin sicher, wenn Sie ein Ingenieur-Manager sind, der ein Interview führt, werden Sie niemandem unter diesem Niveau ein Angebot machen.

Ergebnisse


Bevor



wir uns die Fragen ansehen, finden Sie hier die Daten zum Erfolg von Ingenieuren basierend auf der Anzahl der richtigen Antworten: Wir nennen einen „erfolgreichen“ Programmierer, der mindestens ein Angebot erhalten hat, in einem Unternehmen zu arbeiten, das seinen persönlichen Vorlieben entspricht. Statistik normalisiert für Gruppe 5/5. Zusammen machen die Ingenieure, die 4 oder 5 Fragen richtig beantwortet haben, 98% aller erfolgreichen Benutzer unserer Plattform aus. Im Gegensatz dazu zeigt 3/5 oder weniger einen fast sicheren Fehler an.

Fragen


Hier sind die ersten fünf Fragen aus dem beliebtesten „universellen“ Quiz. Wenn Sie einen unserer speziellen Tests für ML, Data Science, DevOps, Front-End, iOS oder Android absolvieren, gibt es andere Fragen, aber das Prinzip ist dasselbe.

Frage 1


Welche SQL-Anweisung ruft Daten aus einer Tabelle ab?

Wählen Sie die richtige Antwort:

○ LOOKUP
○ READ
○ FETCH
○ SELECT

Diese Frage lautet im Wesentlichen: "Haben Sie schon einmal eine SQL-Abfrage gesehen?" 80% antworteten richtig .

Frage 2


Fügen Sie die fehlende Codezeile hinzu und



wählen Sie die richtige Antwort:

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

Grundlegende imperative Logik. Richtig beantwortet 76% .

Wenn Sie sich Gedanken darüber machen, was wir in der Python-Syntax fragen, ist dies nur ein praktischer Pseudocode für dieses Beispiel, und jeder Programmierer kann die richtige Antwort auswählen, selbst wenn er Python noch nie gesehen hat.

Frage 3


Warum wird Caching verwendet, um die Leseleistung zu verbessern?

Wählen Sie die richtige Antwort:

○ Es beschleunigt den zweiten und nachfolgende Lesevorgang.
○ Es beschleunigt gerade Lesevorgänge.
○ Es beschleunigt ungerade Lesevorgänge.
○ Es beschleunigt den ersten Lesevorgang

Caching entsteht in so vielen Kontexten, dass es im Grunde ein universelles Konzept der Informatik ist und in der alltäglichen Softwareentwicklung unglaublich praktisch ist. 89% antworteten richtig . Wow! Die einfachste von fünf Fragen.

Frage 4


Welche der folgenden Methoden wird verwendet, um eine angemeldete Sitzung aufrechtzuerhalten, wenn ein Benutzer mehrere Seiten einer Website anzeigt?

Wählen Sie die richtige Antwort:

○ HTTP-Cookies
○ HTTP-Keep-Alive
○ Globale Javascript-Objekte
○ WebSockets

"Wissen Sie, wie Websites funktionieren?" 80% antworteten richtig.

Frage 5


Was ist der Wert von z nach Ausführung des folgenden Codes?



Wählen Sie die richtige Antwort:

'foo'
'baz'
undefined
'bar'

"Können Sie den Code lesen?" Das hier in JavaScript-Syntax vorgestellte Konzept eines Wörterbuchs / Hash / assoziativen Arrays / einer Map ist jedem bekannt, der jemals mit etwas fortgeschrittenerem als Basic gearbeitet hat.

Nur 62% antworteten richtig . Dies ist bei weitem die schwierigste der fünf Fragen. Persönlich bin ich sehr überrascht, dass diese Frage komplizierter ist als Frage Nr. 2, aber ein statistisch signifikantes Ergebnis erzielt wurde (p <0,001). Wenn Sie Ideen haben, warum wir so viele Menschen verlieren, lassen Sie es uns wissen.

Daten


Von den mehr als 100.000 Software-Ingenieuren, die diesen Test im letzten Jahr bestanden haben, ist hier die Verteilung der tatsächlichen Quizergebnisse:



Überraschenderweise haben nur 42% der Teilnehmer alle Fragen richtig beantwortet ! Die besten 67% haben mindestens vier Fragen richtig beantwortet (und diese 67% machen 98% der erfolgreichen Benutzer auf unserer Plattform aus).

Der Erfolg in jeder der fünf Fragen ist kein unabhängiger Faktor. Wenn Sie einfach die Wahrscheinlichkeiten einzelner Fragen multiplizieren, erhalten Sie 27%, aber 42% beantworten tatsächlich alle Fragen. Dies ist eineinhalb Mal mehr als erwartet, wenn jede Frage eine unabhängige Zufallsvariable wäre. Tatsächlich impliziert ein einfaches Modell, das alle Probleme als unabhängig betrachtet, einen 4/5-Peak sowie mehr Gewicht in einer 3/5 Zelle, als wir in realen Daten gesehen haben:



Schätze Dich ein


Wenn Sie mindestens vier der fünf oben genannten Fragen ohne Hilfe richtig beantwortet haben, haben Sie FizzBuzz 2.0 bestanden und sollten wahrscheinlich den Triplebyte-Test versuchen (wenn das Ergebnis 3/5 oder niedriger ist, ist es unwahrscheinlich, dass wir Ihnen bei irgendetwas helfen )

Nach bestandenem Test sehen Sie Ihre Ergebnisse und können ein Profil erstellen, mit dem Technologieunternehmen Sie kontaktieren können, wenn sie Möglichkeiten haben, die Ihren Präferenzen entsprechen, z. B. „Unternehmensgröße 500+“, „nur Fernarbeit“, „integrativer Arbeitsplatz“. , "Mindestlohn X", "Haustiere im Büro erlaubt", was auch immer. Der aktuelle Arbeitgeber kann Ihr Profil standardmäßig nicht anzeigen.

All Articles