Skip to content

Latest commit

 

History

History
103 lines (82 loc) · 6.82 KB

python.md

File metadata and controls

103 lines (82 loc) · 6.82 KB

Вопросы для разработчиков Python (django)

Вопросы по soft skills Вопросы по алгоритмам

Junior

Общие вопросы

  1. Почему ты решил стать бэкенд-разработчиком, чем тебя привлекает профессия?

Python

  1. Какие типы данных существуют в Python?
  2. Области видимости в Python. Как работают?
  3. Методы работы со списками, какие существуют?
  4. Как устроены хеш-мапы в Python?
  5. В чем разница между операторами is и ==?
  6. Какие циклы существуют в Python?
  7. Что такое контекстный менеджер? Для чего он используется?
  8. Что такое магические методы в Python? Как они работают?
  9. В чем разница между приватными и защищенными методами?
  10. Различия между staticmethod и classmethod.
  11. Что такое GIL? Как он влияет на многозадачность в Python?
  12. Что может быть ключом словаря, а что не может? Почему?
  13. Как устроено наследование в Python? Как работает множественное наследование?
  14. Что такое ленивые вычисления в Python?
  15. В чем разница между Flask и FastAPI?
  16. Что такое сериализация? Где и зачем она используется?

Базы данных

  1. Какие бывают типы баз данных? В чем их отличия?
  2. В чем разница между JOIN и UNION?
  3. В чем различия между UNION и UNION ALL?
  4. Какие требования предъявляются к оператору UNION?
  5. В чем разница между HAVING и WHERE?
  6. Что такое индексы в базах данных? Какие плюсы и минусы у их использования?
  7. Что такое SQL-инъекции? Как их предотвратить?
  8. Что такое транзакции? Как они работают?
  9. Какие ORM знаешь и какие использовал? Какие плюсы и минусы можешь выделить?

Сети

  1. Какие бывают протоколы передачи данных?
  2. В чем разница между HTTP и HTTPS?
  3. В чем разница между UDP и TCP?
  4. Какие методы HTTP существуют? Как они различаются?
  5. Что такое JWT токен?
  6. Что такое REST API и как оно работает?

Middle

Общие вопросы

  1. В чем разница между аутентификацией, авторизацией и идентификацией?
  2. Расскажи о принципах SOLID.
  3. Расскажи о принципах ООП.
  4. Какие паттерны программирования знаешь? Приведи пару примеров.

Python

  1. Как создать генератор в Python?
  2. Чем тебе интересен Python? Почему выбрал эту технологию?
  3. Расскажи про проекты, которыми занимался, и какие технологии использовал?
  4. Как бы ты охарактеризовал Python? Какие преимущества или недостатки у него есть?
  5. Как ты понимаешь ссылочную модель в Python?
  6. Если мы создадим переменную a, в которой будет значение 1, и создадим переменную b = a, то сколько объектов и сколько ссылок будет создано?
  7. Для чего нужен счетчик ссылок в Python?
  8. Какие типы данных изменяемые, а какие неизменяемые в Python? Почему это важно?
  9. Расскажи про использование моков
  10. Какие есть способы расширить модель пользователя в Django?
  11. Что такое класс BaseView и для чего он используется?
  12. Как бы ты описал модель проектирования Django? Какие конструкции использует Django?
  13. Как реализовать систему избранного в интернет-магазине на Django?
  14. Как устроена система авторизации в Django?
  15. Как реализовать корзину для интернет-магазина в Django?

Сети

  1. Какие статусы ответов HTTP знаешь?
  2. В чем отличие GET запроса от POST? Можем ли отправить файл через GET?
  3. Какие методы HTTP передают тело запроса?
  4. Что входит в один HTTP-запрос?
  5. Что такое REST? Перечисли принципы. Перечисли частые методы

Базы данных

  1. Как реализуется связь многие ко многим в базах данных?
  2. Расскажи что такое транзакция
  3. Расскажи о принципах ACID
  4. В чем разница между UNION и JOIN? UNION и UNION ALL?
  5. Приходилось ли анализировать план запроса? Чем отличается EXPLAIN от EXPLAIN ANALYZE?

Задачи

  1. Как написать скрипт для скачивания 1000 картинок? Какие подходы лучше (асинхронно, несколько потоков и т.д.)?
  2. Как бы ты оптимизировал скрипт для скачивания изображений и сделал из него микросервис?
  3. Как реализовать обработку изображений в таком микросервисе?
  4. Как написать код для подсчета четных чисел в списке?
  5. Как работать с запросами, которые внезапно стали медленнее, особенно с JOIN?
  6. Как обработать исключения при работе с файлами в Python (отсутствие файла, другие ошибки)?
  7. Как реализовать обращение к API с ограничением по времени и количеству потоков?