Summary
Had a successful interview with Innovaccer for SDE 2 role. Focused on DSA with one coding problem and a few behavioral questions. Got an offer.
Full Experience
Applied for SDE 2 role at Innovaccer. The interview process started with a coding round where I was given a problem related to the gas station problem. I solved it using the circular array approach. Then there were a few behavioral questions about past projects and problem-solving experiences. The overall experience was positive and I was offered the position.
Interview Questions (1)
You have a circular gas station with N gas stations. Each station i has a certain amount of gas to travel to the next station. You start at station 0 and need to determine if there is a starting point that allows you to travel around the circuit once, given that you can't have negative gas at any point.
Summary
I successfully navigated through all four rounds of interviews for the SDE-1 Backend role at Innovaccer and received an offer with a package of 20 LPA base + 1 LPA joining bonus.
Full Experience
Round 1
This round focused on a mix of problem-solving and foundational knowledge. I was asked to find the largest substring with non-repeating characters. Additionally, there were questions testing my understanding of Python basics, MySQL queries, and MongoDB queries.
Round 2
The second round was primarily focused on data structure design. I was tasked with implementing both an LRU (Least Recently Used) cache and an LFU (Least Frequently Used) cache. Further questions delved into Python-related topics and database concepts, specifically comparing SQL vs NoSQL.
Round 3: Hiring Manager Round
In this round, I encountered an N-ary tree question, which I found relatively easy. The discussion also included questions on API design principles and an in-depth review of my past projects.
Round 4: Hiring Manager Round (Specific to my application)
This round was conducted specifically for me as my application was moved to another team. There were no DSA questions since my feedback from previous rounds was already available. The focus was entirely on an in-depth discussion about my projects and general behavioral questions, such as my reasons for switching roles and preferred location.
My status after all rounds was 'Cleared', and I received an offer.
Interview Questions (3)
Given a string, find the length of the longest substring without repeating characters.
Design and implement a data structure for a Least Recently Used (LRU) cache. It should support get and put operations. get(key) retrieves the value of the key if it exists, otherwise returns -1. put(key, value) inserts/updates the value if the key is not already present. When the cache reaches its capacity, it should invalidate the least recently used item before inserting a new item.
Design and implement a data structure for a Least Frequently Used (LFU) cache. It should support get and put operations. get(key) retrieves the value of the key if it exists, otherwise returns -1. put(key, value) inserts/updates the value if the key is not already present. When the cache reaches its capacity, it should invalidate the least frequently used item. If there is a tie, the least recently used item should be removed.