Django / Grade 0 / Собеседования
https://career.guru99.com/ru/top-16-django-interview-questions/
Объясни значение Model View Teamplay (MVT)
Объясни как происходит обработка HTTP запросов на Django
Назови основные сущности в Django
Что такое querySet() в Django
Какую бы связь использовал для расширения стандартного юзера
Что означает querySet() ленивые
Как реализован many to many в Django
Расскажи про архитектурный паттерн django
Что такое кастомный менеджер модели
Для чего нужны библиотеки sqlparse, asgiref в Django
Почему храните шаблоны на уровне приложений
Где и как классы используются в Django
Какие стратегии расширения Django знаешь
Как Django обрабатывает запрос/ответ
Как создать views
Как сгенерировать и применить миграцию
Для чего используется параметр permissions в DRF
Для чего используется IntegerChoices
Что такое ViewSet и для чего используется
Чем ApiView отличается от ViewSet
Какие есть варианты определения модели пользователя в Django
Как сделать кастомную авторизацию в Django
Как в Django реализована работа с websocket
Что такое толстые модели в Django
Где лучше расположить логику в моделях или сериализаторе
Какой опыт работы с Django
Что такое models
Как создать объект в Django ORM
Какие есть модели в Django
Расскажи про manage.py в Django
Расскажи про Django rest framework
Как настраивать ссылки
Как бы описал модель проектирования Django
Что такое контекстный процессор
Что такое сигналы
Что такое класс baseview
Какие базовые классы django нам предоставляет
Как реализовывали views в Django, функцией или классом
Назовите основные мидлвари, зачем они нужны
Опишите алгоритм работы CSRF middleware
Как реализуется связь m2m на уровне базы данных
Как работает Serializer в Django REST Framework
За что отвечает Meta в сериализаторе
Какая разница в быстродействии между django и Flask (и почему)
Как в django работает система аутентификации
Вопросы от моего ментора вкогда он меня обучал
Изучать:
уметь писать несложные запросы (select, update, delete), использовать join (left и inner хватит), подзапросы, order by, limit, offset и group by (вместе с count, sum, max/min). + выражения всякие (like, in, exists, is null, ...)
1. Как бы вы описали Джанго
2. Каковы преимущества Django?
3. Что такое архитектура Django?
4. В чем разница между проектом и приложением в Django?
5. Опишите этапы жизненного цикла запроса-ответа Django.
6. Как вы обрабатываете URL-адреса в Django?
Основы Django:
Модели и ORM:
Представления (Views) и URL-шаблоны:
Шаблоны (Templates):
Аутентификация и авторизация:
Международизация и локализация:
RESTful API и Django REST framework (DRF):
Кэширование и оптимизация:
Сигналы (Signals) и задачи (Tasks):
Безопасность и защита от атак:
Если Вы учите программирование и рассчитываете работать в типичном продукте или аутсорсе, в стартапе или фрилансе, то вот на чем можно сэкономить. Но это не касается тех, кто хочет стать системным программистом и работать в технологической компании. Так вот, чтобы быстрее учиться и что скорее всего никогда не понадобится в реальном продуктовом коде:
1. Алгоритмы и задачи с литкода или кодеварс вам не нужны. Но нужен навык простого процедурного и ООПшного кода + GRASP и SOLID.
2. Всякие учебные задачи, типа todo листа, калькулятора, крестики-нолики. Нужно делать более комплексные вещи, полноценный проект.
3. Бесконечное смотрение видео тоже ни к чему не приведет, нужно получать ревью кода, желательно от наставника или от друзей.
4. Задачи на системный дизайн не нужны, Это знания, которые нужны лиду, архитектору и CTO и валидны только при закреплении на практике.
5. Микрооптимизация, типа сравнения по производительности object[key], obejct.key и Object.assign. В начале пути одна задача - понятность кода.
6. Не нужно заучивать все паттерны (GoF и еще сотню), в зависимости от языка и фреймворка вам понадобится всего 2-3 шаблона проектирования.
7. Не старайтесь изучить внутреннее устройство event loop, garbage collection, goroutine scheduler, это спрашивают на собесах, но не нужно в работе.
8. Не ведитесь на крутые темы, типа высоконагруженных, распределенных и супер-защищенных приложений, вас к ним еще долго не допустят.
9. Не зацикливайтесь на языке, язык гораздо проще тулинга, поднажмите на git, github, линтеры, ide, docker, ci и тестирование, тулы для отладки.
10. Ничто так не отвлекает от изучения программирования, как ВУЗ и не внушает ложного чувства уверенности, как ИТ-курсы от инфожуликов.