← Back to Articles         
Angular + ASP.NET Core Architecture - Interview Questions

Angular + ASP.NET Core Architecture - Interview Questions

Published on 12 Oct 2026     4 min read Angular
Quick Revision

1. How should an Angular + ASP.NET Core application be structured?

Use Angular for frontend UI, ASP.NET Core Web API for backend services, and SQL Server for data storage. Keep frontend and backend logically separated.

Angular → ASP.NET Core Web API → Application → Domain
                       |
                 Infrastructure → SQL Server

2. Should Angular directly reference an ASP.NET Core project?

No. Angular is a TypeScript application and cannot directly reference C# projects. It communicates with ASP.NET Core through HTTP/HTTPS APIs.

3. Should Angular communicate only through the Web API?

For backend business operations, Angular should communicate through Web API endpoints, not directly with SQL Server or backend layers. It can also access static assets and permitted external services.

4. How does Angular communicate with an ASP.NET Core Clean Architecture solution?

Angular sends HTTP requests to the Web API presentation layer. The API calls Application services, which execute business logic and use Infrastructure for data access.

Angular → Web API → Application → Repository Interface
                                             |
                                      Infrastructure
                                             |
                                         SQL Server

5. Where should DTOs be defined in an ASP.NET Core backend?

DTOs are commonly defined in the Application layer for use cases or in the API layer for HTTP-specific contracts. Domain entities should remain independent of DTOs.

6. Should Angular use the same C# DTO classes?

No. Angular uses TypeScript interfaces or types, while ASP.NET Core uses C# DTO classes. Both must follow the same JSON API contract.

7. How do TypeScript interfaces correspond to ASP.NET Core DTOs?

TypeScript interfaces define the expected structure of JSON returned by C# DTOs. Property names and compatible data types should match the serialized API response.

ASP.NET Core:

public record ArticleDto(Guid Id, string Title);

Angular:

interface Article { id: string; title: string; }

8. Where should business logic reside: Angular or ASP.NET Core?

Core business logic belongs in ASP.NET Core, preferably the Application and Domain layers. Angular should handle presentation logic and user interactions.

9. Where should validation reside: Angular or ASP.NET Core?

Validation should exist in both Angular and ASP.NET Core. Angular provides immediate feedback, while ASP.NET Core enforces authoritative validation and business rules.

10. Why is client-side validation not sufficient?

Client-side validation can be bypassed or manipulated using browser developer tools or direct API requests. ASP.NET Core must independently validate all incoming data.

11. Where should authorization rules reside?

Authorization rules must be enforced in ASP.NET Core Web API, using roles, claims, policies, and resource-level checks. Angular guards only control frontend navigation.

[Authorize(Roles = "Admin")]
[HttpDelete("{id}")]
public IActionResult Delete(Guid id) => Ok();

12. How do Angular, Web API, Application, Domain, Infrastructure, and SQL Server fit together?

Angular handles UI, Web API exposes endpoints, Application coordinates use cases, Domain defines business rules, and Infrastructure implements persistence.

Angular Application
        |
        | HTTP / JSON
        v
ASP.NET Core Web API
        |
        v
Application Layer ──────→ Domain Layer
        |
        | Repository Interface
        v
Infrastructure Layer
        |
        | EF Core
        v
     SQL Server

Dependencies:
API → Application
API → Infrastructure (DI registration)
Infrastructure → Application / Domain
Application → Domain
Domain → Independent

13. How do you separate Public and Admin features in Angular?

Use separate feature folders, layouts, and route configurations. Public pages can remain accessible to everyone, while Admin routes use authentication guards.

app/
 ├── public/
 │    ├── home/
 │    └── articles/
 └── admin/
      ├── dashboard/
      └── articles/

14. Should Public and Admin use the same ASP.NET Core Web API?

Yes, they can share the same Web API when appropriate. Public endpoints can allow anonymous access, while Admin endpoints require authentication and authorization.

[AllowAnonymous] public IActionResult GetArticles() => Ok();
[Authorize(Roles = "Admin")] public IActionResult CreateArticle() => Ok();

15. How do you organize API services in a large Angular application?

Organize API services by business feature, such as Articles, Categories, Users, and Authentication. Keep shared HTTP configuration and interceptors in a core folder.

app/
 ├── core/
 │    ├── interceptors/
 │    └── auth/
 └── features/
      ├── articles/article.service.ts
      ├── categories/category.service.ts
      └── users/user.service.ts
 

Important Interview Revision Points

Concept

Key Point

Angular

Frontend presentation

ASP.NET Core Web API

Backend HTTP endpoints

Application Layer

Use cases and orchestration

Domain Layer

Business entities and rules

Infrastructure Layer

Database and external services

DTO

Data transfer contract

TypeScript Interface

Frontend data typing

Repository Interface

Data access abstraction

Dependency Injection

Connects implementations

EF Core

ORM for database operations

Client Validation

User experience

Server Validation

Data integrity and security

Angular Guards

Navigation protection

[Authorize]

Server-side authorization

Public/Admin Features

Separate layouts and routes

Feature-Based Services

Maintainable API organization

Interview priority: Focus particularly on questions 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, and 14.

Key interview takeaway: Angular should communicate with ASP.NET Core through Web API contracts only. Keep business logic, authoritative validation, authorization, and database operations in the backend while Angular manages UI and presentation state.

← Back to Articles