How to practice for coding interviews
Thomas Dickson
2 minute read
This is a page of resources which I’ve found useful in rounding out my computer science knowledge. I had an awakening with one of the first interviews I had when I was looking for work in industry - I was asked a series of questions which I simply didn’t have a clue on, despite having written some tricky code. Well, that was then. The key learning points for me are:
- Coding interviews are about solving specific problems which aim to demonstrate knowledge of solving classic computer science problems.
- Coding interviews are necessary to filter out candidates who aren’t prepared to put the work in.
- Preparing for coding interviews actually makes me a better programmer. The process of specifically practising how to triage and solve problems helps me solve some of the problems I come across in my own work.
Useful books
I’ve found two books to be invaluable:
- The Algorithm Design Manual is a key text on key algorithms and data structures. The author is quite chatty which makes it quite readable in my opinion. However I have spent too much time in academia so I might not be the best judge on how dry any given textbook may or may not be.
- Cracking the coding interview This appears to be a great guide on structuring ones approach to applying to jobs in the software industry. It’s a staple.
Useful websites for practising coding problems
- leetcode, probably one of the most popular website for practicing coding quetions for job interviews.
- hackerrank is a popular website which has problems sorted by topic and difficulty.
- codility is a website I’ve come across for some interviews. The lessons are not bad.
- codewars is a website similar to hacker rank but has problems contributed by the users. I prefer the UI of code wars over hacker rank and it has a wider range of problems in more languages.
- geeks for geeks has quite a lot of questions on different topics. My current go-to. You can convert your cash into their made up money tokens which can be used to purchase courses.