Acko | SDE-1 | Interview experience
Summary
I interviewed for an SDE-1 role at Acko. The process involved two rounds: a machine coding round focusing on designing Splitwise's core functionalities, and a High-Level Design round for a document processing system. I successfully implemented the requirements, even impressing the interviewer with an unasked-for feature, and received positive feedback.
Full Experience
Company: Acko General Insurance Role: SDE-1 Location: Bangalore Experience: 1.2 YOE (small scale startup) Cold mail Total rounds: 2
Round 1 – Machine Coding
Total time: 1h
- Problem: Design Splitwise (Core Functionalities)
- 5 min requirement gathering
- 50 min coding
- 5 min discussion
- Requirements:
- Add users
- Create groups
- Add members to groups
- Add expenses
- Support getting total owed / owe:
- Within a specific group
- Across all groups combined
- Explicit instruction: due to time contraint can keep equal split only
Implemented all the functionalities required, also added the unequal split as well(though was told, can keep to equal split for now), but after tesing interviewer asked on how can we add unequal split and when I showed it already implemented, he was really impressed. 50 minutes felt slightly tight, but overall it went really well.
Got call for next interview with the Tech Lead.
Round 2 – HLD
Total time: 1h
- Design a Document Processing System
- Sync vs Async processing
- Trade-offs between both approaches
- Message queues
- Event-driven architecture
- Retry mechanism
Overall more inclined towards basics of HLD rather than this particular system. Got positive feedback from HR the next day.
Other experiences: Zomato: https://leetcode.com/discuss/post/7617100/zomatodistrict-sde-1-interview-experienc-770j/ Urban Company: https://leetcode.com/discuss/post/7617185/urban-company-sde-1-interview-experience-6q0a/
Interview Questions (2)
Design Splitwise (Core Functionalities)
Problem: Design Splitwise (Core Functionalities) - 5 min requirement gathering - 50 min coding - 5 min discussion
- Requirements:
- Add users
- Create groups
- Add members to groups
- Add expenses
- Support getting total owed / owe:
- Within a specific group
- Across all groups combined
- Explicit instruction: due to time contraint can keep equal split only
Design a Document Processing System
Design a Document Processing System - Sync vs Async processing - Trade-offs between both approaches - Message queues - Event-driven architecture - Retry mechanism