Стажировка JavaRush — твоя первая работа

Доступно с 35-го уровня

Получить первую работу ох как непросто. Даже если вы усердно занимались, прошли все 40 уровней, перешерстили десяток тематических книг и знаете весь Java Core от и до, вы не застрахованы от того, что рекрутер не поверит в ваше резюме. Просто потому, что эти ребята хотят видеть в команде людей с реальным практическим опытом. Что же теперь делать? Как преодолеть ситуацию «чтобы получить опыт, нужен опыт»?

Всё не так плохо: «хакнуть» систему можно! Причём легально, без нарушения законов и общественных норм или лжи. Есть несколько способов это сделать, один из них — пройти стажировку JavaRush, во время которой вы изучите новые технологии и поработаете над настоящим проектом.

В этой статье мы расскажем о том, что представляет собой наша стажировка, как туда попасть и что это даст.

Что такое стажировка JavaRush?

По сути, стажировка JavaRush и есть самая настоящая работа программистом, только обучающая. Вы три месяца работаете над серьезным проектом, параллельно получая теоретические сведения. Раз в неделю вам выдают блок, который нужно выполнить. В конце недели вы участвуете в обсуждении этого блока, исправляете, если нужно, ошибки и корявости, после чего получаете следующее задание. И так, пока проект не будет готов.

Набор на стажировку проводится четыре раза в год. Мы публикуем анонс за несколько недель до нового набора в группе Random на сайте JavaRush и наших страницах в соцсетях, чтобы все желающие успели подготовиться.

Что изучают?

На выходе вы получите опыт работы с платформой Java Enterprise и полнофункциональное приложение на Spring/JPA Enterprise c авторизацией и правами доступа на основе ролей с использованием наиболее популярных инструментов и технологий Java. А это Maven, Spring MVC, Security, JPA (Hibernate), REST (Jackson), Bootstrap (css,js), datatables, jQuery + plugins, Java 8 Stream and Time API.

План стажировки.

Неделя 1: Системы управления версиями

  • Системы управления версиями. VCS/DVSC.
  • Основы Git
  • Date and Time API in Java 8
  • Java 8 Stream Tutorial

Неделя 2: Maven. WAR. Веб-контейнер Tomcat. Сервлеты. Логгирование

  • Java 8 Lambda
  • Основное в Java 8
  • Среда сборки проектов Maven
  • Build Lifecycle
  • Запуск Tomcat из IDEA. Динамическое обновление без передеплоя.
  • Добавление зависимостей логирования в проект
  • Log4j, Logback
  • Управление логированием по JMX
  • Контекст приложения. Деплой в Tomcat без IDE. Remote debug

Неделя 3: Обзор Spring Framework. Spring Context. Слои приложения. Создание каркаса приложения.

Архитектурные слои приложения в Spring
  • IoC, DI, IoC-контейнер
  • Паттерн DTO. Value Object и Data Transfer Object
  • Обзор Spring Framework

Неделя 4: Spring context, JUnit, ORM

  • Spring изнутри. Этапы инициализации контекста
  • JUnit 4
  • Базы данных. Обзор NoSQL и Java persistence solution без ORM
  • Spring Jdbc Template

Неделя 5: Hibernate. JPA

  • Повторяем Lambda и Stream
  • Инициализация базы при старте приложения
  • mock: подмена контекста при тестировании
  • Hibernate. Другие ORM: TopLink, ElipseLink, EBean (used in Playframework).
  • JPA. JPA Performance Benchmark.
  • Конфигурирование JPA. Сканировние Entities. JPA definitions
  • HQL/ JPQL.
  • JPA Criteria API. Unified Queries for Java
  • Java 8 Time API Converter
  • Транзакция. ACID. Уровни изоляции транзакций.
  • Добавляем поддержку HSQLDB.

Неделя 6: Транзакции. Профили Maven и Spring. Пулы коннектов. Spring Data JPA. Spring кэш

  • Выбор реализации пула коннектов: BoneCP, Commons Database Connection Pooling, HikariCP.
  • Spring Data JPA
  • Кеширование в Spring Framework
  • Распределённая система кеша ehcache

Неделя 7: Кэш Hibernate. Spring Web MVC

  • Кэш Hibernate.Уровни кэширования Hibernate
  • Spring Web. Паттерн MVC
  • JSP, JSTL, internationalization
  • Динамическое изменение профиля при запуске. Конфигурирование Tomcat через maven plugin и jndi
  • Spring Web MVC
  • Spring Internationalization

Неделя 8: REST

  • Tomcat pool. Auto generate DDL
  • Тестирование Spring MVC
  • REST контроллеры
  • Тестирование REST контроллеров. Добавление Jackson
  • jackson-datatype-hibernate. Тестирование через матчеры
  • Тестирование через SoapUi. UTF-8

Неделя 9: Bootstrap. Datatables. AJAX. jQuery. Spring Security

  • WebJars.
  • Bootstrap. Datatables
  • AJAX. jQuery. Notifications
  • Добавление Spring Security

Неделя 10: Шифрование пароля. Binding. Spring Security Test.

  • Собственный провайдер авторизации. Шифрование пароля
  • Binding/Validation
  • Работа с Dandelion Datatables через Ajax
  • Spring Security Test

Неделя 11: CSRF. JSTL. Taglib.

  • Защита от межсайтовой подделки запроса (CSRF)
  • Создание страницы логин, профиля и регистрации
  • JSTL/ Taglib
  • Обработка исключений в Spring MVC

Неделя 12: Миграция.

  • Spring Boot 3.0.1
  • Spring Data Rest/HATEOAS
  • Lombok
  • H2
  • Thymeleaf

Как попасть на стажировку?

Всё очень просто. Вот что нужно сделать:

  • Дойти до 35 уровня JavaRush или выше.
  • Иметь подписку Premium Pro или расширить свою подписку до таковой.
  • Загрузить себе тестовое задание.
  • Выполнить тестовое задание.
  • Загрузить его на Github.
  • Открыть форму заявки на странице “Стажировка” и заполнить необходимую контактную информацию
  • Добавить ссылку на решенное задание в специальное поле в этой форме.
  • Отправить задание на автоматическую проверку: это займет 10-20 секунд, после чего вы узнаете результат.

После этого вас определят в группу к преподавателю. Если вы не справились с тестовым заданием за отведенный срок, то сможете получить новое тестовое задание перед следующей стажировкой.

Как проходит?

Проект рассчитан на 12 недель (3 месяца). Каждую неделю вы будете изучать очередную технологию и добавлять очередной кусок функциональности к вашему проекту.

В начале каждой недели вы будете получать видеозапись урока (длиной 2-3 часа!), на которой разбирается и объясняется очередная технология, а также дается задание на дом, которое вы должны сделать за неделю. Задания средней сложности. Если в первый день вы во всем разобрались, то сделайте его за 1-2 дня. Если сразу не поняли, то в неделю должны уложиться.

Через неделю куратор стажировки выкладывает свое решение, и вы можете посмотреть/разобрать его, независимо от того, заработало у вас ваше решение или нет. Вокруг стажировки образовано очень полезное комьюнити, где можно получить дополнительные материалы, проконсультироваться и обсудить решение и изучаемые технологии.

Это очень эффективный подход, т.к. разбирать решения опытных разработчиков может быть на порядок полезнее, чем сделать свое кое-как. Особенно, если вы только что днями ломали голову, ища способ все сделать хорошо, быстро и красиво.

Что говорят об онлайн-стажировке ее участники

Вот парочка примеров:

Главное для меня в этом проекте — это возможность изучить на практике множество наиболее популярных технологий. «На практике» — это ключевое слово.
Очень понравилась методика преподавания, при которой проходишь естественный путь от изучения базовых понятий к применению соответсвующих фреймворков. Плюс к этому — реализация одного и того же функционала разными способами. Таким образом складывается максимально целостная картина.
Конечно же, возможность общения с другими участниками проекта и обратная связь с преподавателем — это само по себе много стоит.
Предлагаемый курс содержит целую кучу технологий, которые рассматриваются поэтапно, и прикручиваются к уже работающему проекту. Если рассмотреть стек технологий то, можно легко потеряться в самих названиях (так их много), не говоря уже о том, что изучить их за короткий срок. Но на Online-стажировке JavaRush мы все это разобрали и получили отличный опыт.
Что касается общего мнения о курсе, то это как раз то, что нужно после квестов JavaRush. Вы получите очень хорошие знания, и что важнее, поймете, как и куда их применить.

Итоги: зачем нужна стажировка

  • «Легальный» способ получить первый опыт
  • Знание кучи технологий JavaEE и полезных фреймворков
  • В вашем резюме будет реальный проект с указанием изученных технологий, который можно выложить на GitHub
Комментарии (1536)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Roman Pryshchepa Java Developer Expert
24 января, 13:07
Набор на стажировку окончен.
Anonymous #3250394
Уровень 2
позавчера, 02:56
Следующий набор на стажировку через три месяца?
Зепп Бранниган Admin в JavaRush Moderator
позавчера, 10:22
На данный момент точной информации по поводу будущих стажировок нет.
14 января, 09:41
скиньте пожалуйста ссылку на необходимую подписку, так как она отсутствует в предложенных на данный момент
Alexey Volkov Java Developer
14 января, 11:15
https://javarush.com/prices/buy?key=JR20_PREMIUM_PRO
Ramazan
Уровень 25
12 января, 18:38
Подскажите пожалуйста, если не успеваю набить 35 лвл до 24 января, когда будет следующий набор на стажировку?
Alexey Volkov Java Developer
14 января, 11:19
ты можешь просто прогнать быстро все уровни не проходя чтобы дойти до 35 уровня и попасть на стажировку а просто потом пройти это все( это если ты уверен в своих силах))) Иначе зачем идти на стажировку без знаний)
Ramazan
Уровень 25
14 января, 13:17
А как их прогнать по быстрому?) просто решать задачки и скипать лекции?) Если так можно успеть пройти, я бы не отказался, конечно, тем более в силах точно уверен))
Alexey Volkov Java Developer
15 января, 15:59
да все верно)
Ramazan
Уровень 25
15 января, 16:32
Понял, спасибо, попробую!) Хотя, все равно, не уверен успею ли даже так)
Skadi
Уровень 36
17 января, 10:59
ты можешь все проскипать до 35лвл и все
Ramazan
Уровень 25
17 января, 13:31
Так лекции ведь скипаются за материю, которую надо получать решая задачи. Или есть еще какой-то способ?
Roman Pryshchepa Java Developer Expert
18 января, 10:49
Другого способа нет. Если не хватит материи пройти лекции, то придется решать задачи.
Ramazan
Уровень 25
18 января, 13:37
понял, спасибо
Skadi
Уровень 36
18 января, 14:48
у меня на 28 уровне было столько материи, что хватило апнуться до 36 за раз. но до этого я все задачи решал, что были во всех прошлых лекциях
Ramazan
Уровень 25
18 января, 14:52
Я уже провернул этот фокус, у меня было около тысячи материи, но к сожалению, я в тот момент был только на 18 уровне, поэтому не прокатило)
Eleonora
Уровень 35
11 января, 19:14
А мож кто скинет задание? Денег до зарплаты нет на подписку ахахах
Андрей
Уровень 37
12 января, 12:01
Попробуйте нажать на кнопку "Отправить заявку"
Pavel Petrov
Уровень 82
10 января, 11:05
Скачать задание возможно только после приобретения подписки?
MineJavaAcc
Уровень 42
11 января, 12:55
Ну, если у тебя вот тут: https://javarush.com/internship/request не нажимается зеленая кнопка "Скачать задание", то скорее всего да. P.S. а как ты хакнул сайт и получил 78й уровень? ))
Pavel Petrov
Уровень 82
11 января, 13:46
Спасибо, скачал.👍 У меня подписка Java- университета, там около 100 уровней
MineJavaAcc
Уровень 42
11 января, 14:04
Удачи в стажировке!
Eleonora
Уровень 35
11 января, 19:13
Можно поинтересоваться, как качество Java-университета?
Pavel Petrov
Уровень 82
12 января, 04:49
Мне всё нравится. Лекции 2 раза в неделю, всегда во время, менторы всегда на связи, можно задавать вопросы и т.д., материала дается много. Но каким бы не было качество обучения, без мотивации и желания учиться у студента результата не будет, поэтому самое главное - поставить цель и идти к ней.
Василий Чи
Уровень 47
6 января, 18:58
Если сейчас скачать задание, то до какого срока его надо выполнить?
Евгений
Уровень 47
6 января, 22:03
24 января.
Василий Чи
Уровень 47
6 января, 22:58
Спасибо!
Alexey Volkov Java Developer
6 января, 09:18
ребят, что за ошибка ? при запуске сервера томката выдает!! и соотвественно ошибка на сервере 404 NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
MineJavaAcc
Уровень 42
7 января, 09:04
А сам текст ошибки?
Liubov
Уровень 35
5 января, 20:47
Привет, подскажите пожалуйста, есть ли еще критерии оценки тестового задания, кроме того, что оно проходит тесты? Качество кода смотрите?
Евгений
Уровень 47
6 января, 09:13
Привет, вчера сдал задание, когда подгрузил на сайте, ответ выдали через секунд 30. Т.е. врядли там какое-то код ревью есть. Может просто доп тесты еще какие прогоняют.
Roman Pryshchepa Java Developer Expert
10 января, 10:55
Предусмотрено только автоматическое тестирование задания.
smolskyd
Уровень 36
5 января, 19:35
Собрать проект (в терминале перейти в папку с pom файлом и выполнить: mvn -DskipTests=true clean install) (чтобы Maven работал в терминале, он должен быть прописан в системной переменной PATH А если Мавен встроен в идею, как прописать путь?
Евгений
Уровень 47
6 января, 09:14
Попробуй в идеи и запустить сначала клин, потом инстал. Я на одном компе (где установлен Линух выполнял эту команду), на другом (с Виндой) делал все из ИДЕ, все нормально было и там и там.
Roman Pryshchepa Java Developer Expert
10 января, 10:54
Либо установить отдельно, либо искать путь к идеевскому мавену и прописывать его в системную переменную PATH
Евгений
Уровень 47
5 января, 12:50
Вовремя я начал делать тестовое задание (чтобы попрактиковаться перед реальным тестовым). Удачно оказалось, что то, что скинули в чате, дали и в виде тестового на текущую стажировку. Честно говоря, думал залипну надолго, но все оказалось не так страшно. В итоге на задание ушло 3-4 дня в неспешном режиме. Книги у меня даже не получилось открыть, но они мне и не были нужны. Некоторые вещи поверхностно уже знал (такие как работа с БД, некоторые аннотации спринга ) ну и неплохая статья на JR есть по REST(+ пару видео в Ютубе), которая лично мне помогла выстроить архитектуру приложения(как бы громко это не звучало) )))) Я так понимаю, теперь ждать подробной информации на почту? Подскажите, за какое время до стажировки , инфа примерно приходит? Всем удачи!
Евгений
Уровень 47
5 января, 12:58
Поспешил. Пришло письмо на почту. Все, впринципе, подробно расписано. Думаю вопрос снят.