Round 1: Hacker Rank Round – 75 minutes
It was 2 hr coding round. Both the questions were on matrix.
Question 1: M x N matrix with cell value as either 0 or 1. A connection between two cells is possible if the value of both cells is 1. You need to count the total no. of possible connections. – Plain & easy matrix question.
Question 2: Again M x N matrix. You have to count the total no. of cells which are either maximum or minimum or both in its row or column. Two different cells can have the same value. – Can be easily solved using a hash.
For better understanding: a)If a cell has min/max value in row as well as column it’ll be counted only once and not twice.
b) assume value (3, 4) is 6 and (5, 6) is also 6 and both are min/max values in row/column, then it’ll be counted twice.
For a brief on these questions – refer this.
Round 2: Coder Pad & Technical Interview – 1 hour
This is a coder pad round with an easy question – Find the nth line of pascal’s triangle, which we need to solve in 20 minutes. Followed by 40 minutes technical interview.
Technical Interview – Basic core java concepts (since I code in java) – Stack, heap, what is JVM, JRE, JDK, etc,
Round 3: Coder Pad – 45 mins
This round has a medium level question. It is kind of easy but the interviewer was focussing more on designing and the data types used.
Suggestions: Throughout the interview – be more vocal. Explain your solution, thoughts and get clarification if you have any queries.
Round 4: Technical Interview – 1 hour 20 minutes
Tell me about yourself, Current company and current project.
Questions on Garbage Collection. Implementation of HashMap (complete end to end). How to override the hash method, equals method. String pool, immutability concepts. Inheritance concepts. Questions on Object class. Method overloading/overriding. Java OOP Concepts.
Coding question: Find the running median.
The two interviewers were very cool and I really had fun answering and discussing the solutions with them.
Tip: Be clear. Smile all the time and don’t be nervous. If you don’t know/not strong enough in any concept just inform them that. They will change the topic. As far as I understood, this round is very important because the two interviewers are hiring managers and it is important that you make a good impression & perform well in this round.
Round 5: Technical Interview – 1 hour 10 minutes
Coding Question 1: Print the boundary of a binary tree.
Coding Question 2: Simple dp problem.
What is Lazy loading. 2 questions on Probability. If you solve 50 challenging problems in probability you can easily answer them. Some basic questions on statistics – Normal Distribution.
Round 6: Technical Interview – 1 hour
Coding Question 1: Copy a doubly-linked list with a random pointer.(both O(n) & O(1) solutions)
Coding Question 2: Minimum cost of constructing a wall with some requirements. (with only 2×1 & 3×1 bricks).
Technical Rest API questions. Questions on GET, PUT, POST methods. String immutability and String pool concepts. Method overloading/overriding. Java OOP Concepts.
Round 7: Technical Interview – 1 hour 20 minutes.
Current company and current project. Brief Architecture of the current project, They were very keen and asking a lot of questions.
Design Round. I found this round pretty tough. They started with a simple question and started improvising that and made it a design question. They were very keen on the implementations, abstract classes, inheritance, modularity, etc., They gave hints as well.
hashMap implementation again and questions on rehashing.
Tip: Ask questions and convey your approach even if you think you might be wrong.
Round 8: Technical Interview – 1 hour
Coding Questions: Some DP question.
Coding Questions: DP question. – the shortest time in approaching a bottom of the triangle.
Some technical questions again.
Round 9: Technical Interview & Hiring Manager Round – 45 minutes
Some technical questions. My expectations from GS & a brief explanation of my role in GS.
Verdict: Selected 😀