????????? ?????s (????)
????????? ?????s (????)
---
Interview Process
---
What to expect in a Google interview:
* Recruiter Pre-screen (20-30 mins) – Non-technical chat about your resume and background.
Get ready to answer questions like Why Google? Why are you leaving your current job? What's
your biggest achievement?
* Technical Phone Screens (45-60 mins) – One or two phone screens with your hiring manager
or a Google employee. You'll solve a coding question related to data structures and algorithms
on a shared Google Doc. Some questions on your background.
* Onsite Loop (4-5 interviews) – Coding and System Design questions. Expect questions related
to slightly harder data structure, algorithms, and system design.
1) Googleyness
Googleyness means putting the user first, being friendly, approachable, humble, doing
something nice for others, being proactive, and keeping your eye on the goal. You'll be gauged
for being a team player and having a bias for action.
3) Leadership
Your ability to take on tough problems and step back when it's not needed. They'll gauge if you
can mobilize a team to solve a difficult problem. Get ready to answer questions like, how have
you demonstrated leadership when you weren't the manager? how have you dealt with trade-
offs and ambiguity?
4) Role-related knowledge
Is your technical expertise sufficient to drive impact at Google? How will you grow and scale
with the company? Sample questions: Tell me about a recent/interesting project you worked
on? How would you design a task scheduling system?
Interview Tips
---
* Data Structures - Practice data structures like Heaps, HashTable, Tree, Stack, Queue, Graph,
and Trie.
* Algorithm - Practice Dynamic Programming, Quick-Sort, Breadth-first and Depth-first search.
* Explain your thought process - Extremely important. Practice describing your design decisions
clearly and concisely.
* Collaborate – Don't forget to discuss tradeoffs, present multiple solutions, and take hints from
the interviewer.
𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗣𝗿𝗼𝗰𝗲𝘀𝘀
Here is what to expect in a Microsoft interview for Software Engineers (SDE):
➡ 𝗥𝗲𝗰𝗿𝘂𝗶𝘁𝗲𝗿 𝗣𝗵𝗼𝗻𝗲 𝗦𝗰𝗿𝗲𝗲𝗻 (45 mins) - Initial screening based on resume and
background. Coding questions about data structures and algorithms.
➡ 𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹 𝗣𝗵𝗼𝗻𝗲 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗼𝗿 𝗢𝗻𝗹𝗶𝗻𝗲 𝗔𝘀𝘀𝗲𝘀𝘀𝗺𝗲𝗻𝘁𝘀 (90 mins) – Algorithm.
You will be asked 2-4 coding questions related to data structures and algorithms to be solved
within 90 mins.
➡𝗢𝗻𝘀𝗶𝘁𝗲 𝗟𝗼𝗼𝗽 (4-5 interviews of one hour each) - Coding, design, and behavioral questions.
➡ 𝗟𝘂𝗻𝗰𝗵 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 - You will be taken to lunch halfway through your interviews. You'll be
interviewed during lunch. Expect design or behavioral questions.
➡𝗔𝘀 𝗔𝗽𝗽𝗿𝗼𝗽𝗿𝗶𝗮𝘁𝗲 (As-Ap) – Similar to Amazon's Bar Raiser, 'As-Ap' is a senior leader who
has veto power over your hiring. Together, 'As-Ap' and the hiring manager make the final hiring
decision. Based on your previous interviews, As-Ap can ask coding, design, or behavioral
questions.
𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗧𝗶𝗽𝘀
1) 𝗗𝗮𝘁𝗮 𝗦𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝘀 - Practice common data structures like Array, String, HashTable, Tree,
LinkedList, Stack, Queue, and Graph.
2) 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺 - Practice recursion, breadth-first search, depth-first search, divide and
conquer, sorting, and binary tree traversal algorithms.
3) 𝗖𝗼𝗺𝗽𝘂𝘁𝗲𝗿 𝗦𝗰𝗶𝗲𝗻𝗰𝗲 𝗕𝗮𝘀𝗶𝗰𝘀 – Go over CS basics related to OS, Networks, and DBMS.
➡ Recruiter Phone Screen - Initial screening based on resume and team fit.
➡ Technical phone interview - You will be interviewed either in person or via telephone with
the hiring manager, who will be your direct manager. You will be asked one or two coding
questions related to data structures and algorithms. Some questions from your resume.
➡Onsite Loop (5-6 interviews) - Algorithm, System Design or Object Orinted Design, Behavioral
questions.
* Algorithms - Coding questions solved on a whiteboard.
* Design - Junior engineers will be asked Object Oriented Design questions, whereas senior
engineers will be asked System Design questions.
* Behavioral questions related to Amazon's leadership principles.
* Bar Raiser Interview- A Bar Raiser is a skilled interviewer who acts as a neutral third party in
the hiring process. Expect coding, design, and behavioral questions related to Amazon's
leadership principles.
Interview Tips
---------------
1) Data Structures - Practice common data structures like Arrays, Strings, HashTables, Trees,
LinkedLists, Stacks, and Queues. Develop an understanding of the inner workings of these data
structures. You will be expected to know the runtimes for common operations and how they
use memory.
2) Algorithm - Practice divide and conquer, breadth-first search vs. depth-first search, and
traversal algorithms.
𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗣𝗿𝗼𝗰𝗲𝘀𝘀
Here is what to expect in Oracle interview for ICs:
➡ Recruiter Pre-screen (30 mins) - Initial screening based on resume. Questions related to your past
experience and accomplishments. No coding.
➡ Online Coding Challenge (60 mins) – You will solve a coding question through HackerRank or an online
code editor.
𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗧𝗶𝗽𝘀
1) Data Structures - Practice data structures like Heaps, HashTable, Tree, LinkedList, Stack, Queue,
and Graph.
2) Algorithm - Practice recursion, Merge-Sort, Quick-Sort, Breadth-first search, Depth-first search,
Divide and Conquer, and Dynamic Programming
3) Collaborate – For design interviews, don't forget to collaborate with the interviewer, present
multiple solutions, and take hints from the discussion.
Interview Process
----
Here is what to expect in a Facebook interview for software engineers:
◈ Recruiter Pre-screen (20-30 mins) - Initial screening based on resume. Questions related to
your professional experience, noteworthy projects, and accomplishments. No coding.
◈ Technical Phone Interview (45-60 mins) – You will solve a coding question using an online
editor. Your interviewer might ask you a follow-up question or add constraints to the current
problem. Common topics include data structures, algorithms, and time/space complexity.
◈ Lunch - It's not an interview. The interviewer will show you around and have lunch with you.
Interview Tips
----
1) Data Structures - Practice data structures like Heaps, HashTable, Tree, LinkedList, Stack,
Queue, and Graph.
2) Algorithm - Practice recursion, Merge-Sort, Quick-Sort, Breadth-first search, Depth-first
search, Divide and Conquer, and Dynamic Programming
3) Explain your thought process - Extremely important. Practice describing your solution and
design decisions clearly and concisely.
4) Collaborate – Don't forget to discuss, present multiple solutions, and take hints from the
interviewer.
System Design Interviews: A step-by-step guide
System Design Interview is unstructured in which people are asked to answer open-ended
design questions.
What could be a good strategy to answer a system design question? Follow these seven steps: