Разработчик Java

Курс о языке Java, особенностях платформы, стандартной библиотеке, о проектировании и тестировании, о том, как работать с базами, файлами, веб-фронтендом и другими приложениями.
Зачем нужно тестирование?

Длительность

5 месяцев

Начало

27 марта

Занятия

Ср 10:00, Ср 20:00, Сб 10:00

Общая стоимость

50 000 ₽

В месяц

12 500 ₽

В кредит:

12500 ₽ в месяц

Хочу дешевле
Общая стоимость
50 000 ₽
В месяц: 12 500 ₽
В кредит: 50000 ₽
в месяц
Продолжительность
5 месяцев, 4 часа в неделю
Ср 10:00, Ср 20:00, Сб 10:00
Начало занятий
27 марта
Что даст вам этот курс


  • Освоение разработки серверных приложений на Java.

  • Понимание библиотеки Java, особенностей языка и платформы Java.

  • Знание основных подходов программиста к проектированию приложений, работе с базами, файлами, веб-фронтендом.

  • Владение низкоуровневыми и высокоуровневыми подходами к созданию многопоточных и многопроцессных приложений.







  • О курсе и о себе

    Мы не доверяем роботам!





33 работодателя

большое количество практических заданий

"Написание хорошего кода — базовое умение грамотного разработчика. Но настоящего профессионала отличает желание узнавать новое, доводить решения до совершенства и делиться приобретенными знаниями с коллегами".
Виталий Чибриков
Преподаватель курса
"Написание хорошего кода — базовое умение грамотного разработчика. Но настоящего профессионала отличает желание узнавать новое, доводить решения до совершенства и делиться приобретенными знаниями с коллегами".
Виталий Чибриков
Преподаватель курса
Преподаватели
Виталий Чибриков
Генеральный директор «OTUS. Онлайн-образование»
Сергей Петрелевич
Java-разработчик в Технологическом центре Deutche Bank
Владимир Сонькин
Luxoft Training Center
Егор Шубин
Rovio Entertainment Corporation
Александр Галилов
Контрактор в Micro Focus & Authasas
Выпускник МФТИ 2004-го года по специальности «Инженер-математик». Профессиональный опыт: 12 лет программирования на Java, C++, C#, JavaScript, PHP, Python. Участник проектов различных уровней сложности: от стартапов на 3 человека/полгода до бизнес-приложений на 200 человек/4 года. 8 лет разработки серверов для клиентских игр на Java. Эксперт в разработке облачных приложений, автоматизации процессов разработки и тестирования.

Разрабатывал и запускал проекты MMORMGs: «Allods Online» и «Skyforge».
В отрасли с 2003 года. Программировать начал со времен ZX-Spectrum. 8 лет в разработке банковских процессинговых систем пластиковых карт.

Занимался разработкой "коробочных" систем для внешних заказчиков, разработкой систем для внутренних заказчиков. В 2003 году с отличием закончил Магнитогорский Государственный Интститут им. Носова, специальность — промышленная электроника.

Компании: Магнитогорский Металлургический Комбинат, Компас+, Borlas, СМП Банк. Интересы: JavaScript, многопоточное программирование, сборщики мусора в Java.
Эксперт по направлению Java и Web и тренер в Учебном Центре Люксофт. Более 4 лет разрабатывает и ведет курсы по Java и Web-технологиям. До этого более 7 лет работал программистом в Люксофт, разрабатывал системы для крупнейшего швейцарского банка UBS, авиастроительной компании Boeing, сельскохозяйственной компании Bunge и других крупных заказчиков. С технологиями Java Enterprise и JavaScript профессионально работает с 2000 года.
В 2000 году закончил ВМК МГУ, кафедру алгоритмических языков, занимался искусственным интеллектом и нейронными сетями.
Server Developer в Rovio Entertainment Corporation.

Профессиональный опыт: более 9 лет программирования на Java, Python, C#, C++.

Разрабатывал и запускал MMORPG «Skyforge». Соавтор и преподаватель курса «Углубленное программирование на Java» в Технопарке Mail.Ru Group.

Выпускник МГТУ им. Баумана 2011 года по специальности “Инженер-программист”.

Интересуется разработкой видеоигр и серверными технологиями.
Более 12 лет сотрудничает с различными заказчикам в России и за рубежом. C 2012 г. — контрактор в Micro Focus & Authasas в области систем многофакторной аутентификации, использует в работе Java, Python, C#, Swift, Objective C, C++.

Ранее занимался разработкой информационных и технических систем: биллинга для интернет-провайдера и телефонии, ПО для платежных терминалов, бухгалтерского ПО для Pocket PC, геоинформационной системы для Android & iOS.

Закончил Астраханский государственный технический университет. Там же преподавал лекции по дисциплине «Архитектура ЭВМ».

Основные интересы: Java, microcontrollers, Swift, Python, iOS, Android.

Преподаватели
Виталий Чибриков
Генеральный директор «OTUS. Онлайн-образование»
Выпускник МФТИ 2004-го года по специальности «Инженер-математик». Профессиональный опыт: 12 лет программирования на Java, C++, C#, JavaScript, PHP, Python. Участник проектов различных уровней сложности: от стартапов на 3 человека/полгода до бизнес-приложений на 200 человек/4 года. 8 лет разработки серверов для клиентских игр на Java. Эксперт в разработке облачных приложений, автоматизации процессов разработки и тестирования.

Разрабатывал и запускал проекты MMORMGs: «Allods Online» и «Skyforge».
Сергей Петрелевич
Java-разработчик в Технологическом центре Deutche Bank
В отрасли с 2003 года. Программировать начал со времен ZX-Spectrum. 8 лет в разработке банковских процессинговых систем пластиковых карт.

Занимался разработкой "коробочных" систем для внешних заказчиков, разработкой систем для внутренних заказчиков. В 2003 году с отличием закончил Магнитогорский Государственный Интститут им. Носова, специальность — промышленная электроника.

Компании: Магнитогорский Металлургический Комбинат, Компас+, Borlas, СМП Банк. Интересы: JavaScript, многопоточное программирование, сборщики мусора в Java.
Владимир Сонькин
Luxoft Training Center
Эксперт по направлению Java и Web и тренер в Учебном Центре Люксофт. Более 4 лет разрабатывает и ведет курсы по Java и Web-технологиям. До этого более 7 лет работал программистом в Люксофт, разрабатывал системы для крупнейшего швейцарского банка UBS, авиастроительной компании Boeing, сельскохозяйственной компании Bunge и других крупных заказчиков. С технологиями Java Enterprise и JavaScript профессионально работает с 2000 года.
В 2000 году закончил ВМК МГУ, кафедру алгоритмических языков, занимался искусственным интеллектом и нейронными сетями.
Егор Шубин
Rovio Entertainment Corporation
Server Developer в Rovio Entertainment Corporation.

Профессиональный опыт: более 9 лет программирования на Java, Python, C#, C++.

Разрабатывал и запускал MMORPG «Skyforge». Соавтор и преподаватель курса «Углубленное программирование на Java» в Технопарке Mail.Ru Group.

Выпускник МГТУ им. Баумана 2011 года по специальности “Инженер-программист”.

Интересуется разработкой видеоигр и серверными технологиями.
Александр Галилов
Контрактор в Micro Focus & Authasas
Более 12 лет сотрудничает с различными заказчикам в России и за рубежом. C 2012 г. — контрактор в Micro Focus & Authasas в области систем многофакторной аутентификации, использует в работе Java, Python, C#, Swift, Objective C, C++.

Ранее занимался разработкой информационных и технических систем: биллинга для интернет-провайдера и телефонии, ПО для платежных терминалов, бухгалтерского ПО для Pocket PC, геоинформационной системы для Android & iOS.

Закончил Астраханский государственный технический университет. Там же преподавал лекции по дисциплине «Архитектура ЭВМ».

Основные интересы: Java, microcontrollers, Swift, Python, iOS, Android.

Отзывы
12
Сергей
Торчиков
Для меня принять решение об обучении на курсе по языку Java было довольно просто, достаточно было посмотреть на преподавателя и структуру курса, также огромным плюсом было увидеть в партнерах Otus.ru компанию, в которой я хотел работать. Очень важно, что перед началом курса проводиться День открытых дверей, где можно лично задать вопросы по курсу и более подробно ознакомиться с программой. Я бы хотел по порядку разобрать основные составляющие курса.

Программа.

Изначально конечно в голову закрались сомнения, а есть ли смысл слушать лекции по программированию, которые затрагивают самые азы (типы данных, например), но как говориться повторение – мать учения, решил слушать, и не пожалел. Разбирали действительно все детально и домашние задания очень интересны, одно задание по замеру работы разных сборщиков мусора чего стоит. Приятно, что в программу включены Hibernate и Spring, хоть и основы, но этого действительно достаточно, чтобы понимать в какую сторону копать в случае чего. Достаточно было и сносок на дополнительный материал расширяющий тему урока.

Преподаватель.

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

Команда OTUS

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

Минусы.

Те минусы, которые я могу отметь, насколько мне известно, уже исправлены. Например, платформа. Первые лекции были довольно не стабильны, но команда Otus.ru довольно быстро нашла аналог, который устроил всех. Все программисты относились к этому с пониманием, т.к. мы были первым набором, так сказать первопроходцами

Второй минус даже вовсе и не минус, а скорее неудобство – один преподаватель. Будущим группам повезло, у них, насколько я знаю, будет два преподавателя. В основном это относиться к проверке домашнего задания, на проверку уделялось 48 часов и, если есть замечания к решению, есть шанс не сдать в срок, т.к. исправленную версию вновь отправляешь на проверку. Хотя к этому относились также лояльно и никто не ругался, тут скорее проблема в моем перфекционизме, нужно все сдать в срок

Результат.

Через несколько дней я выхожу на работу в Москве именно в ту компанию, где хотел работать. Все интервью организовывали сотрудники Otus, так что результатом я конечно доволен На собеседованиях кстати пригодились те самые знания о сборщиках мусора, о которых я говорил ранее. Так что хотелось бы поблагодарить еще раз всю команду Otus.ru за профессионализм и работу, а также всех ребят с курса за интересные обсуждения и за то, что делились своими знаниями. Я продолжу следить за курсами и если будет что-то интересное для меня, обязательно приду снова!
Читать целиком
Николай
Добровольский
На курс записался в большей степени потому, что преподавателем был объявлен Виталий Чибриков. Знал преподавателя по другим курсам, плюс ранее прослушаны записи лекций в МГТУ им. Баумана в рамках проекта ТЕХНОПАРК (Москва). Поэтому сразу решил записаться в группу.

Курс очень понравился. Впечатление очень положительное. Был освящен достаточно большой список тем. Некоторые моменты до курса были не очень хорошо знакомы (например тема про GC - были теоретические знания, но без практических навыков).

Понравилась сама подача материала, затрагиваемые темы рассматривались без отрыва от реальной жизни, сопровождались конкретными примерами из реальных проектов. Множество интересных примеров от преподавателя.

Курс помог не только систематизировать уже имеющиеся знания, а также приобрести новые. Особенно понравились темы про GC, JVM, многопоточность в Java, межпроцессное взаимодействие в Java.
После окончания курса гарантированы приглашения на собеседования, так что это огромный плюс)
На мой взгляд было бы здорово в рамках курса более подробно рассмотреть Spring, но основным направлением курса изначально было заявлено Java Core, поэтому за этой темой возможно стоит записываться на курс по Java EE.
Читать целиком
Антон
Матвеев
Курс OTUS "Разработчик Java" был очень полезен для меня, не имевшего ранее опыта коммерческой Java-разработки. Именно он помог собрать воедино знания, полученные посредством самообучения и других курсов. В отличие от других курсов был упор на формирование понимания процесса: как работает та или иная технология и какие задачи решает, а не на общее описание ее возможностей. Домашние задания подобраны таким образом, что заставляют проявить творчество и перечитать немало полезной информации. Особенно интересными были задания: написать json сериализатор, упрощенный тестовый фреймворк, свою маленькую orm, сервер обмена сообщения между бд и фронтэндами. Хотя домашние задания, может быть за исключением первых, совсем не укладывались в заявленное время на домашнюю работу по 4 часа в неделю - для того чтобы успеть сделать последние 2 задания в курсе мне пришлось брать отпуск.

Конечно основную ценность курс представляет из-за преподавателя. Очень качественное объяснение: не помню, чтобы хоть какой-то заданный по теме вопрос остался без ответа, также очень приятно и полезно было получать от Виталия не только информацию о недоработках в ДЗ, но и предложения об их возможной доработке уже за рамками задания.

Ну и, конечно, очень важна возможность пройти собеседования в крупные компании. Каждое такое собеседование это очень интересный опыт сам по себе, независимо от результата. Лично я нашел себе работу и очень рад что не пожалел денег на обучение!
Читать целиком
Алексей
Маянов
До поступления на курс я программировал на Java от случаю к случаю. Для меня курс во многом стал отправной точкой в систематизации и расширении собственных, уже имеющихся знаний. С абсолютной уверенностью могу сказать: после окончания обучения мои навыки использования Java перешли на новый уровень, в первую очередь этим я благодарен авторам курса.

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

По моим ощущениям, проектный месяц получился достаточно скомканным: не удалось получить достаточной обратной связи по проекту. Думаю причина заключается в том, что у многих учеников скопились долги, и весь преподавательский ресурс ушёл на их проверку. Я считаю, что на последнем месяце преподавателям стоит отдавать приоритет работе с проектами, иначе получается, что ученики, которые сдали все задания вовремя и перешли к работе с проектами, стали заложниками долгов остальных учеников.

Отдельно хочу отметить, что вся серия пройденных интервью, на которые я попал, дала мне определенный положительный опыт.
Читать целиком
Павел
Стрекалов
В целом впечатление о курсе положительное, курс был очень полезен для меня.

Как недостаток (или особенность) хотел бы отметить то, что чувствовалась изолированность от группы. При выполнении заданий казалось, что ты один на один с преподавателем (чат в slack не очень спасал в этом плане). Мне кажется, что общение между студентами через code review дало бы хороший эффект. Сначала преподаватель проверяет задание, принимает его, а потом студент должен еще посмотреть, выдать комментарии/замечания по двум-трем выполненным и принятым работам.
Также Виталий упоминал, что хорошо бы делать "выставку интересных работ" - тоже, думаю, что стоит, но не понятно в каком формате, т.к. набираются долги за всё время курса и некоторые задания сдаются в конце.

Хорошо было бы добавить блок теоретических вопросов по каждой теме (но об этом Виталий тоже уже говорил). Работу над проектом начинать в середине курса (месяца с третьего), а не в конце.

О преподавателе хочется отметить - грамотная речь. Вроде незначительно и само собой разумеется, но в русскоязычном Java-мире есть технически грамотные личности, выступления которых порой невозможно слушать из-за обилия паразитических слов. А вебинары OTUS я мог спокойно смотреть, находясь с ребенком в одной комнате, и не боясь, что Виталий выругается или скажет какое-нибудь "крепкое" слово.
Читать целиком
Михаил
Пыльцин
Здравствуйте. Я уже много раз благодарил за курсы, но хочу это сделать еще раз - многие курсы, что сейчас есть в рунете, довольно поверхностны и дают только основы. Ваши курсы как раз дают более глубокие знания по программированию. Сам курс очень интересен, но мне не хватило домашних заданий - нет, сами задания интересны и их довольно много, особенно последнее, но, к сожалению, они не охватывают весь материал. Виталий - высококлассный специалист и преподаватель, думаю, ради него многие и записались на курсы. Честно, устроенные собеседования, хоть и были объявлены, стали сюрпризом, так как не верилось, что такое возможно. Часть собеседований и выполнение тестового задания сорвалось по личным обстоятельствам. Сейчас прохожу несколько финальных собеседований - есть маленький шанс получить первую работу в Москве в сфере программирования. Хотелось бы более углубленные темы по Spring/Spring MVC/Spring Boot/Hibernate/Сокеты/Обмен данных по сети или интернету/более больше данных по ConcurrentCollection. А так - буду советовать Ваши курсы. Очень хочется отдельный курс по тем темам, что написал выше + Java ee (в части, которая наиболее востребована сейчас работодателями).
Читать целиком
Daniil
Klipov
У меня курс оставил только положительные впечатления, он позволил структурировать и углубить знания, почерпнутые из различных статей и пособий для начинающих, а так же задать направление дальнейшего развития. Из положительных сторон хочется отметить, достаточно сложные домашние задания, интересную подачу и качество подбора материала преподавателями. К отличительным особенностям курса можно отнести наличие входного порога и высокую интенсивность занятий. Могу порекомендовать его тем, кто уже овладел основами языка, но не знает в каком направлении продолжать движение.
Читать целиком
Сергей
Новожилов
Давно искал подобный курс, рассчитанный не на новичков. Было очень интересно и полезно. Особенно хочу отметить преподавателей. Не каждый, кто даже очень хорошо знает предмет может доступно рассказать и объяснить. У Виталия и Дмитрия это хорошо получается. Еще большой плюс - это разбор домашних заданий преподавателем, очень полезно получить комментарии, рекомендации. Вообщем, 5 баллов из 5.
Читать целиком
Вадим
Бубликов
Проходил курс в Отус. По качеству норм. По формату удобно, что были записи лекций и можно было смотреть в оффлайн, это выручало. Нужна предварительная подготовка, как они и пишут. Учеба довольно напряжённая, много домашних заданий.
Читать целиком
Ольга
Штыка
В целом курс очень понравился. Нетривиальные домашние задания, понятные и доступные лекции преподавателей. Сами темы занятий актуальные, порой не задумываешься о их значении в текущей разработке, но при обсуждении становится понятна степень необходимости их понимания. Домашние задания проверяют относительно быстро, я сдавала на проверку в выходные и в течение недели их проверяли с подробными комментариями. Единственный минус - это щекотливая ситуация с оплатой. Я платила отдельно за каждый месяц. Все домашние сдала вовремя. На проект, сразу понимала, что физически не хватает времени, поэтому отказалась от его выполнения. И получается, что оплата последнего месяца (в котором нет домашек) предполагает лишь выдачу сертификата. 10000 за сертификат? Не комильфо.
Читать целиком
Алексей
Бодяк
Курс очень понравился и пригодился в работе. Преподаватели готовы ответить на все вопросы с большим удовольствием, а это очень важно. Спасибо за курс, следующий будет Spring :)
Читать целиком
Алексей
Потехин
С апреля 2018 прошел почти год, а кнопку увидел только сейчас).
Если коротко, курс шикарный!

Понравилась манера подачи материала, подготовленность преподавателей к занятию, если возникали вопросы в ходе занятия отвечали на них сразу же, даже была возможность спросить голосом. Нравились домашние задания, по началу это были дз направленные на понимание языка или технологии(web, jdbc). Потом начались повеселее, свой junit-framework например. Очень понравились домашние задания по design pattern и json-сериализатор. Домашки проверяли часто, советы и подсказки куда копать были всегда по делу. Иногда было видно, что проверяющий старается намекнуть на ошибку по разному. Т.е. не было такого, что исправь здесь и я приму. Так же проверяющие могли дать задание с + домашней работе. Правда я помню отказался, уж очень хотел закончить все, а по факту был с долгами.

Не понравилась платформа, через которую проходил вебинар ее меняли несколько раз - лагает, зависает, интернет обрывается, ужас одним словом). Надеюсь сейчас стало лучше. Некоторые темы, которые рассматривались были очень сильно скомканы и скакали по ним галопом. Есть объективно большие темы в java и в рамках 1-2 занятий их не объяснишь(Темы связанные с бд).

Я бы еще пошел, пусть меня научат, но готовлюсь к OCA/OCP
Всем удачи!
Читать целиком
Сергей
Торчиков
Для меня принять решение об обучении на курсе по языку Java было довольно просто, достаточно было посмотреть на преподавателя и структуру курса, также огромным плюсом было увидеть в партнерах Otus.ru компанию, в которой я хотел работать. Очень важно, что перед началом курса проводиться День открытых дверей, где можно лично задать вопросы по курсу и более подробно ознакомиться с программой. Я бы хотел по порядку разобрать основные составляющие курса.

Программа.

Изначально конечно в голову закрались сомнения, а есть ли смысл слушать лекции по программированию, которые затрагивают самые азы (типы данных, например), но как говориться повторение – мать учения, решил слушать, и не пожалел. Разбирали действительно все детально и домашние задания очень интересны, одно задание по замеру работы разных сборщиков мусора чего стоит. Приятно, что в программу включены Hibernate и Spring, хоть и основы, но этого действительно достаточно, чтобы понимать в какую сторону копать в случае чего. Достаточно было и сносок на дополнительный материал расширяющий тему урока.

Преподаватель.

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

Команда OTUS

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

Минусы.

Те минусы, которые я могу отметь, насколько мне известно, уже исправлены. Например, платформа. Первые лекции были довольно не стабильны, но команда Otus.ru довольно быстро нашла аналог, который устроил всех. Все программисты относились к этому с пониманием, т.к. мы были первым набором, так сказать первопроходцами

Второй минус даже вовсе и не минус, а скорее неудобство – один преподаватель. Будущим группам повезло, у них, насколько я знаю, будет два преподавателя. В основном это относиться к проверке домашнего задания, на проверку уделялось 48 часов и, если есть замечания к решению, есть шанс не сдать в срок, т.к. исправленную версию вновь отправляешь на проверку. Хотя к этому относились также лояльно и никто не ругался, тут скорее проблема в моем перфекционизме, нужно все сдать в срок

Результат.

Через несколько дней я выхожу на работу в Москве именно в ту компанию, где хотел работать. Все интервью организовывали сотрудники Otus, так что результатом я конечно доволен На собеседованиях кстати пригодились те самые знания о сборщиках мусора, о которых я говорил ранее. Так что хотелось бы поблагодарить еще раз всю команду Otus.ru за профессионализм и работу, а также всех ребят с курса за интересные обсуждения и за то, что делились своими знаниями. Я продолжу следить за курсами и если будет что-то интересное для меня, обязательно приду снова!
Читать целиком
Николай
Добровольский
На курс записался в большей степени потому, что преподавателем был объявлен Виталий Чибриков. Знал преподавателя по другим курсам, плюс ранее прослушаны записи лекций в МГТУ им. Баумана в рамках проекта ТЕХНОПАРК (Москва). Поэтому сразу решил записаться в группу.

Курс очень понравился. Впечатление очень положительное. Был освящен достаточно большой список тем. Некоторые моменты до курса были не очень хорошо знакомы (например тема про GC - были теоретические знания, но без практических навыков).

Понравилась сама подача материала, затрагиваемые темы рассматривались без отрыва от реальной жизни, сопровождались конкретными примерами из реальных проектов. Множество интересных примеров от преподавателя.

Курс помог не только систематизировать уже имеющиеся знания, а также приобрести новые. Особенно понравились темы про GC, JVM, многопоточность в Java, межпроцессное взаимодействие в Java.
После окончания курса гарантированы приглашения на собеседования, так что это огромный плюс)
На мой взгляд было бы здорово в рамках курса более подробно рассмотреть Spring, но основным направлением курса изначально было заявлено Java Core, поэтому за этой темой возможно стоит записываться на курс по Java EE.
Читать целиком
Антон
Матвеев
Курс OTUS "Разработчик Java" был очень полезен для меня, не имевшего ранее опыта коммерческой Java-разработки. Именно он помог собрать воедино знания, полученные посредством самообучения и других курсов. В отличие от других курсов был упор на формирование понимания процесса: как работает та или иная технология и какие задачи решает, а не на общее описание ее возможностей. Домашние задания подобраны таким образом, что заставляют проявить творчество и перечитать немало полезной информации. Особенно интересными были задания: написать json сериализатор, упрощенный тестовый фреймворк, свою маленькую orm, сервер обмена сообщения между бд и фронтэндами. Хотя домашние задания, может быть за исключением первых, совсем не укладывались в заявленное время на домашнюю работу по 4 часа в неделю - для того чтобы успеть сделать последние 2 задания в курсе мне пришлось брать отпуск.

Конечно основную ценность курс представляет из-за преподавателя. Очень качественное объяснение: не помню, чтобы хоть какой-то заданный по теме вопрос остался без ответа, также очень приятно и полезно было получать от Виталия не только информацию о недоработках в ДЗ, но и предложения об их возможной доработке уже за рамками задания.

Ну и, конечно, очень важна возможность пройти собеседования в крупные компании. Каждое такое собеседование это очень интересный опыт сам по себе, независимо от результата. Лично я нашел себе работу и очень рад что не пожалел денег на обучение!
Читать целиком
Алексей
Маянов
До поступления на курс я программировал на Java от случаю к случаю. Для меня курс во многом стал отправной точкой в систематизации и расширении собственных, уже имеющихся знаний. С абсолютной уверенностью могу сказать: после окончания обучения мои навыки использования Java перешли на новый уровень, в первую очередь этим я благодарен авторам курса.

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

По моим ощущениям, проектный месяц получился достаточно скомканным: не удалось получить достаточной обратной связи по проекту. Думаю причина заключается в том, что у многих учеников скопились долги, и весь преподавательский ресурс ушёл на их проверку. Я считаю, что на последнем месяце преподавателям стоит отдавать приоритет работе с проектами, иначе получается, что ученики, которые сдали все задания вовремя и перешли к работе с проектами, стали заложниками долгов остальных учеников.

Отдельно хочу отметить, что вся серия пройденных интервью, на которые я попал, дала мне определенный положительный опыт.
Читать целиком
Павел
Стрекалов
В целом впечатление о курсе положительное, курс был очень полезен для меня.

Как недостаток (или особенность) хотел бы отметить то, что чувствовалась изолированность от группы. При выполнении заданий казалось, что ты один на один с преподавателем (чат в slack не очень спасал в этом плане). Мне кажется, что общение между студентами через code review дало бы хороший эффект. Сначала преподаватель проверяет задание, принимает его, а потом студент должен еще посмотреть, выдать комментарии/замечания по двум-трем выполненным и принятым работам.
Также Виталий упоминал, что хорошо бы делать "выставку интересных работ" - тоже, думаю, что стоит, но не понятно в каком формате, т.к. набираются долги за всё время курса и некоторые задания сдаются в конце.

Хорошо было бы добавить блок теоретических вопросов по каждой теме (но об этом Виталий тоже уже говорил). Работу над проектом начинать в середине курса (месяца с третьего), а не в конце.

О преподавателе хочется отметить - грамотная речь. Вроде незначительно и само собой разумеется, но в русскоязычном Java-мире есть технически грамотные личности, выступления которых порой невозможно слушать из-за обилия паразитических слов. А вебинары OTUS я мог спокойно смотреть, находясь с ребенком в одной комнате, и не боясь, что Виталий выругается или скажет какое-нибудь "крепкое" слово.
Читать целиком
Михаил
Пыльцин
Здравствуйте. Я уже много раз благодарил за курсы, но хочу это сделать еще раз - многие курсы, что сейчас есть в рунете, довольно поверхностны и дают только основы. Ваши курсы как раз дают более глубокие знания по программированию. Сам курс очень интересен, но мне не хватило домашних заданий - нет, сами задания интересны и их довольно много, особенно последнее, но, к сожалению, они не охватывают весь материал. Виталий - высококлассный специалист и преподаватель, думаю, ради него многие и записались на курсы. Честно, устроенные собеседования, хоть и были объявлены, стали сюрпризом, так как не верилось, что такое возможно. Часть собеседований и выполнение тестового задания сорвалось по личным обстоятельствам. Сейчас прохожу несколько финальных собеседований - есть маленький шанс получить первую работу в Москве в сфере программирования. Хотелось бы более углубленные темы по Spring/Spring MVC/Spring Boot/Hibernate/Сокеты/Обмен данных по сети или интернету/более больше данных по ConcurrentCollection. А так - буду советовать Ваши курсы. Очень хочется отдельный курс по тем темам, что написал выше + Java ee (в части, которая наиболее востребована сейчас работодателями).
Читать целиком
Daniil
Klipov
У меня курс оставил только положительные впечатления, он позволил структурировать и углубить знания, почерпнутые из различных статей и пособий для начинающих, а так же задать направление дальнейшего развития. Из положительных сторон хочется отметить, достаточно сложные домашние задания, интересную подачу и качество подбора материала преподавателями. К отличительным особенностям курса можно отнести наличие входного порога и высокую интенсивность занятий. Могу порекомендовать его тем, кто уже овладел основами языка, но не знает в каком направлении продолжать движение.
Читать целиком
Сергей
Новожилов
Давно искал подобный курс, рассчитанный не на новичков. Было очень интересно и полезно. Особенно хочу отметить преподавателей. Не каждый, кто даже очень хорошо знает предмет может доступно рассказать и объяснить. У Виталия и Дмитрия это хорошо получается. Еще большой плюс - это разбор домашних заданий преподавателем, очень полезно получить комментарии, рекомендации. Вообщем, 5 баллов из 5.
Читать целиком
Вадим
Бубликов
Проходил курс в Отус. По качеству норм. По формату удобно, что были записи лекций и можно было смотреть в оффлайн, это выручало. Нужна предварительная подготовка, как они и пишут. Учеба довольно напряжённая, много домашних заданий.
Читать целиком
Ольга
Штыка
В целом курс очень понравился. Нетривиальные домашние задания, понятные и доступные лекции преподавателей. Сами темы занятий актуальные, порой не задумываешься о их значении в текущей разработке, но при обсуждении становится понятна степень необходимости их понимания. Домашние задания проверяют относительно быстро, я сдавала на проверку в выходные и в течение недели их проверяли с подробными комментариями. Единственный минус - это щекотливая ситуация с оплатой. Я платила отдельно за каждый месяц. Все домашние сдала вовремя. На проект, сразу понимала, что физически не хватает времени, поэтому отказалась от его выполнения. И получается, что оплата последнего месяца (в котором нет домашек) предполагает лишь выдачу сертификата. 10000 за сертификат? Не комильфо.
Читать целиком
Алексей
Бодяк
Курс очень понравился и пригодился в работе. Преподаватели готовы ответить на все вопросы с большим удовольствием, а это очень важно. Спасибо за курс, следующий будет Spring :)
Читать целиком
Алексей
Потехин
С апреля 2018 прошел почти год, а кнопку увидел только сейчас).
Если коротко, курс шикарный!

Понравилась манера подачи материала, подготовленность преподавателей к занятию, если возникали вопросы в ходе занятия отвечали на них сразу же, даже была возможность спросить голосом. Нравились домашние задания, по началу это были дз направленные на понимание языка или технологии(web, jdbc). Потом начались повеселее, свой junit-framework например. Очень понравились домашние задания по design pattern и json-сериализатор. Домашки проверяли часто, советы и подсказки куда копать были всегда по делу. Иногда было видно, что проверяющий старается намекнуть на ошибку по разному. Т.е. не было такого, что исправь здесь и я приму. Так же проверяющие могли дать задание с + домашней работе. Правда я помню отказался, уж очень хотел закончить все, а по факту был с долгами.

Не понравилась платформа, через которую проходил вебинар ее меняли несколько раз - лагает, зависает, интернет обрывается, ужас одним словом). Надеюсь сейчас стало лучше. Некоторые темы, которые рассматривались были очень сильно скомканы и скакали по ним галопом. Есть объективно большие темы в java и в рамках 1-2 занятий их не объяснишь(Темы связанные с бд).

Я бы еще пошел, пусть меня научат, но готовлюсь к OCA/OCP
Всем удачи!
Читать целиком
Минимальные знания
  • Опыт разработки на Java от одного года или опыт разработки на другом языке от 3 лет (приветствуются любые языки ООП).
  • Знание основных структур данных и алгоритмов, принципов ООП, опыт работы с базами данных и понимание основ веб-разработки облегчат прохождение курса для программиста, но не являются обязательными.
Подготовительный курс
Формат: видео лекции (4 модуля по 3 видеолекции каждый).
Прохождение подготовительного курса даст:
- необходимые базовые знания для курса «Разработчик Java»;
- возможность поступить на курс «Разработчик Java» без вступительного тестирования;
- скидку на приобретение курса «Разработчик Java», равную стоимости подготовительного курса;
- приглашение в slack-чат курса «Разработчик Java».
Записаться
Процесс обучения
Обучение проходит в формате вебинаров (онлайн). Слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания. По каждому домашнему заданию преподаватель дает развернутый фидбек.
Преподаватель находится в едином коммуникационном пространстве с группой на протяжении всего курса, т. е. в процессе обучения слушатель может задавать преподавателю уточняющие вопросы по материалам лекций и домашних заданий.
Программа обучения
Модуль 1
Язык и платформа Java
Модуль 2
Модуль 2: Проектирование
Модуль 3
Модуль 3: Работа с окружением
Модуль 4
Модуль 4: Многопоточность
Модуль 5
Проектная работа
Язык и платформа Java
1.1 Подготовка к курсу. ДЗ
Решение организационных вопросов.
Знакомство с инструментами:
- Git
- Idea
- maven
27 марта, 20:00 — 21:30
Домашние задания: 1
1 Проект maven с модульной структурой
1) Создать аккаунт на github.com (если еще нет)
2) Создать репозиторий для домашних работ
3) Сделать checkout репозитория на свой компьютер
4) Создайте локальный бранч hw01-maven
5) Создать проект maven
6) В проект добавьте последнюю версию зависимости
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
7) Создайте модуль hw01-maven
8) В модуле сделайте класс HelloOtus
9) В этом классе сделайте вызов какого-нибудь метода из guava
10) Добавьте нужный плагин maven и соберите "толстый-jar"
11) Убедитесь, что "толстый-jar" запускается.
12) Сделайте pull-request в gitHub
13) Ссылку на PR отправьте на проверку.
1.2 Дополнение к maven, история изменения языка
Процесс разработки ПО. Путь сборки: от push до deploy
Maven:
- Shade Plugin,
- Dependency Scopes
- Версии Java, изменения в политике Oracle
3 апреля, 20:00 — 21:30
2.1 Контейнеры и алгоритмы. ДЗ
Generics
Стандартные коллекции JDK
6 апреля, 10:00 — 11:30
Домашние задания: 1
1 DIY ArrayList
Написать свою реализацию ArrayList на основе массива.
class DIYarrayList<T> implements List<T>{...}

Проверить, что на ней работают методы из java.util.Collections:
Collections.addAll(Collection<? super T> c, T... elements)
Collections.static <T> void copy(List<? super T> dest, List<? extends T> src)
Collections.static <T> void sort(List<T> list, Comparator<? super T> c)

1) Проверяйте на коллекциях с 20 и больше элементами.
2) DIYarrayList должен имплементировать ТОЛЬКО ОДИН интерфейс - List.
3) Если метод не имплементирован, то он должен выбрасывать исключение UnsupportedOperationException.
2.2 Инструменты для преобразования контейнеров, unsafe, jmh
Unsafe
утилита JMH
Принципы построения hashMap
Apache Commons
Google Guava
10 апреля, 20:00 — 21:30
3.1 QA и тестирование
Виды тестов
Инструменты: junit, mockito
TDD
13 апреля, 10:00 — 11:30
3.2 Аннотации. ДЗ
Reflection
Аннотации
17 апреля, 20:00 — 21:30
Домашние задания: 1
1 Свой тестовый фреймворк.
Написать свой тестовый фреймворк.

Поддержать свои аннотации @Test, @Before, @After.

Запускать вызовом статического метода с именем класса с тестами.

Т.е. надо сделать:
1) создать три аннотации - @Test, @Before, @After.
2) Создать класс-тест, в котором будут методы, отмеченные аннотациями.
3) Создать "запускалку теста". На вход она должна получать имя класса с тестами.
4) "Запускалка" должна в классе-тесте найти и запустить методы, отмеченные аннотациями.
5) Алгоримт запуска должен быть такой:
метод Before
методы Test
метод After
для каждой такой "тройки" надо создать СВОЙ объект класса-теста.
6) Исключение в одном тесте не должно прерывать весь процесс тестирования.
4.1 Углубленные основы (примитивные типы, Remote debug, Hot swap).
Примитивные типы, строки, массивы.
Память, которую занимают объекты.
Remote Debug
Hot swap
20 апреля, 10:00 — 11:30
4.2 Байт код, class-loader, инструменатция, jol, asm. ДЗ
Байт код. Содержание .class. Декомпиляция
Class Loader: примеры Class Lloader'ов,
Самодельный простой Cloass Loader
Изменение размера объекта, утилита JOL
Instrumentation
ASM – инструмент для анализа и манипуляций с байт-кодом.
24 апреля, 20:00 — 21:30
Домашние задания: 1
1 Автомагическое логирование.
Разработайте такой функционал:
метод класса можно пометить самодельной аннотацией @Log, например, так:

class TestLogging {
@Log
public void calculation(int param) {};
}

При вызове этого метода "автомагически" в консоль должны логироваться значения параметров.
Например так.

class Demo {
public void action() {
new TestLogging().calculation(6);
}
}

В консоле дожно быть:
executed method: calculation, param: 6

Обратите внимание: явного вызова логирования быть не должно.
5.1 Сборщик мусора. ДЗ
Концепция сборки мусора в JVM
Виды сборщиков мусора
Мониторинг работы сборщиков
Примеры проблем производительности, связанных с мусором
27 апреля, 10:00 — 11:30
Домашние задания: 1
1 Сравнение разных сборщиков мусора
Написать приложение, которое следит за сборками мусора и пишет в лог количество сборок каждого типа
(young, old) и время которое ушло на сборки в минуту.

Добиться OutOfMemory в этом приложении через медленное подтекание по памяти
(например добавлять элементы в List и удалять только половину).

Настроить приложение (можно добавлять Thread.sleep(...)) так чтобы оно падало
с OOM примерно через 5 минут после начала работы.

Собрать статистику (количество сборок, время на сборрки) по разным GC.

!!! Сделать выводы !!!
ЭТО САМАЯ ВАЖНАЯ ЧАСТЬ РАБОТЫ:
Какой gc лучше и почему?
5.2 Java 8
Чистые функции
Немутирующие данные
Лямбда-функции
Монады
Streams
1 мая, 20:00 — 21:30
Модуль 2: Проектирование
6.1 Концепты проектирования ООП. ДЗ
Идеальная архитектура
Coupling и Cohesion
Полиморфизм
SOLID Принципы
4 мая, 10:00 — 11:30
Домашние задания: 1
1 Эмулятор банкомата
Написать эмулятор АТМ (банкомата).

Объект класса АТМ должен уметь:
- принимать банкноты разных номиналов (на каждый номинал должна быть своя ячейка)
- выдавать запрошенную сумму минимальным количеством банкнот или ошибку если сумму нельзя выдать
Это задание не на алгоритмы, а на проектирование.
Поэтому оптимизировать выдачу не надо.
- выдавать сумму остатка денежных средств
6.2 Behavioral patterns
Изучаются паттерны:
- Observer
- Command
- Chain of responsibility
- Memento
- State
- Strategy
- Visitor
8 мая, 20:00 — 21:30
7.1 Structural patterns. ДЗ
Изучаются паттерны:
- Adapter
- Decorator
- Bridge
- Composite
- Facade
- Flyweight
- Proxy
11 мая, 10:00 — 11:30
Домашние задания: 1
1 Департамент ATM
Написать приложение ATM Департамент:
1) Департамент может содержать несколько ATM.
2) Департамент может собирать сумму остатков со всех ATM.
3) Департамент может инициировать событие – восстановить состояние всех
ATM до начального (начальные состояния у разных ATM могут быть
разными).
Это тренировочное задание на применение паттернов.
Попробуйте использовать как можно больше.
7.2 Creational patterns
Изучаются паттерны:
- Factory Method
- Abstract Factory
- Builder
- Prototype
- Singleton
- Object Pool
15 мая, 20:00 — 21:30
Модуль 3: Работа с окружением
8.1 Сериализация. ДЗ
Java I/O
Что такое сериализация?
Java API для работы с JSON
GSON
Google ProtoBuf
18 мая, 10:00 — 11:30
Домашние задания: 1
1 Cвой json object writer
Напишите свой json object writer (object to JSON string) аналогичный gson на основе javax.json.

Поддержите:
- массивы объектов и примитивных типов
- коллекции из стандартный библиотеки.
8.2 NIO.XML
XML:
- sax parser
- dom parser
- jaxb
NIO, файловые операции
22 мая, 20:00 — 21:30
9.1 JDBC. ДЗ
ACID
Транзакции в СУБД
JDBC, роль JDBC в стеке технологий
In-memory база данных – H2
ORM Pattern “Executor”
25 мая, 10:00 — 11:30
Домашние задания: 1
1 Самодельный ORM
Работа должна использовать базу данных H2.
Создайте в базе таблицу User с полями:

• id bigint(20) NOT NULL auto_increment
• name varchar(255)
• age int(3)

Создайте свою аннотацию @Id

Создайте класс User (с полями, которые соответствуют таблице, поле id отметьте аннотацией).

Напишите JdbcTemplate, который умеет работать с классами, в котрых есть поле с аннотацией @Id.
Executor должен сохранять объект в базу и читать объект из базы.
Имя таблицы должно соответствовать имени класса, а поля класса - это колонки в таблице.

Методы JdbcTemplate'а:
void save(T objectData);
<T> T load(long id, Class<T> clazz);

Проверьте его работу на классе User.

Комментарии к реализации JdbcTemplate:
Метод save.
С помощью рефлексии в объекте objectData надо найти поле, отмеченное @Id
По значению поля @Id надо проверить, если ли этот объект в базе или нет.
Если объекта нет, надо сформировать insert, если есть update.
9.2 Общие вопросы работы с СУБД, myBatis
CAP – теорема
Подходы к организации блокировок данных
MyBatis
29 мая, 20:00 — 21:30
10.1 Hibernate. ДЗ
Hibernate, место Hibernate в современном стеке тнхнологий
Конфигурирование Hibernate в коде и в XML.
Java persistency query language.
DBSevice pattern.
1 июня, 10:00 — 11:30
Домашние задания: 1
1 Использование Hibernate
Работа должна использовать базу данных H2.

Возьмите за основу предыдущее ДЗ (Самодельный ORM)
и реализуйте функционал сохранения и чтения объекта User через Hibernate.
(Рефлейсия больше не нужна)
Конфигурация Hibernate должна быть вынесена в файл.

Добавьте в User поля:
адрес (OneToOne)
class AddressDataSet {
private String street;
}
и телефон (OneToMany)
class PhoneDataSet {
private String number;
}

Разметьте классы таким образом, чтобы при сохранении/чтении объека User каскадно сохранялись/читались вложенные объекты.
Не забывайте про сохранение абстракций в приложении (см. комментарий в вебинаре).
10.2 JPQL
Что такое Connection Pool и для чего он нужен?
Изучение HikariCP
Hibernate:
- Entity
- Fetch
- JPQL
- SQL
5 июня, 20:00 — 21:30
11.1 Типы ссылок. Кэширование. ДЗ
Виды ссылок в Java
Пример самодельного кэша
Ehcache
8 июня, 10:00 — 11:30
Домашние задания: 1
1 Свой cache engine
Напишите свой cache engine с soft references.
Добавьте кэширование в DBService из задания про Hibernate ORM
11.2 No SQL
SQL базы данных
noSQL базы данных
SQL vs noSQL
MongoDB
MongoDB java, реактивное программирование в Java
12 июня, 20:00 — 21:30
12.1 Web сервер. ДЗ
Встроенный веб сервер.
Сервлеты: servlet API, жизненный цикл сервлета.
Jetty: устройство, работа, подключение сервлетов.
15 июня, 10:00 — 11:30
Домашние задания: 1
1 Веб сервер
Встроить веб сервер в приложение из ДЗ про Hibernate ORM.
Сделать админскую страницу, на которой админ должен авторизоваться.
На странице должны быть доступны следующие функции:
- создать пользователя
- получить список пользователей
12.2 Asynchronous Web applications
AJAX.
Long polling.
Websockets.
19 июня, 20:00 — 21:30
13.1 Dependency injection. ДЗ
Контейнер сервлетов: TomCat.
Spring IoC. Spring beans.
22 июня, 10:00 — 11:30
Домашние задания: 1
1 Приложение с IoC контейнером
Собрать war для приложения из предыдущего ДЗ.
Создавать кэш и DBService как Spring beans, передавать (inject) их в сервлеты.
Запустить веб приложение во внешнем веб сервере.
13.2 Логгирование
Что такое логгирование и для кого оно делается.
Современный подход к логгированию (SLF4J + LOGBack).
Простейший анализ логов.
26 июня, 20:00 — 21:30
Модуль 4: Многопоточность
14.1 Thread
Многопоточность.
Класс и объект Thread.
Создание многопоточного приложения.
Проблемы многопоточного доступа.
29 июня, 10:00 — 11:30
14.2 JMM. ДЗ
Основная проблема многопоточности
«Железные» оптимизации
«Программные» оптимизации
JMM
Volatile
Happens before
Lock-free алгоритмы, CAS
3 июля, 20:00 — 21:30
Домашние задания: 1
1 Последовательность чисел
Два потока печатают числа от 1 до 10, потом от 10 до 1.
Надо сделать так, чтобы числа чередовались, т.е. получился такой вывод:
Поток 1:1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 2 3 4....
Поток 2: 1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 2 3....
15.1 Message System. ДЗ
Потокобезопасные контейнеры.
Система обмена сообщениями.
6 июля, 10:00 — 11:30
Домашние задания: 1
1 MessageSystem
Добавить систему обмена сообщениями в ДЗ про веб сервер с IoC контейнером.
Пересылать сообщения из вебсокета в DBService и обратно.
Организовать структуру пакетов без циклических зависимостей.
15.2 Executors
Поддержка многопоточности в стандартной библиотеке.
Workers. Executors.
Fork/Join.
10 июля, 20:00 — 21:30
16.1 Многопроцессные приложения. ДЗ
Сокеты.
RMI.
Разбор примера многопроцессного приложения.
13 июля, 10:00 — 11:30
Домашние задания: 1
1 MessageServer
Cервер из предыдущего ДЗ про MessageSystem разделить на три приложения:
• MessageServer
• Frontend
• DBServer
Запускать Frontend и DBServer из MessageServer.
Сделать MessageServer сокет-сервером, Frontend и DBServer клиентами.
Пересылать сообщения с Frontend на DBService через MessageServer.

Запустить приложение с двумя серверами фронтенд и двумя серверами баз данных на разных портах.
Если у вас запуск веб приложения в контейнере, то MessageServer может копировать root.war в контейнеры при старте
16.2 NIO
Registration.
NIO для сокетов.
Проектная работа.
17 июля, 10:00 — 11:30
Проектная работа
Заключительный месяц курса посвящен проектной работе. Свой проект это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе.
При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

Проект должен стать примером кода, который можно показывать потенциальным работодателям.

Примеры тем проекта:
- web сервер (разберите протокол)
- socket сервер на NIO (как netty)
- свой ORM
- распределенный кэш
- кэш для hibernate
Предлагаемые темы выпускного проекта:
- web сервер (разберите протокол)
- socket сервер на NIO (как netty)
- свой ORM
- распределенный кэш
- кэш для hibernate
17.1 Консультация по ДЗ и проектам
Домашние задания: 1
1 Проектная работа
18.1 Консультация по ДЗ и проектам
Защита проектов
Выпускной проект
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

Проект должен стать примером кода, который можно показывать потенциальным работодателям.


Примеры тем проекта:

  • web сервер (разберите протокол);

  • socket сервер на NIO (как netty);

  • свой ORM;

  • распределенный кэш;

  • кэш для hibernate​.

Подглядеть
Aсинхронное программирование
Владимир Сонькин
Java: исключения
Паттерн Visitor на примере обхода дерева полей объекта
Виталий Чибриков
Многопоточность в Java: по ту сторону от synchronized-notifyAll
Сергей Петрелевич
Многопоточность в Java. Базовые примитивы синхронизации.
Сергей Петрелевич
Java-разработчик
Ирина Гаранина, тимлид команды разработки
Java: примеры паттернов
Виталий Чибриков
Больше материалов
Видеоматериалы по теме
День открытых дверей
24 декабря 2018 года в 20:00
День открытых дверей
26 октября 2018 года в 20:00
День открытых дверей
28 августа 2018 года в 20:00
После обучения вы

  • получите материалы по всем занятиям (видеозаписи занятий, презентации, примеры кодов);

  • существенно повысите свою компетенцию в сфере разработки на Java;

  • научитесь разрабатывать коммерческие приложения самостоятельно и в команде;

  • получите сертификат об окончании курса;

  • получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения на курсе).

Дата выдачи сертификата: 2 октября 2019 года
Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Разработчик Java»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Разработчик Java»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
Общая стоимость
50 000 ₽
В месяц: 12 500 ₽
В кредит: ₽ в месяц
Продолжительность
5 месяцев
Начало занятий
27 марта
Java – это один из языков программирования, с помощью которого создают приложения для работы и игр. Такие продукты устанавливаются на стационарные компьютеры, мобильные устройства и облачные высоконагруженные кластеры. Высокая востребованность разработчиков, владеющих этим языком, делает популярными курсы Java. Если вы хотите стать настоящим профессионалом в сфере IT, приглашаем пройти обучение в нашем центре.
Условия и результаты
Сразу отметим, что Java-изучение у нас предусматривает подготовку не с нуля. Чтобы стать слушателем, необходимо владеть базовыми знаниями и иметь определенный опыт работы с этим или другим языком. Если ваш уровень слишком низкий, можете пройти подготовительные курсы, где получите требуемые навыки взаимодействия с Java.
Подготовительные и основные занятия проводятся в формате онлайн. После выпуска вы:
сможете заниматься разработкой серверных приложений;
освоите разные подходы к созданию программных продуктов;
поймете особенности языка и платформы;
получите все видеозаписи и материалы, используемые во время занятий.
Также обучение Java в OTUS – это шанс на трудоустройство в крупную IT-компанию. Проходите вступительное тестирование и записывайтесь на курсы по телефону или онлайн.