Allen Digital | SDE2 | Banglore | June 2025 [Ghosted]
Anonymous User
918

Hey Community,

I’m currently working as an SDE-2, and recently had the opportunity to interview with Allen Digital for a Backend SDE-2 role. I applied through LinkedIn.

Round 1 (Machine Coding) – Cab Driver Billing System
Problem Statement:

You are part of a cab aggregator company, Allen Cabs, similar to Ola/Uber. As part of the Driver Billing team, you need to build a system that periodically generates bills for drivers based on the distance they've driven.

Platform Capabilities:

Drivers are onboarded to Allen Cabs and assigned a unique ID.

Vehicles are classified into three categories based on their model:

Economy

Premium

Luxury

Billing is based on the distance driven during trips, which can be:

Intra-city

Outstation

Billing Rates:

Intra-city:

Economy – ₹5/km

Premium – ₹12/km

Luxury – ₹15/km

Outstation: Charges are 2x of intra-city rates.

Cancellation Policy:

If a driver cancels the trip → fine of ₹10.

If a customer cancels the trip → driver is compensated ₹10.

Bonus Requirements (optional):

Variable cancellation fee based on trip type and vehicle category.

Ability to generate bills for a given time interval.

Drivers can either use:

Personal vehicles, or

Leased vehicles (leased from Allen Cabs, Allen charges x% of the bill as commission).

Method Signatures & Sample Inputs

AddDriver
AddDriver("Sachin", "+91-9936673000", "D101")
AddDriver("Ramesh", "+91-9936673011", "DL_02")
AddDriver("Manjunath", "+91-9936673010", "DL_03")

AddVehicle
AddVehicle("KA-01-2222", "Maruti Suzuki", "ECONOMY")
AddVehicle("KA-01-2223", "Ertiga", "PREMIUM")

MapDriverToVehicle
MapDriverToVehicle("Ramesh", "KA-01-2222")
MapDriverToVehicle("Manjunath", "KA-01-2223")

AddTrip
AddTrip(50, 1723116023, 1723117023, "INTRACITY", "COMPLETED", "Ramesh")
AddTrip(1050, 1723116023, 1723117023, "OUTSTATION", "COMPLETED", "Ramesh")
AddTrip(50, 1723116023, 1723117023, "INTRACITY", "CANCELED_CUSTOMER", "Ramesh")
AddTrip(50, 1723116023, 1723117023, "OUTSTATION", "CANCELED_DRIVER", "Manjunath")
AddTrip(70, 1723116023, 1723117023, "OUTSTATION", "COMPLETED", "Manjunath")

GetBill
GetBill("Ramesh") => (50 * 5) + (1050 * 10) + 10 = ₹10,560
GetBill("Manjunath") => -10 + (70 * 12 * 2) = ₹1,670
I was able to pass all test cases. For the bonus requirements, I discussed my approach with the interviewer, and he seemed satisfied with the direction I took.

Round 2 (DSA)

Search in Rotated Sorted Array - https://leetcode.com/problems/search-in-rotated-sorted-array/description/

Meeting Rooms II - https://leetcode.com/problems/meeting-rooms-ii/description/

I solved both problems starting from the brute-force approach and then optimized them step-by-step. These are fairly common problems and I was well-prepared for them.

Round 3 (HLD + LLD)
The interviewer was quite experienced. We began by discussing my previous projects and work experience. Then, I was asked to design a Ticket Booking System similar to IRCTC.

Here’s what I covered:

Identified and discussed core entities and their relationships.

Asked for and incorporated the interviewer’s feedback throughout the discussion.

Transitioned into the High-Level Design, covering components and request flow.

Toward the end, I was asked to add support for User Preferences (like berth choice).

I discussed possible design patterns that would allow such changes to be accommodated in a scalable and maintainable way.

The interviewer seemed satisfied with my design and thought process.

Final Result
Unfortunately, despite multiple follow-ups with the TA Coordinator, I never received any concrete feedback. The only response I got was:

“I’ll get back to you soon.”

Hope this post helps others preparing for backend interviews!

Comments (1)