Katkat

Implement ad matching and delivery routing

AmazonSoftware Engineer · Technical Screen

Last updated

Implement ad matching and delivery routing evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

Part A: Implement a data structure for an ad-matching service that supports add(campaign), remove(campaign), and match(request), where a request has attributes (e.g., location, device, interests) and campaigns specify targeting predicates and budgets. Optimize for fast matching and frequent updates; discuss complexity and trade-offs. Part B: Given a weighted road graph with nonnegative edges, a depot, and N delivery stops, implement plan_route(graph, depot, stops) to produce a near-optimal route. Compare exact versus heuristic approaches (e.g., shortest paths plus TSP heuristics), analyze complexity, and handle practical constraints such as capacity or time windows.