doordash | Software Engineer | Interview Experience
Interview Date: Not specified
Result: Not specified
Difficulty: Not specified
Interview Process
The interview process consisted of three rounds:
-
First Round (Technical Interview)
- Self-introduction and project discussion. The interviewer focused on a distributed system project I worked on, with follow-up questions about concurrency and data consistency.
- Coding challenge: Implement an LRU Cache, followed by a follow-up question to extend it to LFU (Least Frequently Used).
- Behavioral question: How do you handle disagreements with team members?
-
Second Round (Technical Interview)
- System design: Design a Delivery ETA system (similar to calculating delivery times for riders). Key considerations included:
- Data input (traffic, distance, prep time)
- Algorithm estimation methods
- Scalability (ability to scale to millions of orders)
- System design: Design a Delivery ETA system (similar to calculating delivery times for riders). Key considerations included:
-
Third Round (Manager / Hiring Manager Interview)
- Discussion about two teams within the company and logistics.
- Topics included career path, motivation for joining DoorDash, and interest in logistics/payment systems.
- Questions about team preference: consumer, merchant, or dasher.
- Discussed salary range (base + equity + sign-on).
- Location options included San Francisco, New York City, or Seattle.
Technical Questions
- LRU Cache
- System design
Tips & Insights
- Focus on practicing high-frequency LeetCode problems, particularly in areas such as Arrays, Graphs, Dynamic Programming, and Sliding Window.
- For system design, study scalability and trade-offs thoroughly.
- Behavioral questions should be prepared using the STAR framework, particularly for scenarios involving conflict, leadership, and failure.
- Overall, the interviewers were friendly and provided helpful hints during the process.