Microsoft SDE Intern Interview Experience
💼 LTIMindtree Interview Experience (On-Campus) | Fresher | 2026
Salesforce SMTS | Interview Experience | Rejected
JPMC | SDE2 (Associate) - Java Backend - Interview Experience + Compensation
Microsoft - SDE2 - Coding Round
Allen Digital | SDE3 | Banglore | December 2024 [Reject]
Summary
I interviewed with Allen Digital for an SDE-3 backend role, which involved machine coding, DSA, and system design rounds. Despite strong performances in the initial rounds, I ultimately received a rejection due to the system design round.
Full Experience
Hey everyone, hope you're doing well! I currently work as an SDE-2 at Amazon and recently had the opportunity to interview with Allen Digital for an SDE-3 backend role after being reached out to by a recruiter on LinkedIn.
Round 1 (Machine Coding)
I was given a problem to design and implement a logger library that applications could use to log messages to various sinks. The problem statement detailed platform capabilities, message properties (content, level, namespace), sink requirements, logger library functionality (configuration, routing, enrichment, non-impact on application flow), and message sending specifics. Bonus capabilities included no information loss and dynamic log level updates.
Verdict: Hire
Round 2 (DSA)
This round had two questions.
- Question 1: I was presented with a list of locations, where each location was a list of regions from specific to general. The task was to find the smallest common area (region) that contained two given areas. The example provided was finding the smallest area for 'Bengaluru' and 'Pune' from a global hierarchy, with the output being 'India'. This was explicitly stated as an LCA problem.
- Question 2: Allen had several classes, each with a certain number of students and a given pass ratio. The challenge was to admit new students in a way that maximized the overall pass ratio for Allen. I suggested an approach using a priority queue for this problem.
Verdict: Hire
Round 3 (HLD+LLD)
This round focused on designing AllenFit, a platform very similar to cult.fit. We discussed data models in detail, explored both Monolith and MicroService architectures for the High-Level Design, and covered API signatures.
Verdict: No Hire
Overall Verdict: No Hire
Interview Questions (4)
You have to design and implement a logger library that applications can use to log messages. Clients/applications make use of your logger library to log messages to a sink.
Platform Capabilities:
- Message:
- Has content which is of type string.
- Has a level associated with it.
- Has namespace associated with it to identify the part of application that sent the message.
- Sink:
- This is the destination for a message (e.g., text file, database, console, etc.).
- Sink is tied to one or more message levels.
- Logger library:
- Requires configuration during sink setup.
- Accepts messages from client(s).
- Routes messages to appropriate sink based on the level.
- Supports following message level in the order of priority: FATAL, ERROR, WARN, INFO, DEBUG. Message levels with higher priority above a given message level should be logged. Ex: If INFO is configured as a message level, FATAL, ERROR, WARN and INFO should be logged.
- Enriches message with additional information (like timestamp) while directing message to a sink.
- Should not impact the application flow.
Sending messages:
- Sink need not be mentioned while sending a message to the logger library.
- A message level has a 1:1 mapping with sink.
- Client specifies message content, level and namespace while sending a message.
Logger configuration (see sample below):
- Specifies all the details required to use the logger library.
- One configuration per association of message level and sink.
- You may consider logger configuration as a key-value pair.
- Example:
- logging level
- sink type
- details required for sink (e.g., file location)
Bonus Capabilities:
- No information loss. Logger library should log all the messages before the client application shuts down.
- Log Level for the application can be updated dynamically.
Given a list of locations, where each location is represented by a list of regions from specific to general (e.g., ["Bengaluru", "Bellandur", "Marathahalli"]), find the smallest area (region) that contains both Area1 and Area2.
Example:
Input:
Locations = [["Bengaluru", "Bellandur", "Marathahalli", "Kormangala"], ["Karnataka", "Bengaluru", "Mysuru"], ["Maharashtra", "Mumbai", "Pune"], ["India", "Karnataka", "Maharashtra"], ["Italy", "Rome", "Venice"], ["World", "India", "Italy"]]
Area1 = "Bengaluru"
Area2 = "Pune"
Output:
Smallest area containing Area1 and Area2: "India"
LCA problem :)
Allen has a few classes, each with a certain number of students and a given pass ratio (number_of_students_passed / total_number_of_students_in_class). New students need to be admitted in a way that it maximises the pass ratio for Allen.
Design AllenFit, a platform very similar to cult.fit. The discussion covered various aspects of the system:
- Detailed discussion of data models.
- High-Level Design, exploring both Monolith and MicroService architecture approaches.
- Definition and discussion of API signatures.