Based on my 12+ years of interviewing experience at Bloomberg, NVIDIA and talking with many folks who successfully cracked job interviews in FAANG companies, I've prepared this guide that can be helpful to anyone preparing to get a job at big tech companies 🚀
The video format of this guide is available here with some more details (click on the thumbnail to play this youtube video)
- Make sure your have a single page resume. I've interviewed candidates with 20 years of experience having very impressive single page resume. Some guidelines are (a) customize the resume for a given job position removing anything that is irrelavant (b) include minimum personal details (c) reduce page margins (d) remove vague statement and add proofs if possible. e.g. I would remove "strong communication skills" from the resume but I'd keep "strong communication skills - served as a secretary of toastmasters english speaking club"
- Use STAR method (Situation, Task, Action, Result) for your past experience
- For detailed discussion on resume preparation check this video: https://www.youtube.com/watch?v=buQSI8NLOMw It has few resume templates as well. The discussion says data analyst but you can prepare software engineer resume using same guidelines
- Use https://simplify.jobs/ to find relavant jobs and make application process 10x faster
- Try to get referrals by building connections with people (through Linkedin etc.)
- Use leetcode for coding interview prep. https://www.techinterviewhandbook.org/grind75 contains top 75 leetcode questions that you must try out. Based on how much effort you want to put, you can make 2 to 6 months plan for interview prep. Even if you do 5 questions per week, in 3 months, you will be done with 60 questions.
- https://www.geeksforgeeks.org/ and https://www.hackerrank.com/ are two other great resources
- Data structures and algorithms is the heart of coding interview. Few resources that can help,
- DSA playlist in Python that has helped many land a job at Meta, Microsoft, Walmart etc: https://www.youtube.com/playlist?list=PLeo1K3hjS3uu_n_a__MI_KktGTLYopZ12
- Big O cheatsheet for a quick reference of time complexities: https://www.bigocheatsheet.com/
- Practicing 2000 questions on leetcode alone won't help you. Interviewers are not looking for only answers, they are more interested in your approach. How you communicate, if you are asking clarifying questions, thinking aloud and using hints wisely! You need to be calm. Don't do this ❌ https://www.youtube.com/watch?v=5bId3N7QZec
- Mock Interviews are extremely effective and are HIGHLY RECOMMENDED. You can ask your friend or a college senior to conduct this interview or use a paid service such as https://interviewing.io/ or https://www.pramp.com/#/ (I've not used these services myself so evaluate these yourselves. In any case, I think spending money on mock interviews is TOTALLY WORTH IT)
- As an interviewer, I've noticed that when a person uses Python 🐍 for coding interview, they get unfair advantage over candidates using Java/C++. This is because you can write compact code in Python, have to memorize less and there is less clutter that makes things easier for both the interviewer and the candidate. Hence if it is possible, use Python for your coding round.
- These questions are mostly for experienced candidates
- Some good resources to study system design are,
- Gaurav Sen's YouTube Channel: https://www.youtube.com/c/GauravSensei
- Gaurav Sen's system design course that can help ace interviews in big tech companies: https://interviewready.io/?_aff=CODEBASICS
- System Design Primer: https://github.com/donnemartin/system-design-primer
- Most common behavioral questions: https://www.techinterviewhandbook.org/behavioral-interview-questions/
- Do thorough analysis on the company where you are interviewing. For example, in Amazon interview they ask about Amazon leadership principles: https://www.amazon.jobs/en/principles
- Many companies give interview material in advance to a candidate who is being interviewed. Do a proper study of that material before going to the interview.
- Be honest. Don't overcommit.
- levels.fyi and teamblind are two good resources that can help you get an understanding on how much you salary you should get
- You can use negotiation coaching services e.g. levels.fyi negotiation coaching to acquire skills on how to negotiate salaries
Practical tips from a person who cracked 10 jobs in big tech (Microsoft, Facebook, Amazon etc.)
Some linkedin posts from folks who made into big tech (few of the above resources are derived from these linkedin posts):
- Meta Software Intern: https://www.linkedin.com/posts/steph-su_how-i-prepared-for-my-meta-technical-interviews-activity-6924119412383916032-YJHZ?utm_source=linkedin_share&utm_medium=member_desktop_web
- Meta Software Engineer: https://www.linkedin.com/posts/jaimin-brahmbhatt_newjob-meta-metafacebook-activity-6924859552408502272-vn8r?utm_source=linkedin_share&utm_medium=member_desktop_web
- Microsoft Software Engineer: https://www.linkedin.com/posts/muskan-handa-8b087217a_microsoftpowerbi-career-jobsearch-activity-6957315381564747778-ORXJ?utm_source=linkedin_share&utm_medium=member_desktop_web
- Walmart Software Engineer: https://www.linkedin.com/posts/smriti-das24_walmartglobaltech-sde2-activity-6924424042506502144-qIGP?utm_source=linkedin_share&utm_medium=member_desktop_web