Engineering Decisions Junior interview questions and answers

12 questions for a Engineering Decisions (Junior) interview - with correct answers, explanations and links to the docs.

Take this quiz
  1. 1.A server-rendered site lets guests pick a dark theme. The very first HTML must already use the right theme, with no flash. Where do you keep the choice?
  2. 2.A search box calls an API billed per request. Results should appear while the user types, but not on every keystroke. What fits?
  3. 3.A popular blog gets its articles edited a few times a day. Search traffic matters, and text up to an hour old is fine. How do you render the pages?
  4. 4.An online store's catalog has 10,000 products. Shoppers compare items, share links to a position and need the footer. How do you display the list?
  5. 5.Two sibling components on one page share a filter value: one edits it, the other shows the filtered table. Nothing else needs it. Where does the state go?
  6. 6.A badge shows unread notifications. They arrive a few times an hour, a one-minute delay is fine, and the hosting doesn't allow long-lived connections. What do you use?
  7. 7.Users upload avatars of up to 5 MB. The app runs on several instances behind a load balancer. Where do you store the files?
  8. 8.Moderators delete comments, and sometimes must restore one within 30 days. Regular queries should stay simple. How do you implement deletion?
  9. 9.A big feature takes three weeks, while the team ships to production daily and conflicts are getting painful. How do you develop it?
  10. 10.Sign-up sends a welcome email through a provider that sometimes takes 10 seconds. Sign-up itself must stay fast, and the email may arrive a minute later. What do you do?
  11. 11.A small team has one day to add tests before a launch. The checkout flow earns all the revenue and has never been covered. What do you write first?
  12. 12.The product needs an accessible date picker next week. Nobody on the team has built one, and the app already uses a maintained component library. What do you pick?