Подборка объединяет вопросы, отмеченные на этапах интервью в amoCRM. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, frontend, android.
Приведите реальный случай, где SQL делал запрос яснее или эффективнее: сложная агрегация, оконные функции, CTE или массовая операция. Переход оправдывают планом и поддерживаемостью, а не неприязнью к ORM.
Для тяжёлого Python-кода в обычной сборке CPython с GIL часто используют процессы, например ProcessPoolExecutor. Они выполняются в отдельных интерпретаторах и могут загрузить несколько ядер.
Для сервиса уведомлений эффективность — это своевременная и корректная доставка при приемлемой стоимости и нагрузке. Её оценивают через задержку, успешность, дубли, размер очереди и полезность сообщений пользователю.
Возьмите реальный случай и покажите последовательность: симптом, измерение, гипотеза, изменение и повторная проверка. Убедительный ответ объясняет причину медленного запроса, а не просто называет добавленный индекс.
Отказоустойчивость — способность сохранять приемлемую работу при оговорённых отказах. На уровне сервиса помогают изоляция сбоев, ограничение ресурсов, восстановление и наблюдаемость.
Сравните заранее выбранные показатели до и после изменения, а не только отзывы. До клиентской обратной связи помогают тесты, телеметрия, внутренний пилот и проверка пользовательских сценариев.
Наблюдайте consumer lag, возраст самого старого необработанного события и разницу скоростей записи и обработки. Тренд роста часто важнее одного абсолютного значения lag.
Опишите реальный сигнал: задержки доставки, ошибки, жалобы, рост очереди или стоимость. Затем объясните, как измерили исходное состояние и сравнили его после изменения.
Сравните скорость поступления и обработки, найдите узкое место и увеличьте эффективную производительность потребителей. Рост очереди нельзя надёжно устранить только увеличением её размера.
Блок create выполнится на scheduler Schedulers.io(), а не на UI-потоке. Обработчик subscribe в этом примере не вызовется: источник не отправляет элементы.