Tip 1 : Focus on the basics
Tip 2 : Practice Data Structure problems regularly
Tip 3 : Try to solve problems within a particular time constraint
Tip 1 : Have projects related to your skills on resume
Tip 2 : Don't mention something on your resume you are not confident about.
This round was in the morning (around 10 am). The environment was great and the interviewer made me feel comfortable by making some small talk before starting with the questions.



Input:
3
3
4 6 8
3
2 5 7
2
1 9
Output:
1 2 4 5 6 7 8 9
Explanation:
First list is: 4 -> 6 -> 8 -> NULL
Second list is: 2 -> 5 -> 7 -> NULL
Third list is: 1 -> 9 -> NULL
The final list would be: 1 -> 2 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> NULL
I gave the solution of Min Heap-based approach.I added first element of every sorted list to a min-heap using priority queue. Then, as long as the min-heap is not empty, I did the following:
Removed the top element of the min-heap (which is the current minimum among all the elements in the min-heap) and add it to the result list.
If there exists an element (in the same linked list) next to the element popped out in previous step, insert it into the min-heap.
Return the head node address of the merged list
Time Complexity: O(N * log k) , where, ‘N’ is the total number of elements among all the linked lists, ‘k’ is the total number of lists, and ‘n’ is the size of each linked list.
Insertion and deletion operation will be performed in min-heap for all N nodes which takes log k time for each one of them.
The. interviewer was happy with this solution.
Differences between process and thread
Necessary conditions for deadlock in a system
Differences between a user-level thread and a kernel-level thread
Tip 1 : Have thorough knowledge of OS and DBMS
Tip 2 : Try to brush up important topics before the interview
This round was in the afternoon (around 2 pm). The environment was good and the interviewer was also helpful and made me comfortable before starting with the questions.



1
/ \
2 3
The root to leaf path 1->2 represents the number 12.
The root to leaf path 1->3 represents the number 13.
The total sum of all the possible root to leaf paths is 12+13 = 25
The output may be very large, return the answer after taking modulus with (10^9+7).
DFS from the root down to it's descendants:
I needed to keep current path (which stores elements in the path) so far. I also stored the remain targetSum so far (after minus value of elements in the path).
If I reached to leaf node:
Check if targetSum == 0 then we found a valid path from root to leaf node which sum equal to targetSum, so add current path to the answer.
Else dfs on left node and on the right node.
The interviewer was happy.



3 2 2
5 6 6
9 5 11
In the given matrix, 3 → 5 → 6 and 3 → 5 → 9 form increasing paths of length 3 each.
I calculated the longest path beginning with every cell. Once computed longest for all cells, I returned the maximum of all longest paths.
I first gave the solution using recursion but it had many overlapping sub-problems. So, I then gave an optimal solution using Dynamic Programming.
This round was in the afternoon (around 3 pm). The environment was good and the interviewer made me comfortable before starting with the questions.
Design a video streaming service like Netflix where user can upload/view/search videos. The system should be scalable and will be storing and transmitting large volume of data.
Tip 1 : Focus on the basic requirements of the system presented by the interviewer
Tip 2 : Go through the lectures of system design presented by Gaurav Sen on youtube.
In this round, the hiring manager asked some questions regarding the experience in my previous company and why did i wanted to leave that organisation. Then, we had discussions regarding my roles and responsibilities that I will be carrying out in this company.
Why should we hire you?
What are your hobbies?

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?