Содержание курса
Вступление
2 урока
1.
О курсе
↗
2.
Зачем нужен этот курс?
↗
Git и контроль версий
15 уроков
1.
Что такое Git и для чего он нужен?
↗
2.
Чем Git отличается от систем контроля версий типа SVN?
↗
3.
Что такое репозиторий? Чем отличается локальный от удаленного?
↗
4.
Что такое коммит и как его создать?
↗
5.
Чем отличается git fetch от git pull?
↗
6.
Что такое ветка в Git?
↗
7.
Чем отличается git merge от git rebase?
↗
8.
Что делает git push и git pull?
↗
9.
Как посмотреть историю коммитов?
↗
10.
Что такое конфликт при слиянии веток и как его решать?
↗
11.
Что такое git stash и как его использовать?
↗
12.
Как сравнить две ветки или коммита?
↗
13.
Что такое cherry-pick и когда его используют?
↗
14.
Что такое submodule и зачем он нужен?
↗
15.
Что делает git bisect и как помогает находить баги?
↗
База 150 вопросов
6 уроков
1.
О данном модуле
↗
2.
Раздел 1
↗
3.
Раздел 2
↗
4.
Раздел 3
↗
5.
Раздел 4
↗
6.
Раздел 5
↗
Soft skills
2 урока
1.
Soft skills: расскажи о себе
↗
2.
Soft skills: как ты работаешь
↗
Python
15 уроков
1.
Что такое GIL?
↗
2.
Что делают глубокая и поверхностная копия в Python?
↗
3.
Что такое *args, **kwargs и когда их использовать?
↗
4.
Что такое lru_cache и когда его использовать?
↗
5.
Что такое hash и как он работает?
↗
6.
Разница между модулем, пакетом и пространством имён.
↗
7.
Как работает сборщик мусора в Python?
↗
8.
Разница между @dataclass и namedtuple?
↗
9.
Чем отличаются dict.setdefault() и collections.defaultdict()?
↗
10.
Разница между sort() и sorted()?
↗
11.
Как реализовать стек и очередь в Python?
↗
12.
Чем отличается import module от from module import func?
↗
13.
Что делает if __name__ == "__main__":?
↗
14.
Как работает модуль os?
↗
15.
В чём разница между json и pickle?
↗
FastAPI
20 уроков
1.
Как запустить простое FastAPI-приложение?
↗
2.
Что такое FastAPI и чем он отличается от Flask и Django?
↗
3.
Что такое эндпоинт и какие у него особенности в FastAPI?
↗
4.
Чем отличается асинхронный эндпоинт от синхронного?
↗
5.
Как описать GET, POST, PUT, DELETE запросы в FastAPI?
↗
6.
Чем отличаются query-параметры от path-параметров?
↗
7.
Как обрабатывать тело запроса (request body) в FastAPI?
↗
8.
Как задать значения по умолчанию для query или path параметров?
↗
9.
Что такое OpenAPI и как FastAPI с ним работает?
↗
10.
Что такое tags в OpenAPI документации и зачем они нужны?
↗
11.
Как работает dependency injection и какие у него плюсы?
↗
12.
Что такое Pydantic модели?
↗
13.
Как валидация данных работает в FastAPI?
↗
14.
Как тестировать FastAPI приложения?
↗
15.
Как настроить CORS?
↗
16.
Как работает аутентификация в FastAPI?
↗
17.
Что такое middleware и для чего оно используется?
↗
18.
Что такое BackgroundTasks и какие у него преимущества?
↗
19.
Что такое response_model и зачем его использовать в эндпоинтах?
↗
20.
Что такое HTTPException и когда её использовать?
↗
База данных (БД)
20 уроков
1.
Что такое реляционная база данных?
↗
2.
Что такое SQL?
↗
3.
Что такое FOREIGN KEY?
↗
4.
Чем отличается INNER JOIN от LEFT JOIN?
↗
5.
Что делает GROUP BY и HAVING?
↗
6.
Что такое транзакция и какие есть у него свойства?
↗
7.
Чем LIMIT отличается от OFFSET?
↗
8.
Что такое индекс и зачем он нужен?
↗
9.
Что такое нормализация БД?
↗
10.
Что такое VIEW и MATERIALIZED VIEW?
↗
11.
Что такое N+1 проблема? Как избежать?
↗
12.
Как работает репликация баз данных?
↗
13.
Что такое NoSQL? Когда использовать?
↗
14.
Что такое connection pooling и какие у него плюсы?
↗
15.
Что такое database normalization?
↗
16.
Как работает блокировка в БД? Уровни изоляции.
↗
17.
Какие бэкапы есть в БД и как их настроить?
↗
18.
Что такое ORM? Плюсы и минусы.
↗
19.
Как работает SQLAlchemy?
↗
20.
Что такое PARTITIONING в PostgreSQL?
↗
Docker
15 уроков
1.
Что такое Docker и зачем он нужен?
↗
2.
Чем отличается Docker от виртуальной машины?
↗
3.
Что такое контейнер и чем он отличается от образа?
↗
4.
Что такое Docker Engine?
↗
5.
Что делает команда docker run?
↗
6.
Для чего используется команда COPY и ADD?
↗
7.
Что такое многоэтапная сборка?
↗
8.
Что такое Docker Hub?
↗
9.
Как подключиться в терминал работающего контейнера?
↗
10.
Чем отличается docker exec от docker attach?
↗
11.
Как ограничить использование CPU и памяти контейнером?
↗
12.
Что такое Docker volume и зачем он нужен?
↗
13.
Как работает сеть по умолчанию в Docker?
↗
14.
Чем отличаются bridge, host и none сети?
↗
15.
Как создать свою сеть в Docker?
↗
API, REST API, HTTP
20 уроков
1.
Что такое API?
↗
2.
Что такое REST? Основные принципы.
↗
3.
Чем REST отличается от GraphQL?
↗
4.
Что такое HTTP методы?
↗
5.
Как работают HTTP статус коды?
↗
6.
Что такое cookies, session, JWT?
↗
7.
Что такое WebSockets? Когда использовать?
↗
8.
Что такое idempotency в API?
↗
9.
Как версионировать API?
↗
10.
Что такое URI, URL и URN?
↗
11.
Что такое веб-хук?
↗
12.
Что такое JWT и для чего он используется?
↗
13.
В чем разница между аутентификацией и авторизацией?
↗
14.
Что такое Rate Limiting?
↗
15.
Что такое Content Negotiation?
↗
16.
Чем отличается синхронное API от асинхронного?
↗
17.
Что такое timeout запроса и почему они важны?
↗
18.
Что такое retry-механизм и когда его применяют?
↗
19.
Что такое stateless-подход и почему он важен для REST API?
↗
20.
Чем отличается HTTP от HTTPS на уровне работы протокола?
↗
Асинхронность
20 уроков
1.
Что такое асинхронность?
↗
2.
Различия между асинхронностью и многопоточностью?
↗
3.
Что такое синхронность?
↗
4.
Как создать асинхронный генератор?
↗
5.
Что делают ключевые слова async и await?
↗
6.
Что такое event loop в asyncio?
↗
7.
Что такое IO bound операции?
↗
8.
Что такое корутина и как ее создать?
↗
9.
Что такое asyncio.run() и когда его использовать?
↗
10.
Что такое конкурентность в asyncio?
↗
11.
Как создать и управлять задачами (Tasks) в asyncio?
↗
12.
Когда стоит использовать асинхронность, а когда многопоточность
↗
13.
Что такое asyncio.sleep() и чем он отличается от time.sleep()?
↗
14.
Как создать асинхронный контекстный менеджер?
↗
15.
Что такое event-driven архитектура?
↗
16.
Как работает Celery?
↗
17.
Чем отличается asyncio.gather() от asyncio.wait()?
↗
18.
Что такое async iterator и где его применяют в Python?
↗
19.
Почему нельзя вызывать блокирующие функции внутри async-корутины
↗
20.
Как обработать исключение, которое произошло внутри корутины?
↗
Кеширование
10 уроков
1.
Что такое кеширование и зачем оно нужно?
↗
2.
Что такое "write-behind" кеширование?
↗
3.
Что такое TTL и зачем он нужен?
↗
4.
Какие стратегии инвалидации кеша вы знаете?
↗
5.
Как работает Redis как система кеширования?
↗
6.
Какие данные подходят для кеширования лучше всего?
↗
7.
Что такое cache hit и cache miss?
↗
8.
Почему нельзя хранить все данные только в кеше?
↗
9.
Чем кеширование ускоряет работу приложения?
↗
10.
Где можно использовать кеширование в backend-приложении?
↗
Тестирование
15 уроков
1.
Что такое тестирование и зачем оно нужно в разработке?
↗
2.
Чем отличается ручное тестирование от автоматизированного?
↗
3.
Какие виды тестирования ты знаешь?
↗
4.
Что такое unit-тесты и для чего они используются?
↗
5.
Чем unit-тесты отличаются от интеграционных тестов?
↗
6.
Что такое тест-кейс и из каких частей он состоит?
↗
7.
Что такое end-to-end (E2E) тестирование?
↗
8.
Что такое bug / defect и какой у него жизненный цикл?
↗
9.
Что такое regression testing и когда его проводят?
↗
10.
Чем отличается black-box тестирование от white-box?
↗
11.
Что такое pytest и для чего он используется?
↗
12.
Как запустить тесты в pytest?
↗
13.
Почему тесты важны при командной разработке?
↗
14.
Как тестировать работу с базой данных в backend-проекте?
↗
15.
Что такое negative testing и чем он полезен?
↗
Последний
1 урок
1.
Самый популярный вопрос
↗
Заключение
1 урок
1.
Заключение
↗