Tip 1 : Become Pro in atleast one programming language (preferably Java/C++)
Tip 2 : Master DSA and solve a lot of problems on various platforms (leetcode,hackerrank,codechef,etc)
Tip 3 : Make some good projects related to your field of expertise, and do it on your own and deploy it.
Tip 1: Use some good Templates (I used novoresume to build my resume)
Tip 2: Don't put irrelevant things
Tip 3 : Highlight the technologies used in your projects & internships
Three DSA based questions were asked and this round was Live coding round
Think using Heap concept



1. Every train will depart on the same day and the departure time will always be greater than the arrival time. For example, A train with arrival time 2240 and departure time 1930 is not possible.
2. Time will be given in 24H format and colons will be omitted for convenience. For example, 9:05AM will be given as "905", or 9:10PM will be given as "2110".
3. Also, there will be no leading zeroes in the given times. For example, 12:10AM will be given as “10” and not as “0010”.
solved using Mores Algo



Here, sorted paths mean that the expected output should be in alphabetical order.
Given a square matrix of size 4*4 (i.e. here 'N' = 4):
1 0 0 0
1 1 0 0
1 1 0 0
0 1 1 1
Expected Output:
DDRDRR DRDDRR
i.e. Path-1: DDRDRR and Path-2: DRDDRR
The rat can reach the destination at (3, 3) from (0, 0) by two paths, i.e. DRDDRR and DDRDRR when printed in sorted order, we get DDRDRR DRDDRR.
I solved using DP concept
One medium-level DS and Algo-based questions were asked by the interviewer followed by OS



Input: 'a' = [7, 12, 1, 20]
Output: NGE = [12, 20, 20, -1]
Explanation: For the given array,
- The next greater element for 7 is 12.
- The next greater element for 12 is 20.
- The next greater element for 1 is 20.
- There is no greater element for 20 on the right side. So we consider NGE as -1.
I have solved using stack
What are semaphores?
Follow up questions -
What is critical section problem?
Code it with multithreading program. (i used java)
What is thread? What is process? Differences between them.
Execution flow in multithreaded program, with preemption and critical section problem happening. And how semaphores are actually helping to overcome this problem.
Other methods to solve critical section problem -
Locking Mechanism (With pseudo code)
Mutex. What is it? Semaphore vs mutex
Mainly focused on my project
He choose my Android Project to have a indepth discussion (Android chat application using end-to-end encryption using AES).
He asked me to present the code, i opened android studio, with my screen being presented.
I explained the folder structure, and how everything is working, and how we are interacting with the database (Firebase).
Then he asked on what basis we are fetching the user list, and i also showed the data stored (in Firebase console).
Then he asked about the encryption part, why we are doing it.
Then he saw that, i was storing the chat data, twice in the database, on in the room for sender and one for the receiver. Basically i was concatenating the user IDs to create room , so there were two rooms created,
He asked me to change the logic so that, chat gets stored once only, so i had to create a common room, such that both sender and receiver can fetch the chat details. To create a common room for both users, i used character by character ASCII sum of both user IDs, so it will be common on both sides, and chat data can be fetched from the database using a common Room ID.
Brush up all the concepts you used in projects and try keep proper eye contact with interviewer while answering.

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