InterviewStack.io LogoInterviewStack.io

Architecture Design Principles Questions

Fundamental architectural principles that guide design choices across systems: separation of concerns, loose coupling, modularity, encapsulation, resilience, observability, security by design, scalability by design, and maintainability. This topic evaluates a candidate's ability to apply these core principles, recognize anti patterns, and choose appropriate patterns based on constraints and non functional requirements.

MediumSystem Design
74 practiced
You are tasked with migrating a monolith to microservices using the strangler pattern. Describe the concrete steps you would take, how you would select the first service to extract, and strategies to migrate data with minimal user-visible downtime.
EasyTechnical
59 practiced
Describe what resilience means for a distributed application. List three resilience patterns (e.g., retries with backoff, circuit breaker, bulkhead) and give a one-sentence description of when each should be applied.
MediumTechnical
63 practiced
Define a logging and data retention policy for a customer-facing service that must comply with GDPR and also maintain forensic logs for 90 days. Include retention durations, PII handling, anonymization, and mechanisms for legal hold or audit requests.
HardTechnical
68 practiced
Create a threat model for a new public REST API that allows third-party integrations. Identify high-value assets, likely threat vectors (e.g., API key leakage, injection, mass scraping), and list mitigations including rate limiting, auth scopes, WAF rules, and monitoring you would implement.
EasyTechnical
66 practiced
Compare modularity and encapsulation in the context of service design. Provide an example where a service exposes an interface to hide implementation details, and explain how encapsulation improves maintainability while modularity aids scalability.

Unlock Full Question Bank

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

Sign in to Continue

Join thousands of developers preparing for their dream job.