Подготовка к интервью

Банк вопросов с собеседований

Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.

37 вопросов 1634 компании 353 технологии

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме
Сбросить

Каталог

Результаты поиска

Найдено: 37
Лайвкодинг

Неправильное использование requests в асинхронных корутинах

Корутины не содержат await и выполняют блокирующие requests-вызовы, поэтому фактически идут последовательно. Перенесите весь синхронный запрос в поток либо используйте общий async-клиент.

Читать ответ
Теория

Почему многопоточность может ускорить синхронные HTTP-запросы через requests, несмотря на GIL?

При сетевом ожидании GIL обычно освобождается, поэтому другие потоки могут выполнять свои HTTP-запросы. Ускорение получается за счёт перекрытия ожиданий, а не параллельного Python CPU-кода.

Читать ответ
Теория

Ты видишь, что в проде скачут CPU и память на pod'ах, хотя requests/limits кажутся адекватными. Как ты будешь это расследовать и что может быть причиной?

Сопоставьте пики с трафиком, изменениями кода, GC, очередями и throttling; корректные requests/limits не устраняют причины расхода.

Читать ответ
System Design

[имя] оптимизировал requests/limits подов и поднял среднюю загрузку ноды с 35% до 75%. Как ты гарантируешь, что приложения не будут OOMKilled во время пиков нагрузки до 15 тысяч RPS, и как выбирал именно эти значения?

Средняя загрузка 75% не гарантирует защиту от OOM: память оценивают отдельно по пикам, рабочему набору и запасу узла.

Читать ответ
Теория

Задача: два приложения, каждое требует 1Gi памяти в requests и 2Gi в limits, на ноде всего 3Gi памяти. Возможна ли такая конфигурация и в чём риск?

Да, если доступного allocatable хватает на суммарные requests 2Gi, Pod могут разместиться; суммарный limit 4Gi не резервирует 4Gi памяти.

Читать ответ
System Design

Минус 35% потребления ресурсов и более 100K RPS. Расскажите, как методически считали реальное потребление и убеждали команды менять requests, почему сняли CPU-лимиты и чем это рискованно, как устроены pre-scaling и overprovisioning перед пиком, что конкретно настраивали в Nginx и какие сервисы принципиально не перевели на spot-инстансы и почему.

Такие результаты подтверждают сопоставимыми измерениями и объяснением компромиссов, а не только числом RPS или процентом экономии.

Читать ответ
Теория

Что произойдет, если в асинхронном коде вызвать синхронную блокирующую функцию, например time.sleep() или тяжелый запрос через библиотеку requests? Как правильно выносить такие вызовы за пределы event loop?

Если в асинхронной функции Python использовать блокирующую задержку time.sleep(), то выполнение всей программы будет приостановлено на время сна, блокируя текущий поток.

Читать ответ