Подборка объединяет вопросы, отмеченные на этапах интервью в Яндекс. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, backend, database.
RFC удобно использовать для обсуждения предлагаемого решения, ADR — для фиксации принятого решения, его контекста и последствий. Эти документы дополняют друг друга.
Определите queued → running → done/failed, уникальность ID, владение request и политику переполнения очереди. Status должен возвращать согласованный снимок и отличать неизвестный ID.
Первая проверка отправляет полные пакеты во время чтения, вторая — последний неполный пакет. Без второй остаток потеряется, если количество элементов не кратно MaxItems.
Перечислите хранилища вместе с задачами и глубиной опыта: разработка запросов, схема, эксплуатация или только использование клиента. Названия без контекста мало говорят о навыке.
В ветке entry == nil mutex не освобождается, поэтому следующий Invoke зависнет. Нужно разблокировать его перед возвратом, сохраняя сетевой вызов вне критической секции.
В показанном фрагменте ошибка flush игнорируется, а подтверждение cookies после Process требует идемпотентности. При частичном commit повтор может заново обработать уже выполненную часть.
Выделенный collector читает results и атомарно обновляет общее хранилище задач. Status читает снимок из того же хранилища, а не пытается забрать событие из канала.
Формат первого этапа лучше уточнить у интервьюера: алгоритмы, практический Go, разбор кода или смешанный вариант. По названию позиции предсказать его нельзя.
Разделите HTTP-слой, сценарий приложения, адаптер внешнего API и репозиторий БД. Внешний сетевой вызов не стоит выполнять под длительной транзакцией с блокировками.
Длина данных равна 0, ёмкость — 1024 байта. Это не означает, что общий расход памяти процесса на объект ровно 1024 байта: есть структура и расходы выделения.