How to Ace a Coding Challenge in a Software Engineering Interview
Be sure to document your work and comment aggressively. There’s no one on the other side of the phone line to hear your thought process.
PHOTO CREDIT: Getty Images
Coding challenges are tests sent to potential employees by a company typically to serve as a zero or first round interview to get initial technical/coding signal on candidates. They are most often given to new graduates or interns, but anyone may be subject to a coding challenge. Typically, coding challenges precede phone and onsite interviews, although occasionally they can be given later on in the process if the company needs more signal on the candidate.
Not all coding challenges are created equally -- but I'll describe the most "typical" coding challenge experience from when I was interviewing for a full-time job last year (Fall 2016).
All of the coding challenges I completed were after an informational interview. During these interviews, recruiting teams called me, told me more about the company and walked me through the interview process. Next came the coding challenge itself.
I was emailed a url to a coding challenge. These challenges were hosted on sites like CoderByte and HackerRank although sometimes companies prefer to use their own internal tools for this. The format is that you generally have X minutes to complete Y problems. The challenges I've done have been anywhere from thirty minutes to two hours and one to three problems. The particular challenge will specify, but generally you are expected to have absolutely no outside help. The problems will be coding problems typical of Software Engineering interviews. You generally also have a choice of language and approach.
Having said that, be sure to document your work and comment aggressively. There's no one on the other side of the phone line to hear your thought process. If you're not able to finish the problem, or even if you do, having thorough documentation on your approach may mean the difference between advancing to the next round or not.
Write tests if none are provided, and add to the tests even if they are provided. Generally having two problems done that completely work is preferable to "finishing" three problems that don't quite work.
Stay calm. I tend to get nervous during any sort of timed examination. Staying calm is certainly easier said than done, but I tried to remind myself that it was "just" an interview, and that doing poorly on the coding challenge doesn't automatically mean you don't advance. Indeed I did quite poorly on one coding challenge and still made it through the interview process at a company, so you never quite know.
After you "submit" the interview -- typically though the same online portal from which you opened it, you'll typically hear back from the company within a week about next steps. Good luck!
This question originally appeared on Quora - the place to gain and share knowledge, empowering people to learn from others and better understand the world. You can follow Quora on Twitter, Facebook, and Google+. More questions: