Tip 1 : Be sound with fundamentals of Data Structures/Algorithms. Identifying the correct data structures in most of the problems is a good sign to judge the fundamentals. Once the fundamentals are sound, focus on solving problems from platforms like Leetcode, etc (Get comfortable with Easy & Medium/Medium-Hard problems. Hard problems might get overwhelming sometimes)
Generally solving ~250 quality questions with 20% Easy, 60% Medium, 20% Hard problems get's one comfortable with interview preparation
Tip 2 : Design Patterns/System Design are equally important for SDE-2 and above. Practice applying design patterns and understand when and where which design pattern would be most suited
Tip 3 : Have clear understanding of work/personal project mentioned in the resume. It's always a big plus point knowing the impact of one's contribution in the project in terms of scalability/latecncy/defects etc
Tip 1 : Keep it short and concise (1-pager)
Tip 2 : Use standard layout format
Tip 3 : Mention the key contributions & impact in terms of numbers/percentage in past work experience
Online Assesment-
2 coding questions + 10 MCQ



The given linked lists may or may not be null.
If the first list is: 1 -> 4 -> 5 -> NULL and the second list is: 2 -> 3 -> 5 -> NULL
The final list would be: 1 -> 2 -> 3 -> 4 -> 5 -> 5 -> NULL
Used two pointer approach to merge two sorted lists & attaching nodes at the head of current merged sorted list to maintain the sorted list in reverse order.



The order in which the groups and members of the groups are printed does not matter.
inputStr = {"eat","tea","tan","ate","nat","bat"}
Here {“tea”, “ate”,” eat”} and {“nat”, “tan”} are grouped as anagrams. Since there is no such string in “inputStr” which can be an anagram of “bat”, thus, “bat” will be the only member in its group.
- Sort the strings and put into HashMap with key being sorted string and value being the actual unsorted string
Design an Online multiplayer game.
The API to be build was Top5HighScores() - returns the top 5 high scorers of all time
- Unit testing and scalability was expected
Tip 1 : Write down all the functional requirements and choose the appropriate design pattern
Tip 2 : Think about how the solution could be made scalable & what are the pros and cons of designing any other way
Tip 3 : Think about more than one design and justify why one could be suited over another based on feature/api priority
Timing - 2-3 PM
2 coding problems + Questions asked on Java, Design pattern



Input: Let the binary tree be:

Output: [10, 4, 2, 1, 3, 6]
Explanation: Consider the vertical lines in the figure. The top view contains the topmost node from each vertical line.
Step1 : Discussed which tree traversal would be appropriate for this problem and how hashmap might help in storing the relevant nodes
Step2 : Discussed about the nodes that might conflict and whom to prefer over other
Step3 : After doing the dry run, I coded the solution



Consider 0-based indexing.
Consider the array 1, 2, 3, 4, 5, 6
We can Jump from index 0 to index 1
Then we jump from index 1 to index 2
Then finally make a jump of 3 to reach index N-1
There is also another path where
We can Jump from index 0 to index 1
Then we jump from index 1 to index 3
Then finally make a jump of 2 to reach index N-1
So multiple paths may exist but we need to return the minimum number of jumps in a path to end which here is 3.
Step1 : Gave brute force approach, on trying to reach the end from every possible index with all possible jumps
Step2 : Interviewer asked to optimize the solution
Step3 : Discussed how calculating the current max reach can solve the problem efficiently. Did dry run succesfuuly then coded
2 coding problems + Java + Design Patterns
Timing: 3:15 - 4:15 PM



Let ‘arr1’ be [ ‘1’, ‘2’, ‘6’ ] and ‘arr2’ be [ ‘3’, ‘3’, ‘5’ ] and ‘K’ be 3.
There are 9 possible (x, y) pairs such that ‘x’ belongs to ‘arr1’ and ‘y’ belongs to ‘arr2’. Among all of them 3 pairs with smaller ‘x’ + ‘y’ are [ (1, 3), (1, 3), (2, 3) ].
Step1 : Discussed the brute force approach
Step2 : Optimized using heap , written the code and dry run few test cases
Mangerial Round:
Timing: 4:30 - 5 PM
1. What are your strengths and weaknesses?
2. Questions related to work in previous companies.
3. Why Intuit?

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?