# Choosing and routing models interview questions

> 6 choosing and routing models interview questions for AI and ML engineer roles, each with a model answer.

Canonical: https://llmdojo.dev/interview/topic/model-routing
Last updated: 2026-10-23

6 questions: 1 junior, 3 mid-level and 2 senior. Taught in [Choosing and Routing Models](https://llmdojo.dev/learn/production-ai-systems/model-selection-and-routing).

## [How do you choose a model for an application?](https://llmdojo.dev/interview/q/how-do-you-choose-a-model-for-an-application)

Level: Junior

Filter on **hard attributes** you can't change (licence, model size, privacy, control), narrow with public benchmarks, run **your own evaluation** balancing quality, latency and cost, then monitor in production. You want the best model for your application, not the leaderboard.

**Diagram: Choosing a model**

1. AI Engineering: hard attributes are what you can't or won't change, such as licences, training data, privacy policy, or latency of a model someone else hosts. Filter on them first.
2. Use public benchmarks and leaderboards to narrow the list, while knowing they can't be fully trusted for your task.
3. Then run your own evaluation pipeline, balancing quality, latency and cost.
4. Keep monitoring in production, and feed failures back into evaluation.
5. The book stresses the steps are iterative: you might plan to self-host, then find open models can't reach the quality you need.

## [Why pin model versions when using an API?](https://llmdojo.dev/interview/q/why-pin-model-versions-when-using-an-api)

Level: Mid-level

The model behind an API name can change, sometimes without notice. The book cites Voiceflow reporting a **10%** drop between GPT-3.5-turbo versions.

Pin a dated version where offered, and treat any switch as a release: rerun the evaluation and regression suites.

## [What does a router in front of your models do?](https://llmdojo.dev/interview/q/what-does-a-router-in-front-of-your-models-do)

Level: Mid-level

Usually an **intent classifier**: sends each query to the best solution, a specialised model, a cheaper model, a person, or a stock reply for out-of-scope requests with no model call. It can also ask for clarification. It must be small and fast, since it runs on every query.

**Diagram: A router in front of the models**

1. AI Engineering: instead of one model for every query, a router sends each to the best solution. It's usually an intent classifier, and it should be fast and cheap.
2. The book's customer-support example: password resets to the FAQ, billing mistakes to a person, technical issues to a troubleshooting bot.
3. Out-of-scope queries get a polite stock response without spending a model call.
4. Two benefits: specialised solutions can outperform a general model, and simple queries can go to cheaper models.

## [Router or cascade?](https://llmdojo.dev/interview/q/router-or-cascade)

Level: Mid-level

A router decides **before** answering, from the question. A cascade lets the cheap model answer, **checks the answer**, and escalates failures, so it decides with more evidence.

Cascades win when most queries stop at step one and a cheap, reliable check exists: a schema, a test, a validator. Escalated queries pay for both.

## [How do you set a difficulty router's threshold?](https://llmdojo.dev/interview/q/how-do-you-set-a-difficulty-router-s-threshold)

Level: Senior

Trace its **cost–accuracy curve** on your evaluation set and pick the cheapest point meeting your quality bar. In the course's illustrative example, one threshold matched the large model's 90% at about half its cost; RouteLLM reports over 2× savings in some cases.

Moving the threshold moves the borderline queries, so re-measure, broken down by query type.

## [What does a model gateway give an organisation?](https://llmdojo.dev/interview/q/what-does-a-model-gateway-give-an-organisation)

Level: Senior

One interface to every model, so a provider change happens in one place. Plus **access control** instead of shared provider keys, **usage limits** and cost tracking, **fallbacks** when a provider fails, and logging; some add caching and guardrails.

## Related
- [All interview questions](https://llmdojo.dev/interview)
