Engineering Decisions Senior interview questions and answers
14 questions for a Engineering Decisions (Senior) interview - with correct answers, explanations and links to the docs.
Take this quiz- 1.A social feed serves mostly users with a few hundred followers, plus some accounts with 50M. Reads must be fast. How do you build timelines?
- 2.A store serves product pages from a global CDN. Descriptions rarely change, but a corrected price must appear within seconds. What's the caching strategy?
- 3.A six-person startup is still searching for product-market fit, and domain boundaries keep moving. What architecture do you start with?
- 4.After saving an order, the service must publish an event to a broker. Events must not be lost, and the broker can't join a database transaction. What do you do?
- 5.An order spans the payment, inventory and shipping services, each with its own database. Any step can fail, and short inconsistency is acceptable. How do you coordinate it?
- 6.A payments ledger must survive the loss of a whole region with zero lost writes. An extra 20 ms per commit is acceptable. Which replication do you choose?
- 7.Reads go to replicas that lag by about a second. Users complain that their just-saved profile shows old data, while others seeing it a second late is fine. What do you do?
- 8.A PostgreSQL primary is near its limit: 95% of the load is reads, and writes are modest. Growth is steady, and the team is small. What's the next step?
- 9.A SaaS has 5,000 small customers and 3 enterprise clients who contractually require isolated data. How do you lay out tenants?
- 10.A flash sale will push traffic past what the database can take, and it can't scale up in minutes. Checkout matters most, while browsing can degrade. What do you prepare?
- 11.A degraded service gets three times its normal traffic, because the client, the gateway and the backend each retry three times. How do you stop the amplification?
- 12.You must rename a column in a 500M-row table. The app has rolling deploys, so old and new versions run together, and downtime isn't allowed. What's the plan?
- 13.A public API runs on 40 instances, and each key may make 100 requests per minute. Small bursts are fine, but the limit must hold across instances. Where do the counters live?
- 14.Storing every trace costs too much, but during incidents you need the errors and slow requests above all. How do you sample?