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

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

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

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

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

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

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

Каталог

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

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

Выберите НЕВЕРНОЕ утверждение о модели памяти Python.

Очевидно неверно утверждение, что list реализован как связный список: в CPython это динамический массив ссылок. Но вопрос неточен и в части ручного освобождения памяти и универсальности refcount.

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

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

Метакласс может преобразовать namespace в __new__ перед созданием класса. Обычно переименовывают обычные методы, сохраняя специальные __dunder__-методы, иначе нарушается протокол Python.

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

def get_current_user(user_id: int):

get_current_user здесь получает user_id из query-параметра, а не из проверенной авторизации. Поэтому /users/me может вернуть чужого пользователя; Depends само по себе не проверяет личность.

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

Минимальное окно: исправление синтаксиса и двух границ

Это задача о минимальном окне, содержащем все уникальные символы a. Исправьте синтаксис и двигайте две границы, увеличивая счётчик только при первом появлении нужного символа.

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

Выберите НЕВЕРНОЕ утверждение о многопоточности в Python.

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

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

Почему в словаре `{True: 1, 1: 2, 1.0: 3, "1": 4}` у ключа `True` итоговое значение равно `3`, а не `1`?

True, 1 и 1.0 равны при сравнении и имеют одинаковый hash, поэтому считаются одним ключом. Последующие присваивания заменяют его значение, а строка '1' остаётся отдельным ключом.

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

Напишите SQL-запрос, который вернёт только те комбинации `name` и `last_name` из таблицы `users`, которые встречаются ровно один раз.

Сгруппируйте строки по name и last_name и оставьте группы с COUNT(*) = 1. DISTINCT не подходит: он убирает повторы, а не исключает повторяющиеся комбинации.

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

Профилирование 35 запросов Django перед оптимизацией связей

Лучший первый шаг — снять профиль запросов и найти причину 35 обращений. После этого выборочно применяют select_related или prefetch_related к действительно нужным связям.

Читать ответ