I started with the obvious stuff, n-gram models, then moved to neural approaches, but I kept second-guessing how much time to spend on model architecture versus serving latency.
Start by clarifying the scope and requirements (e.g., mobile keyboard vs. search bar, latency, personalization). Then outline a high-level architecture covering data, model, training, and serving, and dive into trade-offs for key components like model choice and serving infrastructure.
Pro tip: Emphasize the latency-accuracy trade-off and propose a two-stage approach: a fast candidate generator (e.g., n-gram or small neural model) followed by a more accurate ranker (e.g., large transformer) only when latency permits.
Ask about the use case (e.g., mobile keyboard, search bar), latency constraints, scale (QPS), personalization needs, and evaluation metrics (e.g., top-1 accuracy, perplexity).
Outline the end-to-end system: data collection and preprocessing, model training, model serving, and client integration. Mention offline vs. online components.
Discuss model choices (n-gram, RNN, Transformer) and trade-offs. Cover training data (user history, global corpus), techniques (e.g., distillation, quantization), and personalization.
Explain how to serve predictions with low latency: caching, batching, model compression, and fallback strategies. Consider edge vs. cloud deployment.
Define offline metrics (perplexity, accuracy@k) and online metrics (CTR, user engagement). Discuss A/B testing and continuous improvement.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.