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

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

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

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

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

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

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

Каталог

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

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

Напишите декоратор timer, который измеряет и выводит время выполнения функции; затем обеспечьте передачу аргументов и сохранение метаданных функции.

Декоратор должен принимать *args и **kwargs, измерять длительность монотонным perf_counter и применять functools.wraps. Измерение в finally сохраняет отчёт и при исключении функции.

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

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

Храните только три максимальных различных значения: при новом измерении добавьте его, удалите дубликаты и отбросьте всё ниже третьего места. Для фиксированного размера память и работа на измерение — O(1).

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

Так что за требования "что и как должен делать этот код" нужно принимать то, как он по факту

Если текущее поведение считается контрактом, нельзя сразу «исправить» фильтры и вынести чтение из цикла: это может изменить вызовы БД, исключения и результат. Сначала нужны characterization-тесты.

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

Есть базовый шаблон base.html

В дочернем шаблоне используйте extends и переопределите блок заголовка. Названия блоков должны совпадать с base.html; если их там нет, сначала добавьте соответствующие точки расширения.

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

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

Используйте асинхронный HTTP-клиент, ограничьте одновременные запросы и записывайте хэши по исходным индексам. MD5 считайте потоково по байтам ответа, явно определив политику ошибок.

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

Минимальное окно Python: пустой набор и стоимость срезов

Функция ищет минимальную подстроку, содержащую все различные символы a, но игнорирует их кратность. При пустом a она ошибается, а копирование каждого лучшего среза ухудшает сложность.

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

2. Напиши метакласс, который запрещает классам-наследникам переопределять метод do_not_override, если он есть в базовом классе.

В __new__ метакласса проверяйте namespace нового класса: если он объявляет do_not_override, а метод уже есть у базового класса, выбрасывайте TypeError до создания класса.

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

Если функция может легитимно возвращать NaN (это нормальное поведение), а твоя текущая реализация кэша в этом случае выдаст ошибку или всегда будет пересчитывать — как ты это поправишь?

Не используйте NaN как признак отсутствия кеша: храните состояние отдельно или проверяйте наличие ключа. Корректный результат NaN должен кешироваться так же, как любой другой результат.

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

def make_order():

Фрагмент создаёт заказ и сразу ставит задачу уведомления. Если он работает внутри внешней транзакции, воркер может получить order.id раньше commit; отправку нужно отложить до успешной фиксации.

Читать ответ