When applying for a software development job, you'll likely be asked to complete a coding challenge or two. These challenges may seem daunting for someone who hasn't prepared. That's why at Microverse, the online school for global software developers, we require students to complete coding challenges before and during the program.
As Microverse has grown, we've learned a lot about coding challenges, and how to best prepare for them. So, we're sharing a few of our top tips to boost your chances of success when completing your coding interview.
Tip 1: Practice with LeetCode
LeetCode's technical interview platform is a great place to start practicing with coding challenges to help you improve your skills before the real thing. Their platform offers approximately 200 challenges, in 14 programming languages. Besides its large number of challenges, we also like that after completing a challenge, you can view stats - such as how fast your code ran compared to other users. There's also a section of the website dedicated to resources that can help you mock interview with tasks considering the specifics of individual companies.
LeetCode's Premium version can be really helpful if you have the budget for it. For $35/month, you can unlock a section where you can review specific interview questions for companies like Facebook, Google, Apple, and Amazon. These questions were generously provided by a community of developers that have already landed their dream jobs and want to give back.
There's also more benefits, apart from Premium Subscriptions, to practicing coding challenges with LeetCode:
- Developers prefer LeetCode for their straightforward tasks followed by the theory (which is mostly lacking in HackerRank)
- Specific challenges, such as SQL, are better on LeetCode than, for instance, on HackerRank. LeetCode also offers more support for specific languages, such as Go or C
- LeetCode lets you compare your solutions with the solutions of other challenge participants so you can find out how to optimize your code and reduce the memory it takes
Tip 2: Practice with HackerRank
HackerRank and LeetCode are the most popular websites to practice coding. When using HackerRank you should know that:
- Developers say programming challenges on HackerRank are generally better than on LeetCode, which means they're more complex (if you want something out of the ordinary)
- HackerRank has a better interface than LeetCode (but don't base your decision on UI only)
- HackerRank offers live competitions that can better simulate a 'real-life interview'
- HackerRank is better for beginners and students that would like to master a new language; LeetCode is more suitable for experts and who prefer going deeper into the theory
- HackerRank allows developers to apply for open positions at companies using their score on HackerRank which can be easily accessed online
If you can find the company you're applying for in the LeetCode Premium section, subscribe and practice there. If the company you're applying for is not as big as FAANG (Facebook, Apple, Amazon, Netflix, and Alphabet's Google), then go with HackerRank coding challenges. Either way, focus on one platform at a time.
Tip 3: Read discussions on Blind
Blind is an app for anonymous communication between professionals around the world, including software developers. It's a community of almost 3 million experts that share industry-specific advice and their honest feedback about the companies they work at - their salaries, interview process, promotions, and perks. Many of them work for FAANG (Facebook, Apple, Amazon, Netflix, and Alphabet's Google) and other industry giants. Everything is anonymous, so if you're seeking professional advice regarding the coding challenges, this app is a good source of information. You can even find information on the level of complexity, the time allocated, and the number of tasks - that other candidates are welcome to share.
A coding challenge helps employers select the best candidates for the next stage. Also called the 'zero stage' of the interview, a coding challenge is a quick and easy way to see if the candidate is the right fit from the start. The coding challenges will help evaluate both coding techniques (things you already know) and engineering capabilities (things you potentially are capable of). So go ahead and check the discussions on Blind.
Tip 4: Check out ‘Cracking the Coding Interview’
The latest edition of this book contains almost 200 programming questions and solutions that can be helpful during coding interviews. The book also contains examples of soft skills questions and "behind the scenes" insights on how top companies hire developers.
Gayle Laakmann McDowell, the author of the book, has years of expertise as a software engineer at tech giants such as Microsoft, Apple, and Google. She's also interviewed more than 700 candidates for the position of a software developer role, so she knows her stuff.
Tip 5: Find one platform that works for you
Why should you find one platform to practice coding challenges? In some cases, companies ask their lead software engineers to prepare custom code challenges internally. However, recruiters often take challenges from coding practice sites such as Coderbyte, HackerRank, LeetCode, and others. So, the best way to prepare for a programming interview is to practice on one of those websites.
At Microverse, we did some research on companies that assign coding challenges to job candidates. After browsing open positions and case studies featured on challenge websites, we wanted to share what found. These are the platforms preferred by specific companies:
- LeetCode (not used by but with the resources for): Facebook, Apple, Google, Uber, Intel, Amazon, Cisco, Stripe
- HackerRank: Booking.com, Asana, Dropbox, LinkedIn, Stripe, Goldman Sachs, Foursquare, Mozilla, VMware
- Coderbyte: HBO, Nokia
- Codewars/Qualified.io: Accenture, Apple, Domino’s
- TopCoder: IBM, Microsoft, SpaceNet, NASA
- ChallengeRocket: IBM, Nvidia, ING, Santander
- CodeSignal: Uber, Lenovo, Affinity, Quora
- CodinGame: Facebook, Adobe, Nintendo, Deloitte
Remember, it's normal to feel a bit nervous before your interview, especially if you're a beginner. The purpose of websites with online coding challenges is to help you define your strengths - and weaknesses - see which areas need more attention, and feel more confident overall. Now that you know these tips and available resources for prepping for a coding interview, use them!
Do your research too. Ask your recruiter if there is a platform the company prefers or look online. You can also ask the communities on Blind, Reddit, or HackerNews.
Good luck preparing for your technical job interview and landing your dream job! If you want to learn faster and better prepare to land a life-changing job as a software developer, Microverse can help.