System Design and Analysis Quiz¶
15 questions on feasibility analysis and the system-design building blocks: scale, traffic routing, data, asynchronous work, resilience, and operations.
Analysis and feasibility¶
A proposed system has a positive financial return, but depends on an unfamiliar platform and must integrate with several legacy vendor systems. Which conclusion is most useful?
Which cost is easiest to miss when estimating the lifetime cost of a new hosted application?
Why should a feasibility study record an important benefit even when it cannot be reliably expressed in money?
A project has low technical risk and strong strategic alignment, but the frontline users oppose the redesigned workflow. What should happen next?
What does a negative net present value (NPV) mean for a proposed project at the chosen discount rate?
Designing for scale and traffic¶
During a design review, what should be established before choosing a database, cache, or queue?
An API has many requests that take widely different amounts of time. Which load-balancing approach most directly accounts for that difference?
Why should application servers generally avoid keeping user session state only in local memory when they sit behind a load balancer?
A service must route /images to a static-content service and /api/orders to an orders service. What capability is needed?
Data, asynchronous work, and operations¶
An application uses cache-aside for a product catalogue. What is the normal sequence after a cache miss?
Thousands of cache keys expire at exactly the same moment and the database suddenly receives all the resulting reads. What is this called, and what is one defence?
A customer places an order, but sending the confirmation email should not delay the order response. Which design is most appropriate?
Why must consumers usually be idempotent when a queue provides at-least-once delivery?
What is the main purpose of a dead-letter queue?
Which observation most strongly indicates that a system's consumers cannot keep up with producers?