Round 1(Google Meet Interview DS + ALGO 1H 10M): Started with a quick and healthy introduction. He asked me a little about my past projects, and we proceeded to the questions. There was a total of three questions in this round.
Question 1: Devising Data Structure with given constraints
Question 2: Given a matrix of characters, an Initial location in this matrix, and a list of names. Return all possible names that are present in this matrix.
A name is said to be present in the matrix you can connect all letters of this name in the matrix together, starting from Initial Location. Two letters can be connected if the second letter is in an 8 adjacent location(At Max) surrounded by the first letter location. [A location cannot be considered twice].
['a', 'b', 'c', 'd'] ['e', 'f', 'g', 'h'] ['w', 'x', 'y', 'z'] ['m', 'n', 'o', 'p'] Initial Location = Loc(y) names = ["abe", "yxz", "yxo", "yxm", "xyf", "yxy", "yozp", "yozpo"] Output = ["yxo", "yxm", "xyf", "yozp", "yozpo"]
Question 3: Given a pattern, with ‘0’, ‘1’, and ‘?’. Ex: 001?01?1. Print all possible strings that can be generated from this pattern, where ‘?’ can be replaced by 0 or 1. So for the above case, 4 possible strings would be generated. It can be solved using backtracking easily/
Expectations: Solving any two problems.
Round 2 (Google Meet Interview ALGO + LLD 1H 20M): Started with a quick introduction. Then we proceeded to the questions. There was a total of two questions in this round. I had solved both of them.
Question 1: A lengthy problem that can be broken down to Breadth-First Search.
Question 2: Low-Level Design for Minesweeper. [Watch a Minesweeper game video before understanding the below operations, if you are not aware of rules/game]
- Creating Custom Grid.
- Generating Bombs with numbers around them, according to standard Minesweeper rules
- Allow user to open cells, flag cells, end game on opening bomb.
- Declare Win on Flagging all bombs and opening rest all cells
- Opening all nearby cells with no nearby bombs/numbers, if a cell opened has no nearby bombs [Most Important]
Round 3 (Google Meet Interview [VP Round] DS 1H 30M): Started with a very healthy and jolly introduction. For the initial 20 mins, he took time to understand me and my thought process by asking multiple questions related to work, aspirations, interests, how I approach a Problem Statement in the real world and in the tech world. After that, he asked me one Data Structure question.
Question 1: Given a list of n names[will contain duplicate names] of the people in the city, print the most popular K names in descending order.
Expectations: No Advanced STL / Collections to be used. At Max: Arrays / LinkedLists / HashMaps. O(n) for making data structure. O(K) for finding all K’s most popular names.
I did it with my custom approach using 2D Doubly Linked List keeping counts for each name, and keeping a reference to these nodes in HashMap.
Round 4 (Google Meet Interview HR Discussion 30M): This was majorly the discussion round and not an assessment round. We discussed roles, opportunities, salary, etc.
- Do Not Fake
- Presentation skills matter the most. Try to explain the approach even if you are not able to come up with codes
- Breadth-First Search and its mutations were asked in most of the questions. Practice that.
- Fail-safe. If you do not know anything. Explain Something and then try to shift attention towards your part of interest.
- Practice Correct words to be spoken
- Go with a fresh mind.
- Don’t panic if you give the wrong answer or if you don’t know. It is absolutely fine to fail. Yes, it is OK if you fail. You would be judged relatively.