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

Лайвкодинг на собеседовании

3221 вопрос в категории «Лайвкодинг»

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

Что проверяют на интервью

Как устроена подборка

В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.

Каталог

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

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

[имя] спросил: Если информация о количестве вызовов хранится в замыкании через nonlocal, как узнать снаружи, сколько раз была вызвана конкретная функция (например, a)?

Дайте обёртке явный метод чтения счётчика, замкнутый на ту же nonlocal-переменную. Не нужно искать значение по индексам внутренних ячеек __closure__.

Читать ответ
Лайвкодинг

def cache():

Для синхронной чистой функции можно вернуть декоратор с локальным словарём результатов. Ключ составляется из аргументов; в таком простом варианте они должны быть хешируемыми.

Читать ответ
Лайвкодинг

numbers = [x ** 2 for x in range(10_000_000_000)]

List comprehension пытается заранее создать десять миллиардов квадратов, что требует огромной памяти. Для последовательной обработки замените список генераторным выражением, но учитывайте стоимость самого вывода.

Читать ответ
Лайвкодинг

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

Сделайте первый аргумент функцией по умолчанию None, а настройки — keyword-only. Внутренняя функция создаёт обёртку с functools.wraps, чтобы introspection видел исходные метаданные и сигнатуру.

Читать ответ
Лайвкодинг

Есть генератор неизвестно большой длины. Как получить его последние 1000 элементов, не сохраняя всю последовательность?

Используйте collections.deque с maxlen=1000: при добавлении нового элемента самая старая запись автоматически удаляется. Память ограничена последней тысячей элементов.

Читать ответ
Лайвкодинг

Гонка read–modify–write при списании баланса

Здесь гонка read–modify–write: два запроса могут проверить один баланс и перезаписать результаты друг друга. Проверку остатка и уменьшение нужно выполнять атомарно, а сумму валидировать.

Читать ответ
Лайвкодинг

Как восстановить маршрут из билетов без разветвлений

Начало — город отправления, который нигде не встречается как прибытие. Постройте отображение отправление→прибытие и последовательно пройдите от начала до отсутствия следующего билета.

Читать ответ
Лайвкодинг

broker = KafkaBroker("localhost:9092")

Синхронный parse_text_and_save_to_postgres блокирует event loop внутри async-обработчика. Для блокирующего I/O вынесите вызов в ограниченный пул потоков; тяжёлый CPU-парсинг требует другого решения.

Читать ответ