I applied online. The process took 1 day. I interviewed at Google in Jan 2023
Interview
the interview with google was wonderful and very excited although it was not easy but ya its google so it need to be difficult leetcode medium or hard questions asked
Easy-medium LC questions. The interviewer is friendly. Gives hints when you are stuck. Think out loud. Explain approach clearly in beginning before starting coding. Graphs and dp and trees they asked me.
1. Online Assessment:
The first step was an online assessment that consisted of three coding problems to be solved in 90 minutes. The problems ranged from medium to hard difficulty, focusing on data structures like graphs, trees, and dynamic programming. I was able to solve two problems completely and partially solve the third one.
2. Phone Screen:
After successfully clearing the online assessment, I was scheduled for a phone screen with a Google engineer. This round was 45 minutes long, with a brief introduction and one coding problem. The problem involved designing an efficient algorithm to solve a real-world scenario using graph traversal techniques. I had to explain my thought process and optimize my solution during the interview. I coded the solution live, using Google Docs for the code editor. The interviewer asked a few follow-up questions about time and space complexity.
Interview questions [1]
Question 1
### **1. Online Assessment:**
- **Question 1:** Given an array of integers, return the length of the longest subarray with a sum equal to zero.
- **Question 2:** Given a matrix of `m x n` dimensions, find the number of ways to reach the bottom-right corner from the top-left corner, where you can only move down or right.
- **Question 3:** Implement a function to detect if a cycle exists in a directed graph.
### **2. Phone Screen:**
- **Question:** You are given a list of projects and dependencies between them (each dependency is a pair of projects where the first project is dependent on the second). Write a function to find an order in which to complete all the projects. (Topological Sort)
### **3. Onsite Interviews:**
#### **Round 1: Data Structures & Algorithms**
- **Question 1:** Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree.
- **Question 2:** Implement an LRU (Least Recently Used) cache system with `get` and `put` operations in O(1) time.
#### **Round 2: System Design**
- **Question:** Design a scalable chat application. Discuss how you would handle real-time messaging, message storage, and delivery guarantees in a distributed system.
#### **Round 3: Behavioral Interview**
- **Question 1:** Tell me about a time when you had to work with a difficult team member. How did you handle the situation, and what was the outcome?
- **Question 2:** Describe a situation where you faced a significant challenge in a project. How did you overcome it?
#### **Round 4: Coding Challenge**
- **Question:** Given a string of digits, return all possible valid IP addresses that can be formed by inserting dots into the string. (e.g., "25525511135" can be turned into "255.255.11.135", "255.255.111.35")
#### **Round 5: Googleyness & Leadership**
- **Question 1:** How have you demonstrated leadership in a project that you were passionate about? What impact did your leadership have on the project's success?
- **Question 2:** Tell me about a time when you had to make a decision with limited information. How did you approach the situation?
These questions are designed to test a candidate's technical skills, problem-solving ability, and how well they fit within the company culture.