📁 Sangam Dhakal - Portfolio v2.0 - Netscape Navigator 4.0
_
□
×

πŸ“š .NET Interview Questions

377 questions for senior .NET engineer interviews, each with a 30-second answer, the full answer, a deep dive, the follow-ups interviewers ask next, and real-world production problems.

Senior-Level Judgment

When not to abstract, acceptable duplication, spotting over-engineering, refactoring strategy, technical debt and evolutionary architecture.

  1. When should you not introduce an abstraction in a .NET codebase, and how do you decide whether an interface or base class is earning its keep?

    Costs of abstraction, the one-implementation interface debate, test seams versus speculative layers, leaky abstractions over EF Core and HttpClient, and criteria for adding or removing an abstraction.

    Senior Architecture Senior-Level Judgment Β· πŸ”— 3 follow-ups Β· πŸ›  1 real-world
  2. When is code duplication acceptable or even preferable, and how do you explain that decision in a code review?

    Rule of three, the wrong abstraction, duplication across bounded contexts and services, test code, and how to justify keeping duplication to reviewers.

    Senior Architecture Senior-Level Judgment Β· πŸ”— 3 follow-ups Β· πŸ›  1 real-world
  3. How do you detect over-engineering in a .NET system, and how do you reverse it without a rewrite?

    Signals of over-engineering (layers, patterns, microservices, configurability), metrics to prove it, communicating with the team, and incremental simplification.

    Senior Architecture Senior-Level Judgment Β· πŸ”— 3 follow-ups Β· πŸ›  1 real-world
  4. How do you plan and execute a large refactoring in a production .NET system without stopping feature delivery?

    Refactoring strategy: characterisation tests, strangler fig, branch by abstraction, parallel change, feature flags, small pull requests, measuring progress, and when to stop.

    Senior Architecture Senior-Level Judgment Β· πŸ”— 3 follow-ups Β· πŸ›  1 real-world
  5. How do you manage technical debt as a senior engineer: identifying it, prioritising it and getting time to pay it down?

    Technical debt quadrants, making debt visible, measuring interest, prioritising with business impact, debt registers, capacity allocation and communicating with product owners.

    Senior Behavioral Senior-Level Judgment Β· πŸ”— 3 follow-ups Β· πŸ›  1 real-world
  6. What is evolutionary architecture, and how do you design a .NET system so its architecture can change safely over time?

    Evolutionary architecture: fitness functions, incremental change, last responsible moment, reversible decisions, modular monolith to services, ADRs, and architecture tests in CI.

    Staff / Architect Architecture Senior-Level Judgment Β· πŸ”— 3 follow-ups Β· πŸ›  1 real-world

🌐 Sangam's Webring

βͺ Previous 🏠 Main Next ⏩
πŸ’¬ Chat with me