A system to pass any technical interview

By Jake from AlgoDaily on 2021-08-11 22:17:12 UTC

This is a longer email, so brace yourself. But if you can make it to the end, you'll get the exact advice I would give my own family members as to how to land a 200-400k software engineering position.

Goals vs. Systems

Let's quickly differentiate goals vs. systems thinking. A goal is something to strive towards. Say you want to lose 10 pounds-- that's your goal. A system is an organized framework where an input leads to an expected output. The system to lose the 10 pounds might be eating 500 less calories a day for several months.

Spot the difference? While there isn't a guarantee that you'll achieve the end result you want (after all, we all work on buggy software systems...), you are increasing the probability that you'll be successful.

Applying this to your career

We all know you can't guarantee a successful job interview-- there's too many variables: your interviewer's mood, the technical questions you're asked, your fatigue on the day of, your level of preparedness, etc.

What you're looking for, however, is a way to improve your odds.

Here's an example: as a developer, a "technical" interview can theoretically consist of any kind of trivia related to Computer Science under the sun.

But practically speaking, there are 5 big types of interviews:

  • Whiteboard data structures and algorithms
  • Systems design and architecture
  • OOP/Design patterns questions
  • Frontend/UI/JS interviews
  • Language/framework trivia

Yes, there will be some surprises-- perhaps you'll get an interviewer who asks you to implement floating point decimals, or one who wants you to create a programming language from scratch. But 95% of software develoepr interviewers will be some variant of those 5 interview styles.

Systematic preparation

When I first started preparing for interviews, I did the usual thing most of you will do: I'd wait for a week before the interview. I'd go on leetcode and hit "random problem" several times. I'd try to solve the problem for about half an hour, then read the solution. I'd do this for a few hours before I was burned out.

The issue with this approach was two-fold: I wasn't getting better, and I hated it. I did enough cramming of this style to just land my first few initial offers.

As I became more senior as a developer, I started to get better inbound opportunities, and at random points throughout the year. I never knew when I'd get a bite from a company I really wanted to work at, so I needed some way of staying interview-ready without anguish.

Slow and steady

This is how AlgoDaily came along-- I decided to do less, and over a longer period of time. I found the 100 most common whiteboard interview problems, and wrote a script to drip me one a day. It took me roughly 30 minutes a day in the mornings.

For each problem, to make sure I'd remember it, I started writing out an explanation that made sense to me. I added pretty visuals and step-through traces of the solutions so that if I ever came back, I'd immediately be able to "visualize" the solutions in my head.

It's important to note that I only spent about 5 hours max a week doing this. I didn't notice it at first, but this slow and steady system was making me a better interviewer, better developer, and was far more enjoyable.

The best approach is one you can adhere to

With AlgoDaily, we include a course and a newsletter because reducing things down to one lesson a day works. It's an acceptance of being human-- some days you won't feel like doing anything: no problem, reset the day you're on, and revisit the problem at a later time. Other days you'll feel motivated to really put in the work-- jump into our course and try to finish as many lessons and questions as possible.

And we've arranged things to remove any roadblocks. Our material is curated and organized in a sane, level headed way that takes you step by step through landing a software engineering job.

  • With our Technical Interview Prep section, you get the ins-and-outs of how to prepare for your interview.
  • We add an optional Coding Fundamentals With Python crash course, for junior engineers who need to brush up on their syntax.
  • Our award winning Data Structures and Algorithms and Systems Design and Architecture courses go from the easiest challenges and concepts, to the most complex algorithms and architectures, at a gradual pace.
  • Our bonus crash courses in Object Oriented Programming, Frontend Engineering/JS, and Machine Learning Fundamentals hit any niche areas you may need.
  • And for those in a time crunch, our Interview Cheat Sheets by Topic and 60 Day Interview Crash Course give you exactly what you might expect come game day.

We'll send you 100+ of the most common coding interview questions, once a day with visual explanations. Join over 53,000+ users who are doubling their salaries in 30 minutes a day.

Latest Posts

Ready for your dream job?

Welcome to the most accessible guide to technical interviews. AlgoDaily was created to be a gentle, visual introduction to patterns around solving data structures and algorithms challenges.

We believe that technical interviews are a matter of practicing well. We've referenced hundreds of resources on habit change, education design, and algorithms to design the best and most streamlined learning experience.

Start learning now

Subscribe to newsletter