A blog about software and making.

Elements of Programming Interviews: 300 Questions and Solutions

Not having a formal computer science background I found working through this book difficult but well worth the time. If you are also largely self-taught I’d recommend working through “Cracking the Coding interview” in parallel. I found the problems in CTCI a bit easier with better explanations which helped me to tackle the problems in this book.

This is a fairly dense book so I’d recommend buying it well before you intend to start interviewing and try doing a question or two a day.

I was a bit discouraged when I first started practising with these books but as I worked through them I started to enjoy the process. You eventually start seeing common patterns, become familiar with common algorithms/data structures, and get comfortable ‘running’ code in your head. These are not just useful interview skills. Estimating how code scales lets you judge when it’s worth increasing code complexity to optimize or when a simple brute force is ‘good enough’ and the habit of ‘running’ code in you head causes potential errors to jump out at you while reading code. I’d recommend both these books for anyone interested in being a better software engineer.

Goodreads