📝 Interview Question Bank for Full Stack Candidates¶
1. .NET Core (Backend)¶
- What’s the difference between ASP.NET Core Web API and gRPC services? When would you choose one over the other?
- How do you structure a repository pattern using EF Core or NHibernate? Can you explain lazy loading vs. eager loading?
- Describe how you would implement asynchronous messaging with Azure Service Bus or RabbitMQ.
- How would you implement distributed transactions in microservices (e.g., Saga pattern)?
- Explain LINQ performance pitfalls you’ve encountered and how you optimized them.
- Can you show how to write a unit test with xUnit/NUnit for a REST endpoint?
1. Core .NET & ASP.NET Core Basics¶
- What are the main differences between .NET Framework and .NET Core?
- How does Dependency Injection work in ASP.NET Core?
- Can you explain the middleware pipeline in ASP.NET Core and how to add custom middleware?
2. REST APIs & gRPC¶
- What’s the difference between REST and gRPC? When would you choose one over the other?
- How do you implement versioning in ASP.NET Core Web API?
- How do you handle model validation and return standardized error responses?
3. Entity Framework / NHibernate & Data Access¶
- What is the difference between DbContext in EF Core and SessionFactory in NHibernate?
- Can you explain eager vs. lazy loading and when each is appropriate?
- How do you optimize LINQ queries for performance?
- What strategies do you use for database migrations in a team environment?
4. Asynchronous Programming¶
- Can you explain the difference between
Task.Run,async/await, andIAsyncEnumerable? - How do you avoid deadlocks in async code?
- What’s the impact of
ConfigureAwait(false)in library code?
5. Messaging & Event-Driven¶
- How would you implement message publishing with Azure Service Bus or RabbitMQ in .NET?
- What’s the difference between queue and topic/subscription models?
- How do you ensure idempotency when processing messages?
- Can you explain how you would implement a retry policy for failed message processing?
6. Microservices & Distributed Systems¶
- What are the main challenges when building microservices in .NET?
- How would you implement inter-service communication (HTTP vs gRPC vs messaging)?
- What is the Saga pattern and how would you use it for distributed transactions?
- How would you handle service discovery in microservices architecture?
7. Testing & Quality¶
- How do you structure unit tests for an ASP.NET Core controller?
- What’s the difference between unit tests, integration tests, and functional tests in .NET?
- Which mocking libraries have you used (Moq, NSubstitute, etc.)?
- Can you explain how you test asynchronous methods?
2. Frontend (Angular / Blazor)¶
- How do you structure a typical Angular module?
- What’s the role of RxJS Observables in Angular, and how do they differ from Promises?
- How would you integrate an Angular app with a SignalR backend for real-time updates?
- What’s the difference between Angular forms: template-driven vs. reactive? Which do you prefer and why?
- How would you ensure i18n (localization) support in Angular?
- Optional (Blazor): What are the differences between Blazor Server and Blazor WebAssembly?
1. Core Angular Fundamentals¶
- What are components, modules, and services in Angular, and how do they interact?
- What’s the role of NgModules?
- Can you explain the difference between template-driven and reactive forms?
- How does change detection work in Angular?
2. TypeScript & JavaScript¶
- What features of TypeScript are most useful when building Angular apps?
- Can you explain the difference between
interfaceandtypein TypeScript? - What are generics in TypeScript and when would you use them?
- How do you handle async/await and Promises in frontend code?
3. State Management¶
- How would you manage state in a medium-to-large Angular app?
- What’s your experience with NgRx (or other state management libraries)?
- How do you decide when to use a service with BehaviorSubject vs. a state library?
4. Data Binding & Communication¶
- Can you explain one-way binding, two-way binding, and event binding in Angular?
- How would you pass data between parent and child components?
- What’s the role of RxJS Observables in Angular applications?
- How would you integrate Angular with a REST API and handle errors?
5. Routing & Navigation¶
- How does Angular’s Router work?
- What’s the difference between lazy loading and eager loading modules?
- How do you implement route guards (e.g., authentication, role-based access)?
6. Real-Time Communication¶
- How would you integrate SignalR into an Angular app?
- Can you explain how to handle websocket disconnections/reconnections gracefully?
7. Blazor Fundamentals (if applicable)¶
- What are the differences between Blazor Server and Blazor WebAssembly?
- How do components in Blazor differ from Angular components?
- How would you implement dependency injection in Blazor?
- How would you handle JS interop in Blazor?
8. Testing & Quality¶
- How do you test Angular components (e.g., with Jasmine/Karma)?
- What’s the difference between unit tests and end-to-end tests (Cypress, Playwright)?
- How do you ensure accessibility (WCAG 2.1) in a frontend app?
3. Architecture & Design¶
- Explain Domain-Driven Design (DDD) and how you applied it in practice.
- Can you outline a simple Clean Architecture structure for a microservice (layers, responsibilities)?
- How would you design a scalable API that supports millions of requests daily?
- What is the CQRS pattern and when is it useful?
- Can you explain event-driven design and its advantages over request-response?
- What’s the purpose of an API Gateway? Which .NET tools have you used (YARP, Ocelot, Azure API Management)?
1. General Principles¶
- What are SOLID principles? Can you give a real-world example of applying one of them?
- How do you decide when to split functionality into a separate service vs. keeping it in the same application?
- Can you explain the difference between monolithic, modular, and microservices architectures?
2. Domain-Driven Design (DDD)¶
- What are the main building blocks of DDD (entities, value objects, aggregates, repositories, bounded contexts)?
- How do you identify bounded contexts in a system?
- What’s the role of a domain service vs. an application service?
3. Clean Architecture¶
- Can you outline the layers in Clean Architecture and what belongs in each?
- How would you prevent business logic leakage into infrastructure layers?
- What is the difference between hexagonal architecture (ports & adapters) and onion architecture?
4. Messaging & Event-Driven Design¶
- Can you explain the difference between commands, events, and queries?
- What’s the role of an event bus in distributed architecture?
- What is the Outbox pattern and why is it important?
- How do you handle eventual consistency between services?
5. Scalability & Reliability¶
- What’s the difference between horizontal scaling and vertical scaling?
- How would you design a system to handle spikes in traffic (e.g., Black Friday load)?
- How do you implement circuit breakers / retries / fallbacks in .NET?
- Can you explain idempotency in distributed systems and give an example?
6. API Design¶
- What’s the difference between REST, gRPC, and GraphQL? When would you use each?
- How do you handle API versioning?
- How do you secure APIs (authentication, authorization, rate limiting)?
- What is the role of an API Gateway in microservices?
7. Security & Best Practices¶
- What’s the difference between OAuth2 and OpenID Connect?
- How do you manage secrets in a distributed system?
- How would you prevent common OWASP Top 10 vulnerabilities (XSS, SQL injection, CSRF)?
4. Cloud & DevOps¶
- What Azure services have you worked with? Can you describe how you deployed a .NET app to Azure App Service / AKS?
- Explain the use of Azure Functions. When would you choose them over a background worker (e.g., Hangfire)?
- What’s your experience with Docker? Can you show how to containerize a .NET Core API?
- How would you manage secrets in Azure (Key Vault, appsettings, environment variables)?
- Explain the difference between horizontal scaling and vertical scaling in cloud deployments.
- Have you worked with Infrastructure as Code (Bicep, Terraform, Pulumi)?
1. Azure Fundamentals¶
- Which Azure services have you worked with (App Service, AKS, Functions, Service Bus, Storage, Cosmos DB)?
- How do you deploy a .NET Core app to Azure App Service?
- What are the differences between Azure Functions and a background worker (e.g., Hangfire)?
2. Containers & Orchestration¶
- How do you containerize a .NET Core API using Docker?
- What’s the difference between Docker Compose and Kubernetes (AKS)?
- How do you manage secrets in containers? (Azure Key Vault, env vars, etc.)
- What’s the role of Helm charts in Kubernetes deployments?
3. CI/CD & Pipelines¶
- Can you describe a typical CI/CD pipeline you’ve built for .NET + Angular in Azure DevOps?
-
How would you configure a pipeline to:
-
Run unit tests and fail on coverage <80%?
- Build Docker images and push to Azure Container Registry?
- Deploy to multiple environments (Dev/Test/Prod) with approvals?
- How do you handle feature flags in deployments?
4. Infrastructure as Code (IaC)¶
- What’s the difference between ARM templates, Bicep, and Terraform?
- How would you deploy a full environment (API, DB, Storage, Service Bus) with IaC?
- Can you explain what Pulumi is and how it differs from Terraform/Bicep?
5. Monitoring & Observability¶
- Which observability tools have you used (Serilog, OpenTelemetry, Application Insights, Grafana, Prometheus)?
- How would you configure distributed tracing for a microservices-based .NET solution?
- How do you define and monitor SLOs / SLAs in Azure?
- How would you set up alerts for failures or performance degradation?
6. Resilience & Reliability¶
- What’s the difference between retry, circuit breaker, and bulkhead patterns?
- How would you handle message retries & DLQ in Azure Service Bus?
- Have you used Chaos Engineering tools (Azure Chaos Studio)? What’s the purpose?
- How do you ensure a zero-downtime deployment?
7. Security & Compliance¶
- How do you integrate OAuth2 / OpenID Connect in a cloud-hosted app?
- How would you manage secrets and certificates in Azure Key Vault?
- What steps do you take to ensure GDPR / HIPAA compliance in cloud deployments?
- How do you secure API endpoints from abuse (rate limiting, WAF, throttling)?
5. Software Processes & Collaboration¶
- How do you structure Git branching (GitFlow, trunk-based, feature branches)? Which do you prefer and why?
- How do you ensure code quality (static analysis, code reviews, PR policies)?
- Can you describe a typical CI/CD pipeline for a .NET + Angular solution in Azure DevOps?
- How do you manage dependencies and NuGet packages across multiple microservices?
- Have you used Docs-as-Code? How do you maintain developer documentation alongside code?
- How do you handle merge conflicts in a distributed team?
1. Version Control & Branching¶
- Which Git branching strategy do you prefer (GitFlow, trunk-based, feature branching)? Why?
- How do you handle merge conflicts in a distributed team?
- What’s the difference between rebase and merge? When would you use each?
- How do you enforce code reviews and pull request policies?
2. Code Quality & Testing¶
- How do you ensure code quality in your projects (linters, analyzers, SonarQube, style rules)?
- What’s the difference between unit tests, integration tests, and end-to-end tests?
- How do you decide on test coverage thresholds in CI/CD?
- Do you use BDD/TDD? Can you describe an example workflow?
3. CI/CD & Automation¶
- Can you describe a typical pipeline you’ve worked with (build → test → deploy)?
- How do you handle multi-environment deployments (Dev/Test/Prod) with approvals?
- How do you automate database migrations in CI/CD pipelines?
- Have you worked with feature flags in CI/CD (LaunchDarkly, .NET Feature Management, etc.)?
4. Documentation & Knowledge Sharing¶
- What’s your experience with Docs-as-Code (Markdown, MkDocs, README standards)?
- How do you document API endpoints (Swagger/OpenAPI, Scalar)?
- Do you use ADR (Architecture Decision Records) or similar for architecture documentation?
- How do you keep documentation in sync with code changes?
5. Agile & Collaboration¶
- What’s your role in a Scrum team (stand-ups, sprint planning, retrospectives)?
- How do you report progress and blockers in a remote/distributed team?
- What tools have you used for task tracking (Azure DevOps Boards, Jira, Trello)?
- How do you balance following requirements vs. proposing improvements?
6. Communication & Languages¶
- How do you ensure clear communication in multilingual teams?
- Have you worked in teams where Russian or Hebrew was spoken in addition to English?
- How do you adjust your communication when explaining technical details to non-technical stakeholders?
🏆 Candidate Evaluation Scoring Matrix¶
| Aspect | Weight | 1 – Poor | 2 – Basic | 3 – Competent | 4 – Strong | 5 – Expert |
|---|---|---|---|---|---|---|
| .NET Core (Backend) | 25% | No practical .NET Core experience | Can build simple APIs but lacks async, EF, messaging depth | Solid APIs, async/await, EF basics, some messaging knowledge | Strong in APIs, LINQ optimization, async patterns, messaging (Service Bus/RabbitMQ) | Deep expertise: DDD in .NET, distributed systems, saga patterns, performance tuning |
| Frontend (Angular / Blazor) | 20% | Minimal frontend experience | Knows basic Angular/Blazor concepts | Can build components, handle forms, routing, REST calls | Strong in Angular modules, RxJS, SignalR integration, Blazor interop | Expert: architecture decisions, state management (NgRx), i18n, performance tuning |
| Architecture & Design | 20% | No clear understanding of architecture | Knows terms but little practice | Familiar with SOLID, Clean Architecture, basic DDD | Applied DDD, Clean/Hexagonal, event-driven patterns in real projects | Can design scalable distributed systems, API gateways, security, event-driven with CQRS & Saga |
| Cloud & DevOps (Azure, CI/CD, Containers) | 20% | No cloud/DevOps exposure | Can deploy manually to cloud | Familiar with App Service, Docker basics, simple pipelines | Strong in Azure Functions, AKS, IaC (Bicep/Terraform), monitoring | Expert: full CI/CD automation, Kubernetes, resilience patterns, observability with OpenTelemetry |
| Software Processes & Collaboration | 15% | Struggles with Git, team processes | Uses Git but limited branching/CI/CD knowledge | Comfortable with GitFlow, PR reviews, task boards | Strong in CI/CD, Docs-as-Code, Agile practices, team reporting | Leads processes: defines branching strategy, enforces quality gates, drives collaboration |
📊 Rating Scale¶
- 1 (Poor): No hands-on experience, only theory, or cannot answer.
- 2 (Basic): Limited knowledge, can perform simple tasks with guidance.
- 3 (Competent): Can work independently on most tasks, some gaps in depth.
- 4 (Strong): Solid applied experience, can mentor juniors, only few gaps.
- 5 (Expert): Deep mastery, architectural decision-maker, proactive problem solver.
đź§® Candidate Score Calculation¶
For each candidate:
- Rate 1–5 per category.
- Multiply by weight (e.g., Backend 25%).
- Sum for a final score (out of 5.0).
Example:
- Backend: 4 (Strong) Ă— 0.25 = 1.0
- Frontend: 3 (Competent) Ă— 0.20 = 0.6
- Architecture: 3 Ă— 0.20 = 0.6
- Cloud: 2 Ă— 0.20 = 0.4
- Processes: 4 Ă— 0.15 = 0.6 Final Score = 3.2 / 5.0