Cracking the Google Interview Part #2: Interview Preparation RoadmapThis article will guide you through my steps for preparing for my Google interviews. Overall, it took me 2 years to crack the MAANG interview and almost
500 solved LeetCode problems: including learning algorithms and data structures, practicing coding & problem-solving, and applying and passing all interviews.
My General Roadmap for Preparing for the Interview:1. Learning algorithms and data structures.
2. Solving algorithms, and learning patterns and concepts.
3. Practicing coding & problem-solving questions together with friends on the whiteboard.
4. Learning System Design.
5. Writing a resume. Applying to jobs.
6. Preparing for a behavioral interview.
7. Getting an interview invitation, passing all interviews, and getting an offer! 🍾
How Did I Learn Data Structures and Algorithms? Here are the Resources I Used:1. I had a Data Structures class at university.
Here are the notes from the class.2.
Naso Academy DS playlist3.
Jenny's DSA playlist4.
Programiz.com5.
Data Structures by a Google Software Engineer6. NeetCode videos:
here’s one of them7. AlgoExpert Data Structures course
8. Extra:
• *
Tech Interview Handbook Algorithms Cheat Sheet •
The Last Algorithms Course You'll NeedPracticing Coding & Problem Solving Questions:1.
InterviewBit2.
LeetCode Explore (only data structures cards)
3. LeetCode Study Plan —
Data Structure 1, Algorithm 1, Programming Skills 14. "Cracking the Coding Interview" +
CTCI problems in LeetCode5. LeetCode Study Plan —
Data Structure 2, Algorithm 2, Programming Skills 26. AlgoExpert video solutions
7.
Neetcode.io &
NeetCode playlist8. LeetCode company-tagged questions
Problem-Solving Approach (Constraints, Ideas, Complexities, Code, and Tests):
1. Read the problem. Don’t immediately jump into coding!
2. Understand inputs and outputs. Draw some examples on paper.
3. Clarify requirements, ask questions, and find constraints (edge cases). Example questions: Is it ASCII or Unicode? What is the max value? Is there a difference between capital letters and small letters?
4. Think about the solution in your mind. Divide problems into sub-problems. Come up with different ideas (ask whys, think about trade-offs, solve simpler versions, imagine helper functions - go from high level to low level).
5. Evaluate the complexity and trade-offs.
6. Think of a better alternative solution.
7. Write code on paper.
8. Debug your code on paper and test with new corner case inputs.
9. Write code. Write clean code.
10. Write tests. Positive, negative, with edge-cases.
11. More to read:
•
HiredInTech Algorithm Design Canvas •
Cracking the Coding Skills
*My List of Clarifying Questions: Questions, Corner Cases, and Constraints
General Tips:Interviews are not only about evaluating your technical knowledge. Explain your thought process and show how you approach problem-solving in a structured way step by step. Many questions asked by interviewers are open-ended, so ask good questions to clarify a full set of criteria to solve the problem and clarify requirements. Always, always, always ask clarifying questions before jumping to a solution. Try thinking of different solutions to a given problem and explain why you came up with this solution or this code. Compare your solutions, compare complexities, and think about their trade-offs. Overall, the interview should be like a dialogue – show how it is to work with you, how collaborative you are.
Must Watch and Must Read Resources:
•
Interview Cake Coding Interview Tips•
Prepare for Your Google Interview: Coding
•
Interview tips from Google Software Engineers
•
Coding Mock InterviewExtra resources to Watch and Read:•
Tech Interview Process
•
Preparing for a Technical Interview
•
Prepare for your Google Interview: General Cognitive Ability
•
Prepare for your Google Interview: Leadership•
"100ta Intervyu Nima O'rgatdi?" by Azimjon Pulatov
•
Mock interview with Vohid Karimov and Azimjon Pulatov#google #faang #maang #coding #google_interview #faang_interview