Tip 1 : Prepare Easy and medium level questions
Tip 2 : Prepare for System Design
Tip 3 : Practice 2-3 questions daily. Consistency is the key.
Tip 1 : Every information on the resume should be correct and on your fingertips
Tip 2 : Mention good projects on your resume and the impact you made on that project
First round was 1.5hr coding round on video call. It was a medium level coding problem. Interviewer was very polite and helpful.



You may assume that given ‘X’ and ‘Y’ definitely exist in the given binary tree.
For the given binary tree

LCA of ‘X’ and ‘Y’ is highlighted in yellow colour.
I gave the Recursive/DFS solution and interviewer was satisfied with the approach.
TC: O(n)
SC: O(n)



Input: 'arr' = [2, 2, 2, 2, 0, 0, 1, 0]
Output: Final 'arr' = [0, 0, 0, 1, 2, 2, 2, 2]
Explanation: The array is sorted in increasing order.
Step 1 : I first applied counting sort. It was not good enough.
Step 2 : Interviewer asked me to optimise the solution.
Step 3 : Then i gave solution with Dutch national flag algorithm and interviewer was happy.
This round was coding + Low level System design round. This was also video call round. Interviewer was helpful.



Input : 1 -> 2 -> 3 -> 4 -> 'NULL' and 'K' = 2
Output: 1 -> 2 -> 4 -> 'NULL'
Explanation:
After removing the second node from the end, the linked list become 1 -> 2 -> 4 -> 'NULL'.

Step 1 : I first gave two pass solution. It was not good enough.
Step 2 : Interviewer asked me to optimise the solution.
Step 3 : Then i gave solution with one pass solution and interviewer was satisfied.
Design tic tac toe game
Tip 1: Don't throw buzz words. You should have the proper understanding of the terms you are saying.
Tip 2: Practice at least 8-10 system design case studies.
Tip 3: Prepare fundamental theory well
This round was High level System design round. This was also video call round. Interviewer was helpful.
Design a shopping cart system
Tip 1 : Don't throw buzz words. You should have the proper understanding of the terms you are saying.
Tip 2 : Practice at least 8-10 system design case studies.
This round was techno managerial round. Interviewer was friendly and polite. System design and some behavioural questions.



1. get(key) - Return the value of the key if the key exists in the cache, otherwise return -1.
2. put(key, value), Insert the value in the cache if the key is not already present or update the value of the given key if the key is already present. When the cache reaches its capacity, it should invalidate the least recently used item before inserting the new item.
Type 0: for get(key) operation.
Type 1: for put(key, value) operation.
1. The cache is initialized with a capacity (the maximum number of unique keys it can hold at a time).
2. Access to an item or key is defined as a get or a put operation on the key. The least recently used key is the one with the oldest access time.
Tip 1: Requirements clarifications.
Tip 2: Create a high-level design
Tip 3: Database Design
Tip 4: Design core components and scale the design

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?