Whiteboard coding interviews suck.
I& #39;ve been there many times, on both sides of the table
I& #39;ve struggled and I& #39;ve seen others struggle
I will help you increase your chances of getting a great offer
This is not just another & #39;How to pass the Google interview& #39; guide.
Thread
https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="Rückhand Zeigefinger nach unten" aria-label="Emoji: Rückhand Zeigefinger nach unten">
I& #39;ve been there many times, on both sides of the table
I& #39;ve struggled and I& #39;ve seen others struggle
I will help you increase your chances of getting a great offer
This is not just another & #39;How to pass the Google interview& #39; guide.
Thread
This is what I did
My own ideas based on my experiences as an interviewee and an interviewer
I did this while I had a 9-5 job, studying for months.
I don& #39;t have a degree in CS.
I probably studied too much, but if you know what you want
you do whatever it takes
My own ideas based on my experiences as an interviewee and an interviewer
I did this while I had a 9-5 job, studying for months.
I don& #39;t have a degree in CS.
I probably studied too much, but if you know what you want
you do whatever it takes
This thread is focused on whiteboard coding interviews.
I& #39;ll create another one for systems design, but the same ideas and methods can be used to prepare them.
I& #39;ll cover:
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Mindset
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">How to practice
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Tech knowledge
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">More resources
Let& #39;s get started with mindset
I& #39;ll create another one for systems design, but the same ideas and methods can be used to prepare them.
I& #39;ll cover:
Let& #39;s get started with mindset
A. Mindset
1. Interviewers are human
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Don& #39;t put them on a pedestal
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Focus on what you can control:
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Some interviewers enjoying torturing candidates. They’re a minority, but this may happen
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Some interviewers would not hire some of their colleagues
That& #39;s why...
1. Interviewers are human
That& #39;s why...
2. Focus on the process
The results will come
After every problem/interview:
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">What did I learn?
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">What went well
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Went needs to be improved (from CS topics, your preparation, your communication, etc)
Self-reflection is a great teacher
The results will come
After every problem/interview:
Self-reflection is a great teacher
3. Apply to multiples companies in reverse order of preference
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Better position to negotiate
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Reduce the pressure you put on yourself
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Give you more opportunities to practice
B. How to practice
1. Emulate the interview setup
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Time yourself
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">No distractions - phone, internet
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Don& #39;t look at the solution
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Think out loud
Mock interviews are good too. Find a friend (virtually too) and practice!
1. Emulate the interview setup
Mock interviews are good too. Find a friend (virtually too) and practice!
2. Keep a log of common mistakes you make
This is an extremely underrated tip
You need to know where you usually underperform so that you can fix it
Go through the list often.
Review them and practice mindfully to make sure you do no make them during your interview
This is an extremely underrated tip
You need to know where you usually underperform so that you can fix it
Go through the list often.
Review them and practice mindfully to make sure you do no make them during your interview
3. Iterations
1st focus on quantity
To detect patterns, go through many problems:
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">What algorithm/DS is good for this type of problem?
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Why?
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Learn Big O analysis
Then on quality (no need to solve 5784 problems)
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Code on Notepad
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">For on-site -> On Paper or whiteboard
1st focus on quantity
To detect patterns, go through many problems:
Then on quality (no need to solve 5784 problems)
You need to be in good coding shape
You can& #39;t afford to spend 5 minutes to write a while loop
Be very comfortable in your preferred programming language (you can usually choose it)
You can& #39;t afford to spend 5 minutes to write a while loop
Be very comfortable in your preferred programming language (you can usually choose it)
C. What you should know
Do not base your preparation on memorizing solutions.
This will likely lead to you giving the perfect solution to the wrong problem.
I& #39;ll enumerate the main topics you should be familiar with
You must know them cold if you target at FAANG companies
Do not base your preparation on memorizing solutions.
This will likely lead to you giving the perfect solution to the wrong problem.
I& #39;ll enumerate the main topics you should be familiar with
You must know them cold if you target at FAANG companies
1. Data structures
Theoretically and how to use them in code
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Arrays
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Strings
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Lists
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Stacks and queues
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Trees (and tries)
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Binary search trees (balanced)
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Hash tables
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Sets (disjoint sets too if you can)
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Graphs
Theoretically and how to use them in code
2. Algorithms
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Binary search
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Sorting
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Recursion
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Divide and conquer
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Dynamic programming
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Greedy
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Alg on strings
On graphs (very important)
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">DFS
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">BFS
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Minimum spanning trees: Kruskal and Prim
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Shortest path: Dijkstra and Floyd-Warshall
Discrete math can help.
On graphs (very important)
Discrete math can help.
3. Programming languages
I& #39;ve always used C++, but the following good for interviews too:
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Python
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">JavaScript
https://abs.twimg.com/emoji/v2/... draggable="false" alt="✅" title="Fettes weißes Häkchen" aria-label="Emoji: Fettes weißes Häkchen">Java
Since most interviewers know them
Most candidates tend to go for Python
Whichever you choose, make sure you know it well
I& #39;ve always used C++, but the following good for interviews too:
Since most interviewers know them
Most candidates tend to go for Python
Whichever you choose, make sure you know it well
D. Resources I used
Introduction to algorithms
You don& #39;t need to go through the whole book, but it& #39;s a good complement to the course in the next tweet
Introduction to algorithms
You don& #39;t need to go through the whole book, but it& #39;s a good complement to the course in the next tweet
MIT courses on algorithms https://twitter.com/CodingLanguages/status/1274635167919943680?s=20">https://twitter.com/CodingLan...
The canonical Cracking the coding interview.
I did not start here though.
I only completed the problems in the last 2 sections,
after I finished the book coming in the next tweet.
I did not start here though.
I only completed the problems in the last 2 sections,
after I finished the book coming in the next tweet.
Elements of programming interviews
This is an excellent book
I keep coming back to it before every interview
The questions are hard, so you will be very well prepared
There are C++, Python and Java versions
This is an excellent book
I keep coming back to it before every interview
The questions are hard, so you will be very well prepared
There are C++, Python and Java versions
For more problems, I only used @LeetCode https://www.leetcode.com/
You& #39;ll">https://www.leetcode.com/">... have more than enough with the free problems
You& #39;ll">https://www.leetcode.com/">... have more than enough with the free problems
I recommend checking out my thread on top mistakes you want to avoid in a coding interview
All this comes from my experience. I would love to get more suggestions from you.
Don& #39;t forget to contact me when you land your next job!!
Good luck https://twitter.com/CodingLanguages/status/1282288332203003905?s=20">https://twitter.com/CodingLan...
All this comes from my experience. I would love to get more suggestions from you.
Don& #39;t forget to contact me when you land your next job!!
Good luck https://twitter.com/CodingLanguages/status/1282288332203003905?s=20">https://twitter.com/CodingLan...