Ctrl K
Java · Senior · System design

Design a Java service that handles thousands of requests per second and, for each one, calls several slow external systems. How would you organize threads, pools, and overload protection?

~10 min by voice

How to approach it

This checks whether the candidate can design an I/O-heavy service so that a slow dependency doesn't take the whole thing down: deliberately choosing a threading model, limiting concurrency, setting timeouts and failing fast instead of piling up a queue.

Have you seen this question in a real interview?
Answers0
Avg. score—
Strong—
Practiced0
Topics
Similar questionsWrite a thread-safe RateLimiter class: the constructor takes how many requests per second are allowed, and the tryAcquire method, without waiting, returns true if the request can be let through and false if the limit is exhausted. It will be called concurrently from many threads. SeniorWrite an async function fetch_all that takes a list of URLs, an async function that fetches a single URL, and a limit on concurrent requests. It returns the results in the same order as the URLs, and a failure of one request must not take down the others. SeniorВозьмём перевод между двумя счетами, которые лежат в одной базе: списать с одного, зачислить на другой. Как вы это реализуете, чтобы при параллельных операциях деньги не потерялись и баланс не ушёл в минус? SeniorВ день зарплаты эндпоинт истории операций начинает отвечать по несколько секунд, а база упирается в сто процентов CPU. Как вы будете разбираться и что делать? SeniorWhy are strings immutable in Java, and why shouldn't you concatenate strings with plus in a loop? Junior

Answer by voice

The interviewer will ask this question and listen. Think out loud and ask for a hint if you need one. When you're done, pause or tap “That's my answer”. In about a minute, your score and the points you covered show up here.

Sign in to answer

Best with headphones · ~10 min