InterviewStack.io LogoInterviewStack.io

System Design and Architecture Fundamentals Questions

Comprehensive coverage of designing scalable, reliable, and maintainable software systems, combining foundational concepts, common architectural patterns, decomposition techniques, infrastructure design, and operational considerations. Candidates should understand core principles such as horizontal and vertical scaling, caching strategies and placement, data storage trade offs between relational structured query language databases and non relational databases, application programming interface design, load distribution and fault tolerance. They should be familiar with architectural styles and patterns including client server and layered architectures, monolithic and microservices decomposition, service oriented and event driven designs, gateway and proxy patterns, and resilience patterns such as circuit breakers and asynchronous processing. Assessment includes the ability to decompose a problem into logical components and layers, define component responsibilities, map data flows between ingestion processing storage and serving layers, and select appropriate infrastructure elements such as application servers caches message queues and database replication models. Interviewers evaluate estimation of scale and load and reasoning about trade offs such as consistency versus availability and partition tolerance latency versus throughput coupling versus cohesion and cost versus complexity, and the ability to justify architecture decisions. Candidates should be able to sketch high level designs, communicate architecture to technical and non technical stakeholders, propose migration paths such as when to combine or transition between patterns, and describe operational runbooks including failure mode mitigation monitoring observability and incident recovery. Practical topics include caching eviction policies such as least recently used and least frequently used load balancing approaches such as round robin and least connections rate limiting techniques replication and sharding strategies and design choices for synchronous request response versus asynchronous queue based messaging. Emphasis is on clarifying requirements estimating constraints proposing reasonable architectures and articulating trade offs and evolution paths rather than only low level implementation details.

HardSystem Design
76 practiced
Design a solution to audit and attribute inference cost per customer for a shared multi-tenant LLM cluster where cost depends on tokens, model used, and GPU time. Include tagging, sampling approaches, high-accuracy vs low-cost accounting methods, and integration points with billing systems.
MediumSystem Design
72 practiced
Design an architecture for a real-time conversational platform where conversation state must be consistent across devices and available in multiple regions. Requirements: 100M monthly active users, 10k RPS global, per-conversation state durability. Discuss state storage patterns, session affinity, and replication strategies.
MediumTechnical
112 practiced
Design a cost-optimized deployment for a low-usage but latency-sensitive inference endpoint with sporadic traffic. Evaluate serverless vs pinned instances vs warm-pool approaches, discussing cold-start impact and cost/performance trade-offs.
HardSystem Design
73 practiced
Architect a solution that supports live migration of stateful conversational sessions between data centers to reduce latency for users who move regions. Ensure no message loss and minimal disruption. Discuss session transfer mechanics, routing updates, locks, and consistency guarantees.
MediumTechnical
87 practiced
Design an embedding cache strategy that avoids serving stale vectors after a model update. Discuss invalidation, versioned keys, migration during rollout, and approaches for minimizing cache misses and cold starts.

Unlock Full Question Bank

Get access to hundreds of System Design and Architecture Fundamentals interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.