Summary
I interviewed for a Senior Software Engineer position at Project44, which involved several rounds covering data structures, algorithms, and low-level system design.
Full Experience
My interview process for the Senior Software Engineer role at Project44 began with an Online Assessment. Following this, I proceeded to two Problem Solving rounds, which were heavily focused on data structures and algorithms. The final stage was a Low-Level Design (LLD) round, where I had to design a specific system.
Interview Questions (3)
In one of the problem-solving rounds, I was asked to find the minimum length substring within a given string that contains exactly 'k' distinct characters.
I encountered a problem known as the 'Coin and Energy problem' during one of the problem-solving rounds. It was referenced as a HackerRank problem.
The Low-Level Design round involved designing a system for an Air Traffic Controller.
Summary
I interviewed at Project44 for an unspecified role, completing three rounds covering DSA, LLD, and HLD. Although I didn't receive an offer, it was a valuable learning experience.
Full Experience
I had an interview experience with Project44 consisting of three rounds. The first round focused on Data Structures and Algorithms, where I tackled a classic coin change variant. The second round was dedicated to Low-Level Design, specifically designing a simplified BookMyShow system. Finally, the third round involved a High-Level Design discussion for a Job Scheduler. Despite not receiving an offer, I gained significant insights across all three domains.
Interview Questions (3)
Given a target N (representing people to cover) and an array of sizes (representing coin denominations), find the minimum number of coins needed to exactly cover N. If no exact combination exists, return -1.
Examples:
- N = 5, sizes = [3,5] → 1
- N = 7, sizes = [3,5] → -1
Design a simplified BookMyShow system. Consider the following entities: Movie, Theatre, Screen, Show, Seat, Booking. Focus on handling concurrent seat selection and provide a basic class diagram along with responsibilities for each component.
Provide a high-level design for a Job Scheduler. The discussion should include the Scheduler service and how a Distributed queue (such as Kafka/SQS) would be utilized in the architecture.