After years of reading through interview posts here, I thought to give it back to the community.
Round 1:
This round was primarily focused on DSA.
Maximum Product Subarray: https://leetcode.com/problems/maximum-product-subarray/
Then a slight modification to return the subarray as well.
Implement LRU Cache in O(1) time in Java. Then, I was asked to design such a code that user can select which algorithm he wants to use for cache like LRU, LFU etc, and reuse same code as much as possible.
Round 2:
This round was specifically to test my Java.
1st I was asked about OOPS concept.
2nd I was asked abstract class, its implementation, etc.
Then I was asked how Abstract class is different from interface and to implement interface.
Then, some code snippets were given to me and I was asked for code-pair and do some operations on abstract class and interfaces examples. This was very complex to be honest and java concepts to the core were tested here. Then, I was asked if 2 interfaces can be implemented by abstract.
Next, I was asked to implement polymorphism.
Then threading in java was asked and was to create the thread(extending the class, implementing runnable interface, implementing callable).
Then, a LLD snapshot was given and I was given api contracts, I had to design models their data-types, repository, service and controller(only pseudo-code was asked). Then, I was asked to use SQL for data implementation as earlier I was using in-memory storage.
Then I was asked types of Joins and differences between them.
As I was a nodejs developer in my previous role, so I was asked how a server runs in nodejs, what is http protocol.
The interviewer seemed satisfied at the end and gave positive review.
Round 3(Managerial Round):
The interview started with the introduction. We had discussions around my project and what was my role in it. Then what all I have implemented in my previous role and interviewer wanted to understand my projects. Also, she wanted to know whether I knew about my contribution in GMV terms like what impact I was creating. I was asked if I contribute to open-source and if I had any projects there as well. Apart from these, some behavioral questions were also asked.
After this, there was discussion about usage of AI in my current role and what use cases I can use AI in.
Round 4(Directorial Round):
This was by far the most grilling round. I was asked about a project I had mentioned of mysql to cassandra migration. What are the differences between the two? Benefits and shortcomings of each. Types of keys etc. For each project interviewer went deep and deep, he also asked mathematics behind some of the functions.
The process took around 2 weeks in total. In third week, I was informed that I was selected.
Overall Verdict: Selected
Offer details: https://leetcode.com/discuss/post/6818835/adobe-mts-2-offer-noida-by-anonymous_use-nunk/