Cracking the Greedy Coding Challenge at DoorDash: My Software Engineer Journey

doordash | Software Engineer | Interview Experience

Interview Date: October 27th
Result: Not specified
Difficulty: Not specified

Interview Process

The interview consisted of a coding challenge focused on implementing a dasher payment model. The candidate faced multiple parts in the coding question, which required understanding time calculations based on dasher activities throughout the day.

Technical Questions

  1. Dasher Payment Model (Part 1)

    • Implement a payment model based on time spent on orders.
    • Calculate pay based on:
      • Base pay rate: $0.3 per minute
      • Multi-order pay rate: ongoing deliveries * base pay rate

    Example Input:

    06:15: Dx accepted order A
    06:18: Dx accepted order B
    06:36: Dx fulfilled order A
    06:45: Dx fulfilled order B
    

    Example Calculation:

    • 06:15 - 06:18 → pay = 3 * 0.3 → $0.9
    • 06:18 - 06:36 → pay = 2 orders * 0.3 * 18 → $10.8
  2. Dasher Payment Model (Part 2)

    • Adjust the previous model to exclude time spent at the store from the calculation.

    Example Input:

    06:15: Dx accepted order A
    06:18: Dx accepted order B
    06:19: Dx arrived at pick up location for A
    06:22: Dx picked up order A
    

    Example Calculation:

    • 06:15 - 06:18 → pay = 3 * 0.3 = $0.9
    • 06:18 - 06:19 → pay = 2 orders * 0.3 = $0.6
  3. Dasher Payment Model (Part 3)

    • Incorporate peak hours into the payment model to double the pay during specified times.

Tips & Insights

  • Focus on understanding the problem requirements thoroughly before jumping into coding.
  • Pay attention to edge cases and ensure that the solution adheres to the assumptions provided in the question.