Подборка объединяет вопросы, отмеченные на этапах интервью в Yappy. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, database, optimization.
Как реализован словарь (dict) в Python? dict представляет собой хеш-таблицу с открытой адресацией Для ключей вычисляется хеш, после чего сохраняются пары (ключ, значение) При коллизии выполняется поиск следующей…
Как реализовать асинхронный контекстный менеджер в Python? Python, асинхронное программирование, контекстные менеджеры Реализовать методы aenter и aexit aenter — асинхронно выполняет вход в контекст (поддерживает…
Оптимизация отчёта о наличии книг в магазинах при проблеме N+1 проблема N+1 приводит к лишним обращениям к БД один основной запрос получает книги, после чего для каждой книги выполняется отдельный запрос о наличии…
Как устроен сборщик мусора в 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…