Question library
Explained questions for the decisions developers make.
Tests pass locally but fail in CI. Why?
A local/CI mismatch means the test depends on something that differs between environments. Common differences include runtime versions, installed files, operating-system behavior, time, service availability or test order. Reproducing the CI command in a clean setup exposes these hidden assumptions.
How were errors handled?
Error handling defines what happens when inputs, business rules or dependencies fail. A reliable API returns an appropriate response while preserving enough internal context for diagnosis. The answer should describe actual behavior rather than promise that errors were simply “handled centrally.”
How were integrations handled?
An integration connects your system to an external provider with its own data format, identity rules and availability. A good answer covers both data mapping and operational behavior such as timeouts and rate limits. The integration boundary is where many partial failures and mismatched assumptions appear.
What performance issue did you face?
A performance story starts with a measured symptom and the workload that exposed it. It should explain how you separated potential causes and what work the final change reduced. A faster-looking code snippet is not a complete result without checking the same behavior and load.
How do I explain stored procedure optimization?
A stored procedure is database-side code that groups SQL operations and control flow into a callable unit. It can reduce application round trips and centralize data logic, but a procedure can still contain slow queries or hold locks too long. Optimization begins by finding the expensive statements and understanding their plans and transaction behavior.
What review comment would I leave?
A useful review comment explains an observable problem, its consequence and a concrete improvement. It should be specific enough to act on while leaving room for the author to discuss constraints. Focus on behavior and evidence rather than criticizing who wrote the code or whether AI generated it.
Explain your most difficult project.
A difficult-project answer should focus on one concrete challenge and how you handled it. The interviewer is assessing problem solving, ownership and learning more than the project's impressive name. Use real constraints and evidence so the explanation remains defensible under follow-up questions.
Tell me about a production issue.
A production-incident answer explains impact, investigation, mitigation and prevention in a clear order. It should show that you worked from evidence and reduced risk while users were affected. Use a genuine incident and avoid claiming a root cause you never confirmed.
Tell me about a technical disagreement.
A technical-disagreement answer shows how you compared competing priorities and reached a workable decision with others. The goal is to explain reasoning and collaboration, not prove that you won an argument. Use an example where evidence, constraints or a small experiment helped the team choose.
Tell me about a decision you changed later.
Changing a technical decision can show good judgment when new evidence invalidates an earlier assumption. Explain why the original choice was reasonable at the time and what information changed. Then describe how you migrated safely rather than simply declaring the first choice bad.
Functions, classes, modules, and exceptions
Functions package operations; classes group state and behavior; modules are importable Python files or packages. Exceptions represent errors that interrupt normal control flow until handled. These serve the same broad purposes as functions, classes, imports,…
LangChain agents versus simple code
LangChain agent construction combines models, tools, and runtime behavior into an agent interface. Simple code uses direct SDK calls and ordinary functions instead. Both can produce production applications if their reliability and security requirements are…
Choosing orchestration tools
Workflow engines and job systems provide different guarantees for dispatch, persistence, recovery, waiting, and coordination. Temporal is a durable workflow platform; BullMQ is a Redis-backed job library; Inngest and Trigger.dev offer developer-oriented…
Prompt injection, indirect injection, and jailbreaking
Prompt injection is an attempt to make a model follow an attacker's instructions instead of the intended task. Indirect injection places those instructions in external content, such as a PDF, webpage, email, or tool result. Jailbreaking generally attempts to…
Tool poisoning and excessive agency
Tool poisoning uses malicious tool definitions or descriptions to influence model behavior. Excessive agency gives the AI more permissions or autonomy than its task needs. A harmless-looking tool name can conceal a sensitive operation or destination.
Golden datasets, test cases, and regression testing
A golden dataset is a curated set of representative inputs with expected outcomes, reference evidence, and scoring criteria. Regression testing reruns these cases after changes. AI tests often allow multiple acceptable phrasings while requiring the same…
Failure handling, evaluation, and operational review
A production reference design specifies failed and uncertain outcomes as carefully as successful ones. Evaluation checks behavior before release; observability detects failures in actual runs. Human escalation is an explicit supported outcome.
Microsoft Agent Framework
Beginner — What is MAF?
Difficulty is an editorial estimate. Completion means you chose to mark a question as understood.