.NET Architecture & System Design Interview

Architecture Fundamentals, Scalability, Availability & Performance

Questions 1-25: Architecture Fundamentals, Scalability, Availability & Performance.

25 Questions Filter by level

Interview questions

Open a question for the full answer, code and interview guidance.

25 Results
1
JuniorBeginner

What is software architecture?

Software architecture is the high-level structure of a software system: its major components, their responsibilities, the relationships between them, and the principles that guide important design decisions.

2
JuniorBeginner

What is system design?

System design is the process of defining how a system will satisfy functional and non-functional requirements. It covers components, APIs, data storage, communication, scaling, caching, security, reliability, and deployment considerations.

3
JuniorBeginner

What is the difference between software architecture and software design?

Software architecture deals with system-wide structure and high-impact decisions, such as service boundaries, dependency direction, databases, communication styles, and deployment models. Software design also includes lower-level decisions inside those boundaries.

4
JuniorBeginner

What are functional and non-functional requirements?

Functional requirements describe what the system must do, such as creating orders, authenticating users, processing payments, or generating reports.

5
JuniorBeginner

What are quality attributes in system architecture?

Quality attributes are measurable or observable characteristics that describe how well a system operates. Common examples include performance, scalability, availability, reliability, security, maintainability, testability, and usability.

6
JuniorBeginner

What is scalability?

Scalability is a system's ability to handle increased workload by adding or improving resources while maintaining acceptable service levels.

7
JuniorBeginner

What is the difference between vertical scaling and horizontal scaling?

Vertical scaling increases the capacity of one machine, for example by adding CPU, memory, or faster storage. Horizontal scaling adds more machines or application instances and distributes work among them.

8
JuniorBeginner

What is availability?

Availability is the proportion of time a system is able to provide its intended service. It is commonly expressed as a percentage over a defined period, such as 99.9% monthly availability.

9
JuniorBeginner

What is reliability?

Reliability is the ability of a system to perform correctly and consistently over time under stated conditions. A service can be available but unreliable if it frequently returns incorrect results.

10
JuniorBeginner

What is fault tolerance?

Fault tolerance is the ability of a system to continue providing an acceptable level of service when one or more components fail.

11
JuniorBeginner

What is resilience in a distributed system?

Resilience is the ability of a system to withstand failures, recover from them, and continue operating at an acceptable level. Distributed systems must expect network delays, partial failures, unavailable dependencies, and duplicate operations.

12
JuniorBeginner

What is graceful degradation?

Graceful degradation means preserving the most important functionality when a non-critical component is unavailable instead of failing the entire request or application.

13
JuniorBeginner

What is a Single Point of Failure (SPOF)?

A Single Point of Failure is a component whose failure can make the entire required service unavailable. It may be an application server, database, network device, authentication service, or another critical dependency.

14
JuniorBeginner

What is redundancy in system design?

Redundancy means providing additional instances, copies, or paths so the system can continue operating when a component fails.

15
JuniorBeginner

What is load balancing?

Load balancing distributes incoming traffic or work across multiple healthy service instances. It helps use capacity efficiently and can prevent one instance from becoming overloaded.

16
JuniorBeginner

What is a stateless application?

A stateless application does not require a particular server instance to remember client-specific state between requests. Any healthy instance can normally process the next request.

17
JuniorBeginner

What is a stateful application?

A stateful application keeps information that affects later interactions within a particular process, server, or session. Examples can include in-memory sessions, long-lived connections, or local workflow state.

18
JuniorBeginner

What is session affinity or sticky sessions?

Session affinity routes a client's subsequent requests to the same server instance, often because that instance holds local session state.

19
JuniorBeginner

What is latency?

Latency is the time required for an operation or request to complete, usually measured from the client's or caller's perspective. It can include network time, queueing, processing, database access, serialization, and downstream service calls.

20
JuniorBeginner

What is throughput?

Throughput is the amount of work a system completes per unit of time, such as requests per second, messages per second, or transactions per minute.

21
JuniorBeginner

What are p50, p95, and p99 latency?

Percentile latency shows how response times are distributed. p50 is the median: 50% of observations are at or below that value. p95 and p99 describe the response time below which 95% and 99% of observations fall.

22
JuniorBeginner

What is capacity planning?

Capacity planning estimates the resources required to handle expected workload while meeting performance and reliability targets. It uses traffic volume, growth, request cost, storage growth, peak factors, and safety margins.

23
JuniorBeginner

What is a bottleneck in system design?

A bottleneck is the component or resource that limits the overall capacity or performance of a system. Common bottlenecks include CPU, memory, database locks, connection pools, disk I/O, network bandwidth, and slow external services.

24
JuniorBeginner

What is backpressure?

Backpressure is a mechanism for preventing producers from overwhelming consumers when work arrives faster than it can be processed. Instead of accepting unlimited work, the system slows, buffers within limits, rejects, or signals producers to reduce the rate.

25
JuniorBeginner

How should you approach a system design interview?

Start by clarifying functional requirements, users, traffic, data volume, consistency needs, availability targets, security constraints, and the most important quality attributes. State assumptions when information is missing.