Design a machine learning model system for predicting the ego vehicle's future behavior in an autonomous driving context. The design should cover: (1) what inputs the model takes (e.g., sensor data, map information, surrounding agent states), (2) what outputs the model produces (e.g., predicted trajectories, maneuver intents), (3) how to quantify and represent uncertainty in the predictions, and (4) what outputs/contracts are appropriate to expose to downstream consumers (e.g., planning, motion control modules). The question is highly role-specific for a Behavior Prediction engineer and is probed in detail rather than breadth.
Naive approach with serious trade-off — being authored.
Solid baseline with reasonable trade-offs — being authored.
Production-grade approach with explicit trade-off rationale — being authored.
Naive approach with serious trade-off — being authored.
Solid baseline with reasonable trade-offs — being authored.
Production-grade approach with explicit trade-off rationale — being authored.
Naive approach with serious trade-off — being authored.
Solid baseline with reasonable trade-offs — being authored.
Production-grade approach with explicit trade-off rationale — being authored.
Cover happy path. Clarify scope. Identify the obvious bottleneck. Pick a reasonable storage and reasonable scaling approach.
All of the above plus: explicit failure handling, durability vs latency trade-offs, choose the right batching/caching strategy, articulate why.
All of the above plus: organizational concerns (rollout, migration, on-call), quantitative analysis, multi-region considerations, what could go wrong with the proposed solution at 10x scale.
Common mistakes: Treating this as a generic ML system design without grounding in autonomous driving specifics (ego vs. agent distinction, map context); Outputting only a single deterministic trajectory instead of a multimodal distribution; Not addressing uncertainty quantification at all, or conflating aleatoric and epistemic uncertainty; Ignoring the downstream data contract — failing to specify what the consuming module (planner) actually needs
What passers do: Candidate with strong domain knowledge (AV-related PhD/internship) who could address inputs, outputs, uncertainty, and downstream contracts fluently; Structured the answer around a production ML pipeline with clear module boundaries; Proactively discussed multimodal trajectory outputs and calibration of uncertainty estimates
Edge cases probed: How to handle highly ambiguous scenarios (e.g., unprotected left turns, merges) in the output distribution; How downstream consumers should handle low-confidence or high-uncertainty predictions; What happens when ego is in an out-of-distribution environment (e.g., construction zones)
Alternative approaches: Single deterministic trajectory output (Simpler interface for downstream consumers but loses multimodal uncertainty; fails in ambiguous scenarios like unprotected turns or merges; not suitable for safety-critical planning.); Occupancy grid / probabilistic map output (More general representation than explicit trajectories; easier to aggregate multiple agents; but loses interpretability of discrete intent modes and harder to use directly in trajectory-based planners.); Conditional imitation learning / policy-based prediction (Can capture complex driving styles; but training distribution mismatch (covariate shift) and harder to quantify uncertainty explicitly.)