FizzBuzz 2.0: Pragmatic Questions for Programmers



Last year, over 100,000 programmers completed the Triplebyte quiz. The statistics below show that five multiple-choice questions easily distinguish real software engineers from the rest (questions are selected by machine learning based on pre-marked “successful” and “unsuccessful” programmers - approx. Per.)

Like the infamous Fizz Buzz testten years ago, these questions are trivial for anyone who is professionally involved in software development, but who usually baffle any other person. The questions below are the first five in our test, and 98% of successful engineers correctly answer at least four out of five. I am sure that if you are an engineer-manager conducting an interview, then you will not make an offer to anyone below this level.

results


Before looking at the questions, here are the data on the success of engineers based on the number of correct answers:



We call a “successful” programmer who has received at least one offer to work in a company that matches his personal preferences. Statistics normalized for group 5/5. Together, the group of engineers who correctly answered 4 or 5 questions make up 98% of all successful users of our platform. In contrast, 3/5 or lower indicates an almost certain failure.

Questions


Here are the first five questions from the most popular “universal” quiz. If you take one of our specialized tests for ML, Data Science, DevOps, Front-End, iOS or Android, then there will be other questions, but the principle is the same.

Question 1


Which SQL statement retrieves data from a table?

Choose the correct answer:

â—‹ LOOKUP
â—‹ READ
â—‹ FETCH
â—‹ SELECT

This question basically asks, “Have you ever seen an SQL query before?” 80% answered correctly .

Question 2


Add the missing line of code.



Choose the correct answer:

â—‹ max_num += num
â—‹ max_num += 1
â—‹ num = max_num
â—‹max_num = num

Basic imperative logic. Correctly answered 76% .

If you are concerned about what we are asking in Python syntax, then this is just a convenient pseudo-code for this example, and any programmer is able to choose the right answer, even if he has never seen Python.

Question 3


Why is caching used to improve read performance?

Choose the correct answer:

â—‹ It speeds up the second and subsequent reads
â—‹ It speeds up even reads
â—‹ It speeds up odd reads
â—‹ It speeds up the first read

Caching arises in so many contexts that it is basically a universal concept of computer science and incredibly practical in everyday software development. 89% answered correctly . Wow! The simplest question out of five.

Question 4


Which of the following is used to maintain a logged in session when a user views multiple pages on a website?

Choose the correct answer:

â—‹ HTTP cookies
â—‹ HTTP keep-alive
â—‹ Global Javascript objects
â—‹ WebSockets

“Do you know how sites work?” 80% answered correctly.

Question 5


What is the value of z after executing the following code?



Choose the correct answer:

â—‹ 'foo'
â—‹ 'baz'
â—‹ undefined
â—‹'bar'

“Can you read the code?” Presented here in JavaScript syntax, the concept of a dictionary / hash / associative array / map is familiar to anyone who has ever worked with anything more advanced than Basic.

Only 62% answered correctly . This is by far the most difficult of the five questions. Personally, I am very surprised that this question is more complicated than question No. 2, but a statistically significant result was obtained (p <0.001). If you have any ideas why we are losing so many people on this, let us know.

Data


Of the more than 100,000 software engineers who passed this test last year, here is the distribution of the actual quiz results:



Surprisingly, only 42% of the participants answered all the questions correctly ! The top 67% correctly answered at least four questions (and these 67% account for 98% of successful users on our platform).

Success in each of the five questions is not an independent factor. If you simply multiply the probabilities of individual questions, you get 27%, but 42% actually answer all the questions. This is one and a half times more than expected if each question were an independent random variable. In fact, a simple model, considering all issues as independent, implies a 4/5 peak, as well as more weight in a 3/5 cell than we saw in real data:



Rate yourself


If you correctly answered at least four of the five questions above without any help, then you have passed FizzBuzz 2.0 and probably should try the Triplebyte test (if the result is 3/5 or lower, then we are unlikely to help you with anything )

After passing the test, you will see your results and you can create a profile that will allow technology companies to contact you when they have opportunities that match your preferences, for example, “company size 500+”, “only remote work”, “inclusive workplace” , “Minimum Wage X,” “Pets Allowed in the Office,” whatever. The current employer is blocked by default from viewing your profile.

All Articles