Java Буткемп

в FAANG School
Тарифы обучения
Рассрочка
Есть другие способы оплаты. Если рассрочка не подходит или ты из другой страны, оставь заявку. Наш менеджер подберет удобный для тебя вариант.
Что уже доступно в библиотеке?
Что уже доступно в библиотеке?
«5 улучшений для твоего пет-проекта»
Что уже доступно в библиотеке?
«5 улучшений для твоего пет-проекта»
Что уже доступно в библиотеке?
«5 улучшений для твоего пет-проекта»
по Spring для начинающих
Мероприятия
FAANG School
Успехи наших выпускников
Команда FAANG School
Команда FAANG School
Отзывы наших студентов
Блок 1. Onboarding + Java Core & SQL
Познакомишься со всеми инструментами, которыми будешь активно пользоваться в следующие месяцы: GitHub, Jira, Miro и образовательной платформой FAANG School, конечно.
После этого пора освежить знания по Java Core, вспомнить основы SQL, а также пойти чуть дальше и рассмотреть транзакции и индексы. Ты научишься работать с Git и писать первые Unit-тесты.
Затем идёт разделение на команды. Ты узнаешь про культуру эффективной работы, а также про лидерские принципы.
- Знакомство с экосистемой студента, с инструментами и платформой
- Организация командной работы
- Лидерские принципы
- Настройка локального окружения
- Основы Git и работа с ним через IntelliJ IDEA
- Бейсик Java
- Бейсик SQL
- Основы Unit-тестирования
Блок 2. Advanced Java
Модуль расскажет о продвинутых концепциях Java и SQL. Материалы поданы понятным языком, поэтому ты легко сможешь узнать и обсудить концепты Java 8 и многопоточности.
В современном мире ни одно приложение уже не обходится без многопоточности, поэтому знание о ней критически важно для разработчика. А Stream API, после появления в Java 8, бьёт все рекорды по вопросам на собеседованиях. Эти важнейшие темы тебе пригодятся в реализации фич проекта в будущих модулях!
- Java 8: функциональные интерфейсы и лямбды
- Java 8: коллекции, Stream API, Optional
- SQL: Indexes, transactions, transactions isolation
- Multithreading: Parallelism, Thread
- Multithreading: Asynchronysm, Future, Completable future
- Multithreading: Synchronyzation, wait/notify
- Multithreading: Volatile, immutable classes, deadlock, concurrency package
Блок 3. Web & Spring Boot
Spring Framework — самый популярный фреймворк для web-разработки на Java. Здесь ты начнёшь с его основ. Узнаешь про бины, DI, IoS, а затем перейдёшь к более сложным темам, постепенно добираясь и до Advanced-возможностей, таких как асинхронное выполнение задач и выполнение задач по расписанию. Все темы, от простых к сложным, объяснены на простейших жизненных примерах, так, что вся магия становится понятной. Ты решишь множество проектных задач разных уровней сложности, полностью погрузившись в Spring.
В этом модуле начинается проектная разработка — каждая команда напишет свою версию приложения. Каждый спринт ты будешь получать новые задачи, постепенно наращивая функционал своего приложения. Приложение разрастётся, появятся микросервисы, и настанет время реализовать крупные фичи:
- Web: HTTP, Cookies, JSON, REST endpoints, Session
- Spring core: IoC, Beans, Dependency Injection, Configuration Spring core: Components annotations, Autowiring, Scopes, Bean Lifecycle
- Spring Web: Controller, RequestMapping, ResponseBody, RequestBody, RequestParam, Postman Spring Web: REST API, Validation, ExceptionHandler, HttpServletRequest, HttpServletResponse, MultipartFile
- Spring Advanced: @Scheduled, @Async, @EventListener, event-driven architecture
- Unit testing: JUnit & Mockito
Блок 4. Test and deploy
Кроме написания кода, разработки фич и интеграции, разработчик должен готовить приложение к деплою, работать с CI/CD, и, конечно же, покрыть свой код Unit-тестами! Ты узнаешь про интеграционное тестирование — лишним не будет. Напишешь свои пайплайны, настроишь оценку покрытия кода тестами, а ещё прокачаешь софт скиллы, рассказывая команде о только что прикрученных инструментах.
- Integration testing: Spring & Test containers
- Docker
- CI/CD Jenkins
- Cloud
Блок 5. Persistance
Огромные приложения, такие как YouTube и Twitter, собирают просто нереально большие массивы данных о пользователях. Все данные обязательно подлежат хранению, поэтому ты узнаешь о лучших из возможных вариантов практики работы с данными. Hibernate ORM и его назначение, кэширование данных, а ещё NoSQL базы данных — зачем, как и в каких случаях их стоит использовать.
Ты детально разберёшься с транзакциями, уровнями их изоляции и ещё о многом другом! Тренировки пройдут на задачах банковской инфраструктуры, чтобы явно увидеть необходимость безопасного хранения данных — ведь никто не хочет терять деньги. Локи, гонки, переотправки — всё это здесь. Ну, а дальше, конечно, ещё немного kill features
- SQL good practices, Liquibase
- JPA Mapping, One-to-One, One-to-Many, Many- to-Many, Spring Data usage
- Hibernate session, First/Second level cache, Spring @Cacheable
- @Transactional, Isolation, Propagation, Spring proxies
- HQL, Lazy fetch, N+1 problem
- NoSQL introduction: Redis, Mongo, Cassandra, Elastic
Блок 6. Подготовка к интервью
С написанным проектом уже смело можно пройти интервью. Однако, помимо проекта, процесс собеседования включает в себя: сильное резюме, проверку базовых навыков решения возникающих проблем и передовых методов коммуникации.
Именно поэтому ты сможешь изучить мощнейший блок подготовки к интервью. Узнаешь очень много аспектов: первое общение с HR, лучшие практики на собеседованиях, грамотное составление CV, собеседования на русском и английском языках и, конечно, просто огромный блок по алгоритмам!
- Собеседование с рекрутером: как произвести впечатление
- Общие практики собеседований: как быть захватывающим персонажем в беседе
- Общие практики собеседований: борьба с нервами и терпимость к ошибкам
- CV: как оформить круто, если нет опыта
- Хаки для поиска вакансий и привлечения внимания рекрутеров
- Как проходить собеседование на русском, английском и немецких языках
- Algo: сложность алгоритмов
- Popular algorithms: Two pointers, Recursion, DFS, BFS
- Popular algorithms: Binary search, Sorting, Hare-Tortoise
- Popular algorithms: Data structures usage
- Algorithms on Graphs
- Data structures: List, LinkedList, Map, Set
- Data structures: Stack, Queue, Heap
- Data structures: Binary tree, Binary Search Tree, Graph