How many practice coding challenges does it take to ace your coding interview? In celebration of the launch of our newest Cracking the Coding Interview tutorial series, we did a study on coding interview practice. Our goal was to uncover just how much practice you need to boost your chances of passing a coding interview by 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. Our coding assessments also help developers go straight from application to onsite interview, based on their performance.
For this study, we looked at practice submissions of over 2,000 developers to find patterns of folks who went directly from assessment to earning an onsite interview. 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 getting an onsite interview by 50 percent. Junior developers who solved 20 challenges, increased their chances by at least 15 percent.
Introducing Cracking the Coding Interview Tutorial Series
Quantity of coding challenges is certainly important. However, one way to increase your chances of acing your interview even further is by solving the right type of interview challenges. 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 tutorial series is now available, featuring Gayle in 20 video tutorials.
In the series, Gayle offers not only video tutorials but also valuable advice, like three strategies to tackle algorithms and a seven-step process to solve algorithm challenges.
To begin our analysis, 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?
Our sample of 2,000 developers solved anywhere between 0 to 80 challenges over the last year. Here’s the breakdown of the percentage of developers by number of coding challenges solved:
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 platform.
The following graph shows the relationship between number of challenges solved by an experienced developer and the percentage of people who directly earned an onsite interview:
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 going straight to the onsite interview 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 percent pass rate. As a result, developers who solved ~20 challenges increased their chances 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’d perform really well on the fundamentals. It turns out that experienced developers with some practice performed better than junior developers, even on fundamentals. 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 increase their chances of getting an onsite interview by 50 percent.
The new Cracking the Coding Interview tutorial series is designed to help you ace your coding interview. We’ve hand-curated 20 critical concepts and coding challenges with fresh new tutorial videos featuring Gayle.