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

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

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

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

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

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

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

Каталог

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

Найдено: 1254
Теория

CPU-bound задача, ты упомянул, что она плохо масштабируется, а как именно она масштабируется в Python?

В обычном CPython с GIL CPU-bound Python-код часто масштабируют процессами, а не потоками. Реальный прирост ограничивают последовательная часть алгоритма, передача данных и конкуренция за память.

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

Как предусмотреть интеграцию логов Python-приложения с системами логирования разных заказчиков без пересборки приложения?

Разделите создание событий и их доставку: приложение пишет стабильные структурированные логи, а формат, уровни и handlers задаются конфигурацией. Часто проще отдавать JSON в stdout и адаптировать сборщик у заказчика.

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

В чем разница между изменяемыми (mutable) и неизменяемыми (immutable) типами данных в Python? Почему нельзя использовать изменяемые типы, например list или dict, в качестве аргументов по умолчанию в функциях?

Изменяемый объект можно менять на месте, неизменяемый — нет. list и dict разрешены как аргументы по умолчанию, но создаются один раз при определении функции и затем разделяются между вызовами.

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

Какие есть низкоуровневые варианты организации чтения и записи файлов в Python и чем они отличаются?

На низком уровне os.open/read/write работают с файловыми дескрипторами и байтами. io.FileIO даёт объектную обёртку, буферизованные потоки добавляют буфер, а текстовые — кодирование и обработку переводов строк.

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

[имя] спросил: Какова асимптотика добавления элемента в словарь Python?

Добавление в dict обычно занимает амортизированное ожидаемое O(1). Отдельная вставка может быть O(n) из-за расширения таблицы или неблагоприятных коллизий, поэтому это не строгая гарантия для каждого вызова.

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

Ты имеешь в виду именно в Python? Мало связанности — это про потоки или про процессы, на что делить?

Слабая связанность — свойство компонентов, а не автоматический выбор между потоками и процессами. В Python решение зависит от общих данных, изоляции, типа нагрузки и стоимости обмена.

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

В чем разница между конкурентностью (concurrency) и параллелизмом в Python?

Конкурентность — организация нескольких продвигающихся задач, а параллелизм — их фактическое одновременное выполнение. asyncio может обеспечивать конкурентный I/O в одном потоке без параллельного выполнения Python-кода.

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

Как устроен механизм разрешения методов (MRO) при множественном наследовании в Python — алгоритм C3-линеаризации? В каком случае интерпретатор выбросит ошибку TypeError: Cannot create a consistent method resolution order?

Python строит MRO алгоритмом C3, сохраняя порядок родителей и согласованность их собственных порядков. TypeError возникает, когда эти требования противоречат друг другу и единую последовательность построить нельзя.

Читать ответ