Allen Digital | SDE3 | Banglore | December 2024 [Reject]
Anonymous User
1841

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. The recruiter reached out to me on LinkedIn

Round 1(Machine Coding) -

Problem Statement:
You have to design and implement a logger library that applications can use to log messages.
Client/application make use of your logger library to log messages to a sink 


Platform Capabilities:

Message

  1. has content which is of type string
  2. has a level associated with it 
  3. has namespace associated with it to identify the part of application that sent the message 
    Sink
  4. This is the destination for a message (e g text file, database, console, etc) 
  5. Sink is tied to one or more message level 
    Logger library 
  6. Requires configuration during sink setup
  7. Accepts messages from client(s)
  8. Routes messages to appropriate sink based on the level 
  9. Supports following message level in the order of priority: FATAL, ERROR WARN, INFO, DEBUG.
    1. 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
      Fatal, Error,Warn, Info
  10. Enriches message with additional information (like timestamp) while directing message to a sink 
  11. Should not impact the application flow.

Sending messages 

  1. Sink need not be mentioned while sending a message to the logger library.
  2. A message level has a 1:1 mapping with sink. 
  3. Client specifies message content, level and namespace while sending a message 

    Logger configuration (see sample below) 
  4. Specifies all the details required to use the logger library.
  5. One configuration per association of message level and sink 
  6. You may consider logger configuration as a key-value pair 
  7. Example: 
  • logging level 
  • sink type 
  • details required for sink (eg 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.

Verdict: Hire

Round 2(DSA) -
Question 1:
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 :)

Question 2:
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
Suggested an approach using priority_queue

Verdict: Hire

Round 3(HLD+LLD) -
Design AllenFit(very similar to cult.fit)

  1. Discussed data models in detail
  2. Discussed High Level Design, both Monolith and MicroService architecture
  3. DIscussed API signatures

Verdict: No Hire

Overall Verdict: No Hire

Microsoft Interview Experience
Flipkart Interview Experience
Linkedin Interview Experience
Groupon Interview Experience
super.money Interview Experience

Comments (2)