I promised myself to write about the interview process of Silicon Valley after I’m done going through it. Because I know there are people out there that feel like I did when I went through it. Frustrated, hopeless and scared. You’re not alone.
The First 2,3 Interviews
Yeap, it takes many tries to actually land the job that fits you and the interview that you actually do well in. Especially if you’re someone who has been out of the market for years.
Well, so you start by getting your resume together, update your LinkedIn and start applying around. You find a few recruiters and you get your first interview setup. Almost always you do a one hour phone technical. You bomb the interview because you had forgotten how to quickly write a binary search algorithm. Then you get your second interview setup. You go read a little to freshen up your memory on some algorithm. But baaamm, you fail again, cause you forgot to study tree structures. You can’t even remember the last time you wrote a tree algorithm at work.
So you go and search online for interview study material. There’s Leetcode, Interviewbit, InterviewCake, GeeksForGeeks and etc. You go to each one and you see a list of 800 questions. You think to yourself, well if I do 10 or so I might be ok for the next one.
Third interview comes and baaaammm, you fail miserably again, cause the person on the other line decided to be an ass and give you some sort of crazy difficult puzzle to see how you do under pressure. Now more than a month has passed and you feel like shit. Like it’s game over. You have been outdated in the Valley.
Naaah, you get your ass up and schedule that 4th interview. But before you take it, you really gotta prepare. Cause interviews aren’t about how smart you are, they’re about how well you studied.
The Next 3 Interviews
So before going into your 4th interview you take a pause and go hit the books hard. Yea you really got to. And the way you do that, is that you pickup “Cracking the Coding Interview” book, you study all of the data structures well & Big O(n):
- Binary Search
- Stacks & Queues
- Linked Lists (I actually never saw this question in an interview)
- BFS & DFS searches
- Binary Trees
- Graph (If you’re applying for a senior and higher position)
- Merge Sort
- Quick Sort
- Iteration & Recursion
And you learn how to the below classic problems:
- Two Sum
- Merged Intervals
- Longest Substring
- One Edit Apart
- Sliding Window
- Maximum Subarray
Now you take your 4th phone technical and you pass. Yeeeeaaayyy 😀
After The 6th Interview
Ooohhh man, you’re exhausted. The last interview went really well, but they still didn’t make an offer. You feel like your world has just been crushed. It’s time to freak out. You have lost all hopes of yourself, and you’re in a bad place because you just broke up with your girlfriend, because you’re depressed and everything is going to shit and at the end of the tunnel doesn’t seem to be a light.
Chill… Take a day off. Smoke a cigi. Go out of town for a weekend. You’re mentally shut & spiritually exhausted. But keep this in mind when you’re taking your break, interviews are not about how smart you are, they’re about how well you study and luck. Yea, both you and the people that are interviewing you have to be a good place for things to workout. So even though you may feel like you have prepared yourself and did well, you don’t know what place the other interviewees were and there’s alway misunderstandings and bad judgements when you put two people together in a room.
Now that you’re back with a fresh perspective, you open the books and leetcode.com and practice, practice and PRACTICE. That’s ALL it takes. I promise you. After a while it all just clicks. It’s weird. But you’ll become that really smart kid that just knows the answers when they see the questions. You start recognizing the patterns in the problems and you have so much practice at hand that you know how to approach the problem.
Do ALL of the problems in the “Cracking the Coding Interview” book. And yes, solve them on paper first. It makes a big difference. Then do the first 100 popular questions on leetcode.com. Spend that $30,$40 bucks a month and get the membership. They have packaged problems for Google, Uber, Amazon and etc type of interviews. If you go through those and learn them, you’re on the right track. But always try to solve the problems yourself. Even if one problem is taking 2 hours. Solve it anyway you can. Then take a look at the discussions and solutions. But always look at the discussions page. You will learn so much by looking at other people’s way of approaching problems.
You Will Eventually Get Offers
It’s crazy how things work out at the end. Believe it. You may have started at the worst place where you thought no way you’ll land an offer anytime soon, to where you have multiple companies fighting for you. So what happened? A few months ago no one would let you even come onsite! Remember, it’s always about preparing and not how smart you are. Practice the available material online and I promise that you will do well. If you’re not getting it at the beginning, it will click at some point.
Now that you have multiple offers, it’s time to negotiate. Some companies have a hard limit based on HR and Compensation Committee guidelines and stuff. This happens usually more at the bigger corporations. But there’s always room for negotiation. Talk to your recruiter and get a feel for where the company sits. But don’t be arrogant. Do your research and find the average salary for your position in your area. It may be worth paying one month of membership for Glassdoor and having access to more info regarding this and be able to view your prospective companies previous salary offerings.
It turns out that getting more on sign-on bonus is the easiest. Salary depends on the company guidelines and well you did your interview and how badly the company needs you. Stocks/options are a bit harder.
Go out and celebrate. Damn you spend a few month going through this. You deserve a good night out. Maybe a small vacation between your roles. Whatever you fancy, just give yourself what that inner child is asking for.