The Proven Way to Ace Your Coding Interview (Backed by Data)
Developers with less than two years of experience, need to practice a lot more coding challenges to boost their pass rate by 50 percent.
Join the DZone community and get the full member experience.Join For Free
How many practice coding challenges does it take to ace your coding interview? Our newest study uncovers just how much practice you need to boost your chances of passing by 15 to 50 percent, depending on your experience.
At HackerRank, we regularly help developers improve their coding skills and find the right job (rather than traditional proxies like resumes). We’ve assessed approximately 3 million developer candidates using coding challenges since 2012.
For this study, we looked at practice submissions of over 2,000 developers to find patterns of folks who perform well in coding interviews. By learning the correlation between the number of practice coding challenges solved and the pass rate on a coding assessment, we can quantify the amount of practice you need to pass a coding interview. According to our data, developers with at least two years of experience, who practiced even just a little (20 challenges) increased their chances of passing a coding interview by 50 percent. Junior developers who solved 20 challenges, increased their pass rate by at least 15 percent.
Quantity of coding challenges is certainly important. However, one way to further increase your chances of acing your interview is by solving the right type of challenges expected in a coding assessment. We’ve teamed up with author Gayle Laakmann McDowell who wrote the best-selling book Cracking the Coding Interview. Together, we've curated a video tutorial series of roughly 20 challenges to ensure you pass with flying colors. Cracking the Coding Interview coding challenge series is now available, featuring Gayle in 20 accompanying video tutorials.
To begin our analysis on how much practice it really takes to pass a coding interview, we pinpointed our question: Is there any correlation between developers who solved a lot of challenges and developers who passed coding assessments? And how does performance relate to seniority?
Methodology. Our sample of 2,000 developers solved anywhere between 0 to at least 80 challenges over the last year. Here’s the breakdown of the percentage of developers by number of coding challenges solved:
Our initial hunch was that junior developers would perform better than more experienced developers because we know that many companies commonly test for problem solving skills using fundamental concepts, like algorithms and data structures. And since these concepts are fresh in junior developers’ minds from computer science (CS) courses, it seems logical that they’d score higher on coding interview assessments than senior developers.
So, first we divided our sample size between junior and experienced developers. We define “experienced” as someone who has at least two years of experience. Then, we eliminated anyone with “0” submissions since we don’t know much about those developers. They could have been practicing on their own, so we wanted to focus on developers who are active on our site. The following graph shows the relationship between number of challenges solved by an experienced developer and the percentage of people who pass the coding assessment.
Developers with 2+ Years of Experience Need to Solve ~20 Challenges to Boost Test Performance by 50 Percent
Some say that there’s a golden rule of 10,000 hours of practice before mastering a skill. Developers with just a little bit of practice (solved roughly 20 challenges on HackerRank) had about a 50 percent higher chance of passing the coding interview assessments than senior engineers with no practice.
More specifically, developers who solved ~20 challenges had ~35 percent pass rate, whereas developers who solved 0 challenges had a 24% pass rate. As a result, developers who solved ~20 challenges increased their pass rate by 50 percent. Generally, it takes anywhere from 10 to 20 hours for an experienced developer to solve 20 challenges, though it really depends on the person.
Junior Developers with Less than 2 Years of Experience Need to Solve 30 Challenges to Boost Chances of Passing by ~50 Percent
We were wrong about our hypothesis on the performance of fresh grads with less than 2 years of experience. We thought that junior developers would do better than senior developers on coding interviews since they often test for fundamental concepts taught in CS courses. It turns out that experienced developers performed better than junior developers. In the first chart, we saw that more experienced developers have a 23 percent pass rate from the get-go. Junior developers, on the other hand, need to practice 71-80 coding challenges in order to reach a 23 percent pass rate.
When you compare junior developers who practiced a little bit (solved ~20 challenges) with junior developers who barely practice at all (~10 challenges), there wasn’t a boost in performance. Junior developers need to practice solving at least 30 coding challenges to gain a 50 percent increase (jump from ~9.5 percent pass rate to 14 percent pass rate).
Note: There is an odd drop at the 61-70 challenge mark for junior developers, which could be related to either anomalies that skewed the data or it could be that fewer developers solved that many challenges. It’s hard to say. By and large, developers with less than two years of experience, need to practice a lot more coding challenges to boost their pass rate by 50 percent.
Opinions expressed by DZone contributors are their own.