doordash | 软件工程师 | Interview Experience
Interview Date: Not specified
Result: Rejected
Difficulty: Not specified
Interview Process
-
Tech Screen (10/17): Coding challenge on HackerRank. The candidate was required to write test cases and manage time effectively.
- Question: Leetcode-style problem.
-
System Design (10/27): Designed a URL Shortener on a HackerRank whiteboard.
- Considerations:
- How to calculate system availability.
- Avoiding single-point failure when using a global counter.
- Handling 1 million TPS read requests after a write.
- Implementing internationalization for access to short URLs created in different regions.
- Considerations:
-
Behavioral Questions:
- Interviewer: Hiring Manager
- Questions:
- Why DoorDash?
- How to handle feedback and improve?
- Conflict resolution strategies.
-
Debugging (10/28): Debugging a problem related to a Dasher Picker on HackerRank.
- Task:
- Implement
addDasherto add a dasher to a map. - Implement
pickDasherto randomly select a dasher and adjust the map accordingly. - Discuss optimizations, thread safety, and handling service restarts.
- Implement
- Task:
-
Code Craft: Implemented a Bootstrap API on HackerRank.
- Considerations:
- Exception handling, multi-threading, retry logic, and timeout management.
- Considerations:
Technical Questions
- Design URL Shortener: System Design, Availability, Distributed Systems, Internationalization, Caching
- Dasher Picker: Data Structure, Random Selection, Thread Safety, Persistence
Tips & Insights
- Be prepared to write test cases during coding challenges.
- Understand system design principles, especially around availability and scaling.
- Practice behavioral questions to articulate experiences effectively.