Tip 1: Stay consistent with your preparation. It matters, as even small efforts contribute to building a better career.
Tip 2: Don’t get demotivated by rejections. One day, your dream offer will surely come your way.
Tip 3: Make sure you can justify everything you have written in your resume.
Tip 1: Keep it crisp and clear.
Tip 2: You should be able to justify everything you have written.
This round was scheduled for the evening. It focused on DSA and system design fundamentals. The interviewer was calm, introduced himself, and asked me to introduce myself as well.



1. I first tried a brute-force approach by generating all permutations and finding the smallest one greater than the current one.
2. The interviewer asked me to solve it in a more optimal way.
3. I then used a greedy approach by sorting the desired suffix and swapping the required elements. The interviewer was satisfied with the approach.
The interviewer asked about a project I had worked on in my previous company and then asked me to explain its high-level design. He also asked follow-up questions, including whether I used OAuth 2.0 and some Android fundamentals, since I was applying for an Android Developer role.
Tip 1: You should be able to justify everything you have written in your resume.
Tip 2: If you don’t know an answer and it is not mentioned in your resume, you can honestly say that you don’t know it in depth, as you haven’t worked on it.
Tip 3: Always ask questions to the interviewer after the interview is over.
This was a pure system design round. The interviewer was calm, introduced himself as the manager of the team, and asked me to introduce myself as well. The round was scheduled in the evening.
The interviewer asked about FCM (Firebase Cloud Messaging), how it works, and what is contained inside the google-services.json and service-account.json files. He also asked about the SMS Retriever API used to retrieve OTPs without the READ SMS permission.
Additionally, he asked about frameworks like Retrofit and Dagger.
Tip 1: Don’t stick to just one framework, even if you have only used one. It is more important to understand the problem it solves and how it works.
Tip 2: If you don’t know an answer, tell the interviewer honestly rather than giving an incorrect answer.
Tip 3: Always ask questions to the interviewer after the interview is over.
It was held in the evening. The interviewer introduced himself as the Director of Engineering. He was energetic and asked me to introduce myself as well.



Input: ‘n’ = 4, ‘a’ = [3, 6, 2, 8] , ‘h’ = 7
Output: 3
Explanation: If ‘m’ = 3, then
The time taken to empty the 1st pile is 1 hour.
The time taken to empty the 2nd pile is 2 hour.
The time taken to empty the 3rd pile is 1 hour.
The time taken to empty the 4th pile is 3 hour.
Therefore a total of 7 hours is taken. It can be shown that if the rate of eating bananas is reduced, they can’t be eaten in 7 hours.
1. I started with a brute force approach of traversing all piles from length 1 to the maximum length of the pile in the array. But it could fail in case of long integers.
2. The interview was asked to optimise it.
3. Then I went for the Binary Search algorithm and solved it in O (N*log(Maximum element in array)) time complexity. The interviewer was satisfied with this approach.



1. If ‘k’ is not present in 'arr', then print -1.
2. There are no duplicate elements present in 'arr'.
3. 'arr' can be rotated only in the right direction.
Input: 'arr' = [12, 15, 18, 2, 4] , 'k' = 2
Output: 3
Explanation:
If 'arr' = [12, 15, 18, 2, 4] and 'k' = 2, then the position at which 'k' is present in the array is 3 (0-indexed).
1. I started with brute force linear search.
2. The interviewer asked to optimise the solution.
3. Then I went for a binary search solution and solved the problem in O (log(n)) time complexity.



The width of each bar is the same and is equal to 1.
Input: ‘n’ = 6, ‘arr’ = [3, 0, 0, 2, 0, 4].
Output: 10
Explanation: Refer to the image for better comprehension:

You don't need to print anything. It has already been taken care of. Just implement the given function.
1. I started with brute force approach. For each bar, I scanned all bars to its left and right to find the maximum height, resulting in nested loops.
2. The interviewer asked to optimise the solution.
3. I suggested a stack-based approach, which resulted in a reduction in Time complexity from O (n^2) to O(n).

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
Which traversal uses a queue as its primary data structure?