Skip to content

Gratio-tech/Python-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Gratio python test

Описание

Тестовые задания и сборник примерных вопросов на позицию python-разработчика в компании Gratio.

Простые общие вопросы

Общие вопросы, напрямую не связанные с Python

Работа с базами данных и ORM

  • SQL: Напишите простой запрос с JOIN. Объясните разницу между INNER JOIN и LEFT JOIN.
  • ORM (например, Django ORM или SQLAlchemy): Слышали ли про проблему "N+1 (дополнительного) запроса", как избежать? В чем разница между отложенной (lazy) и жадной (eager) загрузкой?
  • Миграции (Migrations): Что это такое и зачем нужны? Как вы работаете с миграциями в своем проекте?
  • Индексы в БД: Что такое индекс и зачем он нужен? Как вы решаете, какие поля индексировать?

Тестирование (Testing)

  • Unit-tests: Что такое юнит-тест? В чем разница между unittest и pytest? Что предпочтете и почему?
  • Фикстуры (Fixtures) и моки (Mocks): Что это такое и для чего используются? Приведите пример, когда вы использовали мок для тестирования функции, которая обращается к внешнему API.
  • Покрытие кода (Code Coverage): Что означает "80% покрытия кода"? Всегда ли это хороший показатель?

Инструменты и практики разработки

  • Виртуальные окружения (Virtual Environments): Зачем они нужны? Как вы ими управляете (venv, pipenv, poetry)?
  • Форматирование кода и линтеры: Используете ли вы black, flake8, isort? Зачем они нужны?
  • Система контроля версий (Git): Опишите ваш типичный workflow (например, Git Flow, GitHub Flow). Что такое rebase и в чем его отличие от merge?
  • Контейнеризация (Docker): Работали ли с Docker? Что такое Dockerfile и docker-compose.yml?

Архитектура и принципы проектирования

  • Принципы SOLID: С какими из них вы знакомы? Можете кратко объяснить один-два (например, SRP - Single Responsibility Principle)?
  • Паттерны проектирования: Сталкивались ли с какими-либо паттернами? Можете привести пример использования Фабрики (Factory), Синглтона (Singleton) или Наблюдателя (Observer) в Python?
  • API: Что такое REST? Какие HTTP-методы вы знаете? В чем разница между 401 Unauthorized и 403 Forbidden? Какие ещё виды API и клиент-серверного взаимодействия вообще вы знаете?
  • Микросервисы vs Монолит: В чем плюсы и минусы каждого подхода? Когда что выбрать?

Soft Skills

  • Как вы подходите к код-ревью? На что вы обращаете внимание, когда ревьюите чужой код, и как вы реагируете на критику своего кода?
  • Представьте, что вы обнаружили в проекте медленно работающий код. Как вы будете подходить к его оптимизации?
  • Как вы оцениваете свои задачи и следите за сроками?

About

Тестовое задание, а также сборник вопросов и требований для python-разработчика

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors