Skip to content

Luffenoff/my-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. Backend (Python)

Обязательные навыки:

Python – уверенное знание синтаксиса, ООП, многопоточность (threading, asyncio).
Фреймворки: FastAPI (лучше), Flask (проще).
REST API – создание эндпоинтов, работа с JSON, requests.
Базы данных: PostgreSQL (как минимум SQL-запросы, индексы, транзакции).
ORM: SQLAlchemy (на уровне моделей и запросов).
Docker – уметь контейнеризировать приложение.
Тестирование: pytest (юнит-тесты API, базы).
Кэширование: Redis, Memcached (базовые команды, зачем они нужны).
Очереди задач: Celery (работа с фоновой обработкой).

Желательно:

🔹 gRPC – если хочешь работать с высоконагруженными системами.
🔹 WebSockets – если API работает в реальном времени.
🔹 Kafka, RabbitMQ – если работаешь с микросервисами.

2. DevOps

Обязательные навыки:

Linux – команды, работа с процессами (ps, htop), логами (journalctl, tail).
Docker + Docker Compose – сборка контейнеров, работа с docker-compose.yml.
CI/CD – понимать, как автоматизировать деплой (GitHub Actions, GitLab CI).
Nginx – базовая настройка реверс-прокси, балансировки нагрузки.
Git – умение работать с git rebase, git merge, git stash.
МониторингPrometheus + Grafana, ELK Stack (Elasticsearch, Logstash, Kibana).
Ansible или Terraform – базовое понимание автоматизации инфраструктуры.

Желательно:

🔹 Kubernetes – если хочешь в серьёзные DevOps-команды.
🔹 AWS/GCP – если хочешь работать с облаками.

3. Soft Skills (важно для устройства на работу)

✅ Уметь объяснять свои решения (например, почему выбрал FastAPI, а не Flask).
✅ Писать чистый код (PEP8, SOLID).
✅ Работать с логами и разбираться в ошибках.
✅ Уметь разбираться в чужом коде.
✅ Минимальный английский (чтобы читать документацию, писать комменты и общаться в чатах).


Как выучить всё это до мая?

Фокус на практику:
🔹 Пиши пет-проекты: например, API для управления задачами (FastAPI + PostgreSQL + Docker + Redis).
🔹 Разверни проект на своём сервере (Timeweb).
🔹 Настрой CI/CD, логирование, мониторинг (Prometheus, Grafana).
🔹 Разбери вакансии, запиши часто встречающиеся требования.

1. Backend (Python) – дополнительное

Паттерны проектирования – Singleton, Factory, Repository, CQRS (если работаешь с микросервисами).
Архитектура микросервисов – если хочешь в крупные компании (Ozon, Авито, Тинькофф).
GraphQL – некоторые компании переходят на него вместо REST API.
CI/CD + тестирование на проде – работа с staging окружением перед реальным деплоем.

2. DevOps – дополнительное

Helm – если работаешь с Kubernetes.
Load Testinglocust.io для проверки нагрузки.
IaC (Infrastructure as Code) – Terraform, Pulumi (если хочешь DevOps в крупных проектах).
SRE (Site Reliability Engineering) – как быстро откатывать обновления, как писать алерты (Prometheus, Alertmanager).

3. Работа с безопасностью

JWT-токены – как их хранить и валидировать.
SSL/TLS – как настроить HTTPS на сервере.
Безопасность в Docker – как не хранить пароли в образах.

4. Подготовка к работе

Разбери реальные вакансии, выпиши требования.
Подготовь своё резюме (указать пет-проекты, стек технологий).
Попробуй пару тестовых заданий с вакансий.
Пройди 3-5 собеседований, даже если не готов, чтобы понять, какие вопросы задают.

Вывод

🔹 Всё, что я написал выше, — важно, но можно идти от простого к сложному.
🔹 Если ты хочешь попасть на работу быстро, ориентируйся на вакансии, которые требуют Python, FastAPI, Docker, PostgreSQL и CI/CD.
🔹 А уже потом докачивай Kubernetes, Kafka, Terraform и остальное.

Программа обучения Backend + DevOps (3 месяца, до мая)

Будем двигаться по 4 направлениям:

  1. Backend (Python, API, базы данных)
  2. DevOps (Docker, CI/CD, серверы)
  3. Linux + сети
  4. Практика (пет-проекты, тестовые задания, собеседования)

Каждую неделю – теория + практика, чтобы не просто читать, а сразу применять.


📌 Месяц 1: Backend + базы данных

Неделя 1: Python для Backend

🔹 Основы FastAPI (или Flask) – создание API
🔹 Обработка запросов (GET, POST, DELETE, PATCH)
🔹 Работа с Pydantic для валидации данных
🔹 Логирование (лог-файлы, logging)
🔹 Написание простого API: TODO-менеджер (CRUD)

Практика: Сделать простое API с БД SQLite, развернуть в Docker.

Неделя 2: Базы данных (PostgreSQL, SQLAlchemy)

🔹 Основы SQL (JOIN, индексы, транзакции)
🔹 Подключение к PostgreSQL в FastAPI
🔹 Использование SQLAlchemy (ORM)
🔹 Конфигурация Alembic (миграции)
🔹 Репликация и бэкапы PostgreSQL

Практика: Поднять PostgreSQL в Docker, подключить API.

Неделя 3: Асинхронность + кэширование

🔹 Разбор asyncio в Python
🔹 Разница между sync и async в API
🔹 Redis – кеширование запросов
🔹 Celery – фоновые задачи (например, отправка email)

Практика: Добавить Redis к API, кешировать запросы.

Неделя 4: Безопасность + тестирование API

🔹 Авторизация: JWT-токены
🔹 Хранение API-ключей (переменные окружения)
🔹 Docker для Python-приложений
🔹 Тестирование pytest (юнит-тесты, мокирование БД)

Практика: Написать тесты, завернуть API в Docker.


📌 Месяц 2: DevOps + CI/CD

Неделя 5: Linux и сети

🔹 Команды Linux (ps, htop, netstat, journalctl)
🔹 Работа с процессами (systemd)
🔹 Мониторинг (htop, top)
🔹 Настройка брандмауэра (iptables, ufw)

Практика: Настроить сервер (Timeweb, Ubuntu), развернуть API.

Неделя 6: Docker и контейнеризация

🔹 Dockerfile – создание образов
🔹 Docker Compose – сборка многокомпонентных сервисов
🔹 Разница между Docker run, Docker build, Docker-compose up
🔹 Работа с переменными окружения в контейнерах

Практика: Запустить API, PostgreSQL и Redis в Docker Compose.

Неделя 7: CI/CD и деплой

🔹 Настройка GitHub Actions или GitLab CI/CD
🔹 Деплой в облако (Timeweb, Render, Railway)
🔹 Автоматическое обновление контейнеров (watchtower)

Практика: Сделать автосборку и деплой через CI/CD.

Неделя 8: Nginx и балансировка нагрузки

🔹 Настройка Nginx как реверс-прокси
🔹 Балансировка нагрузки
🔹 Сертификаты SSL (Let's Encrypt)
🔹 Мониторинг API (Prometheus + Grafana)

Практика: Настроить Nginx перед API + HTTPS.


📌 Месяц 3: Готовимся к работе

Неделя 9: Микросервисы и Kafka (по желанию)

🔹 Основы микросервисов
🔹 Введение в Kafka/RabbitMQ
🔹 gRPC (если останется время)

Практика: Разобраться, но не углубляться (по необходимости).

Неделя 10: Работа с тестовыми заданиями

🔹 Найти 2-3 вакансии и посмотреть их тестовые задания
🔹 Попробовать выполнить одно из них

Практика: Сделать хотя бы одно тестовое.

Неделя 11-12: Собеседования и работа над ошибками

🔹 Разбор популярных вопросов (SQL, Docker, Python, сети)
🔹 3-5 собеседований (пробные, даже если не готов)
🔹 Разбор ошибок после собеседований

Практика: Максимально подавать резюме, пробовать вакансии.


🔥 Итог

📅 Конец апреля – ты уже на собеседованиях, в мае – выходишь на работу.
Если тебе нужна поддержка в изучении чего-то сложного – спрашивай! 🚀

Окей, тогда усилим микросервисы. Это значит:

  1. Добавляем Kafka или RabbitMQ – для общения между сервисами.
  2. Разбираем gRPC – если API между сервисами должен быть быстрым.
  3. Docker + оркестрация (Kubernetes, Nomad) – для управления сервисами.

Как изменить план?

🔹 Уже на 2-м месяце (после Docker) – начнём с Kafka/RabbitMQ.
🔹 На 3-м месяце разберём Kubernetes – чтобы научиться разворачивать микросервисы.
🔹 Один из пет-проектов сделаем микросервисным – например, "управление задачами" (один сервис API, второй – обработка фона).

Тебе подробнее расписать изменённый план или достаточно этих правок? 🚀

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published