Подборка объединяет вопросы, отмеченные на этапах интервью в Yappy. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, database, optimization.
Проверки кода в CI/CD: flake8, mypy и pytest flake8: статический анализ стиля и синтаксиса Python, обнаруживает ошибки и нарушения PEP8 mypy: статическая проверка типов, находит несоответствия в аннотациях и повышает…
Как оценить скорость работы словаря (Big O)? словарь представляет структуру ключ → значение (хеш-таблицу) вставка, поиск и удаление обычно имеют amortized O(1) (среднюю амортизированную сложность) в худшем случае при…
Индексы увеличивают объём БД и требуют дополнительного дискового пространства Замедляют выполнение операций записи и обновления (INSERT, UPDATE, DELETE), поскольку при них необходимо изменять и индексы Большое…
Сколько запросов к базе данных выполняет PrefetchRelated в Django? Оптимизация жадной загрузки средствами ORM Django PrefetchRelated выполняет 2 и более запросов Один запрос предназначен для основной модели Ещё один…
Различия между producer и consumer в RabbitMQ RabbitMQ — брокер сообщений (message broker), работающий с очередями Producer — компонент, который отправляет, то есть публикует, сообщения в очередь Consumer — компонент,…
Чем отличаются git rebase и git merge Git merge объединяет ветки и создаёт merge commit Git rebase перестраивает историю, перенося коммиты на новую базу Merge оставляет всю историю ветвления Rebase формирует линейную…
Чем различаются асинхронность, threading и мультипроцессинг Асинхронность работает в рамках одного потока: неблокирующие операции координируются через event loop, например с использованием async/await в JS и Python.…
Чем паттерн «Декоратор» отличается от реализации в Python Декоратор — структурный паттерн, предназначенный для динамического расширения поведения объекта В Python его часто реализуют с помощью функций-декораторов либо…
основные единицы выполнения в ОС процесс — самостоятельный экземпляр программы с отдельным адресным пространством поток (thread) — облегчённая единица выполнения, работающая внутри процесса потоки используют общую…
структуры данных Python, предназначенные для хранения элементов список (list) является изменяемым, а кортеж (tuple) — неизменяемым для list доступны методы добавления, удаления, изменения элементов tuple требует…
** CREATE (INSERT) обычно быстрее при добавлении новых данных, тогда как UPDATE сложнее и медленнее, поскольку изменяет существующие записи и требует дополнительных проверок и блокировок.