Etsy·Data Scientist·Onsite - System Design / Architecture
- Given query and click log data with fields like user ID, timestamp, locale, device, typed prefix, suggested term, position, click indicator, dwell time, downstream query, and eventual success, design an ML system to re-rank autocomplete candidate suggestions for each prefix.
- What labels best capture long-term user success in an autocomplete system, and how do you construct train/validation splits that avoid temporal leakage?
- How would you correct for position and selection bias in the click logs, for example through counterfactual logging, inverse propensity weighting, or randomized interleaving?
- What feature sets would you use, covering contextual signals, lexical features, popularity time series, and semantic embeddings, and how do you handle multilingual text and Unicode normalization?
- What model architecture would you choose given latency and memory constraints at serving time, and what's your fallback strategy for cold-start terms or new users?
- How would you limit feedback loops, concept drift, and surfacing of unsafe or low-quality suggestions over time?
- Walk through your offline and online evaluation plan for this system, including what rollback criteria you would set.
“This was a lot.”