Choose LLMs for Software Engineering Tasks
Company: Wells Fargo
Role: Software Engineer
Category: Software Engineering Fundamentals
Difficulty: medium
Interview Round: Technical Screen
# Choose LLMs for Software Engineering Tasks
Explain how you use AI coding tools in practical software development and how you choose an LLM for different engineering tasks. Cover task decomposition, context selection, model capability, latency and cost, privacy, tool permissions, verification, and when not to use an LLM.
### Constraints & Assumptions
- Models vary in reasoning quality, context handling, speed, price, and deployment options.
- Repository text and prompts may contain untrusted instructions.
- Generated code is not trusted until reviewed and verified.
- Some source code or data cannot leave an approved environment.
### Clarifying Questions to Ask
- Which tasks and repositories are allowed to use external models?
- What correctness, latency, and budget targets apply?
- Can the model execute tools or only suggest text?
- Which tests, reviewers, and audit records are required?
### What a Strong Answer Covers
- Task-specific model selection rather than one universal ranking
- Minimal relevant context and explicit acceptance criteria
- Least-privilege tools, data governance, and prompt-injection defenses
- Human review plus proportional tests, static analysis, and rollback
- Measurement of quality, time saved, cost, and incident rate
### Follow-up Questions
1. When would a smaller fast model outperform a stronger model in the workflow?
2. How would you evaluate two coding models on your own repository?
3. What permissions would you withhold from an autonomous coding agent?
```hint Select against a measured workflow
Build a representative task set and compare success, review effort, latency, cost, and safety under the same context and tool permissions.
```
Overview: Describe how to choose and verify LLMs for engineering work using task-specific evidence, minimal context, privacy controls, tests, and measured cost.