“Early success is a terrible teacher. You’re essentially being rewarded for a lack of preparation, so when you find yourself in a situation where you must prepare, you can’t do it. You don’t know how.” — Chris Hadfield, An Astronaut’s Guide to Life on Earth
I already told a story that makes me relate to a quote like this. About my journey trying to get a job abroad. And how I miserably failed.
And I failed because of a lack of preparation. Because I was ignorant enough to think that a quick recap of basic language concepts would have me landed the job.
To reduce the risk to fail anything in life, as astronauts teach, there’s only one useful principle. Preparation, preparation, preparation.
Know what you will go through, prepare for it, try to anticipate the emotions you will feel and don’t let them govern you during the interview.
Following is a list of the best resources I’ve found for reducing risks of failure and applying the preparation principle in 2020’s coding interviews.
50+ hours of coding interview questions preparations. Including full break-down solutions, “gotchas” lists and “what we learned” sections. Here you will find all the important building blocks of interviews such as data structures, algorithms, searching and sorting etc.
You can also access their free small glossary articles to get acquainted with the needed technical dictionary.
AlgoExpert (Author’s choice)
The tool offers a great environment for code execution, support for space-time complexity analysis and professional interview tips.
Plus, they include an incredible service for one of the most underrated interviews questions type: the system design problem. They propose a tool called SystemExpert, which is basically a preparation course on designing large-scale applications.
It features mocked video interviews, fully equipped lessons for all the topics related to designing a system plus real code examples.
As of the day of writing this article, for its price and offer, I strongly suggest you subscribe to Algo Expert +System Expert and enjoy having all the stuff you need in a single, fully-equipped environment.
An extremely famous platform among all developers out there. You may want to check it out to practice your skills with real coding interview questions. Supporting over 14 programming languages, LeetCode will provide you over 1600 interview questions, contests and even opportunities to be hired directly via the platform.
Do you suffer from anxiety when talking in front of a person? Or maybe you’re afraid to watch your mind go blank when in front of a real interviewer. Pramp comes in your help with this. It’s a Magnifique peer to peer platform where you can practice solving code problems with another person.
One of you will play the role of the interviewer, and the other one of the person interviewed. And then the roles will be exchanged.
Interviews are live, 1-on-1 video sessions that take place on their website over a collaborative code editor. And they also take care of the scheduling and interview prep content. Plus, you can choose exactly what you would like to practice in your interview, from system design to behavioural questions or simple code.
Educative.io Interview Courses Set
Now, instead of listing other 100 of valid courses or resources, you might want to go through, I prefer to give you another single place where you can learn and practice all you need.
It’s just crazy how poor traction I have seen for incredibly good courses such as the ones I’ve seen on Educative.io. They feature lessons on basically any topics you can think of, for a single monthly subscription or yearly access.
And, in particular, they have quite a rich gold mine of interview preparation courses. With explanations and exercises.
This platform is particularly recommended if you don't want to spend excessive amounts of money or if you’re interested in subscribing just for a short period of time.
Here are their interview preparation courses I advice you to go through:
Grokking the Coding Interview: Patterns for Coding Questions
A great list of 16 of the most important patterns you must know to solve any interview question. From linked-lists reversal to Big-O notation and the sliding windows algorithm.
Grokking the Behavioral Interview
This can be considered your interview etiquette for the rest of your days. Learn how to deal with any behavioural interview questions, how to show the best of your personality and the proper manners to correctly ace these types of interviews.
Grokking the System Design Interview
Back on designing systems, this is a great course for preparing and learning how to correctly design, scale and implement an error-prone application.
How to go through all of this
My approach for you to prepare for an interview using one of the listed resources is:
- Pick one between Algo Expert + System Expert or Interview Cake.
- Go through the full curriculum, completing every topic and challenge so you get the maximum knowledge possible.
- Practice, practice and then practice some more both via the courses you bought and with Pramp + Leet Code challenges. Plus, master the behavioural interview etiquette via the course Educative.io provides.
Interviews have become truly hard. Refreshing your mind on data-structures won’t help you land the job of your dreams in the long run. Preparation is success in this kingdom, and you have to be fully ready for any challenge you might face.
As always, thanks for reading and keep the comments flowing with other great resources you believe are valid.
- The sneakiest coding interview question that made me fail.
- An astronaut’s guide to life on Earth.
- Interview Cake.
- Interview Cake glossary articles.
- Algo expert + SystemExpert.
- Leet Code.
- Leet Code questions.
- Grokking the Coding Interview: Patterns for Coding Questions.
- Grokking the Behavioral Interview.
- Grokking the System Design Interview.