Подборка объединяет вопросы, отмеченные на этапах интервью в Yappy. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, database, optimization.
Как устроен сборщик мусора в Python? управление памятью основано на подсчёте ссылок (reference counting) для каждого объекта ведётся счётчик ссылок; когда он становится равен 0, объект удаляется освобождение памяти…
Как реализовать связь моделей «Магазин» и «Книга», если одна книга продаётся в разных магазинах Контекст: проектирование отношений в реляционной базе данных Тип связи: многие ко многим Способ реализации: промежуточная…
В основе лежит распределённая система для обмена сообщениями После регистрации клиента сервис выдаёт ему уникальный токен устройства Бэкенд сохраняет токены и передаёт уведомления через Push Notification Service…
сервис для подсчёта просмотров видео в интернете основные требования: высокая производительность под нагрузкой, точность подсчётов и возможность масштабирования приём событий о просмотрах через API или SDK,…
Разновидности индексов в БД B-деревья: сбалансированная структура для выполнения диапазонных запросов Хеш-индексы: быстрый поиск точного совпадения по равенству Bitmap-индексы: эффективны для колонок с небольшим…
Уровни изоляции транзакций: принцип работы область: базы данных, управление транзакциями цель: контроль конкурентного доступа и защита от аномалий уровни определены стандартом SQL ANSI: Read Uncommitted
Виды соединений (JOIN) в PostgreSQL основы SQL: объединение таблиц по заданному условию INNER JOIN: возвращает исключительно строки с совпадениями в обеих таблицах LEFT JOIN (LEFT OUTER JOIN): сохраняет все строки…
Какие дандер‑методы требуется реализовать для контекстного менеджера? контекстный менеджер — это объект, который управляет ресурсами Для собственного контекстного менеджера требуется реализовать два метода: enter —…
Магические методы итератора Итератор — это объект, поддерживающий протокол итерации Python Метод iter() — возвращает сам объект-итератор Метод next() — выдаёт следующий элемент либо вызывает StopIteration…
Проверки кода в CI/CD: flake8, mypy и pytest flake8: статический анализ стиля и синтаксиса Python, обнаруживает ошибки и нарушения PEP8 mypy: статическая проверка типов, находит несоответствия в аннотациях и повышает…
Как оценить скорость работы словаря (Big O)? словарь представляет структуру ключ → значение (хеш-таблицу) вставка, поиск и удаление обычно имеют amortized O(1) (среднюю амортизированную сложность) в худшем случае при…