Многопоточное программирование на Java
как использовать многопоточку на практике и легко проходить собеседования
Длительность: 2-3 месяца
Формат: онлайн
Многопоточка часто остаётся "слепым пятном" у разработчиков. Многие знают про экзекьюторы, synchronized и volatile, а на практике пишут устаревший, медленный и некорректный код.
Почему так происходит?
Большая часть курсов и статей не уходит дальше класса Thread и экзекьюторов. Есть хорошая книга Java Concurrency In Practice, но она 2005 года. С тех пор появились новые инструменты и новые подходы к написанию кода.
Ошибки многопоточки проявляются под высокой нагрузкой. На большинстве проектов её нет, поэтому создаётся ощущение "и так норм".
Но грамотный разработчик видит узкие места системы. Предвидит ошибку, которая случится через месяц и рационально использует вычислительные ресурсы.
На курсе я подробно расскажу про многопоточку от простого к сложному. Покажу лучшие практики и основные ошибки, примеры из своего опыта и популярных проектов.
Кому идеально подойдёт
Вы знаете основы многопоточности, но чувствуете, что этого недостаточно.
Вы хотите знать об актуальных решениях и основных ошибках, чтобы уверенно решать задачи.
Проходить сложные собеседования и вписываться в интересные проекты.
Что нужно для комфортного обучения
- Опыт разработки на Java от года
- Начальные знания многопоточности: Thread, Executors, volatile, synchronized. Если хотите повторить основы, пройдите это бесплатное предобучение
- Умеете писать веб-сервисы на Spring, делать запросы в базу данных и писать юнит-тесты
- Знание git
Что будем делать
- Подробно разбирать каждый класс java.util.concurrent: плюсы, минусы, лучшие практики
- Изучать, как всё работает "под капотом"
- Подсматривать интересные приёмы в популярных проектах
- Искать ошибки и возможные проблемы в коде реального проекта
- Сравнивать реализации между собой
- Измерять производительность в разных условиях
- Разбирать вопросы с собеседований
Также затронем:
- Флажки JVM, связанные с многопоточностью
- Что и как тестировать
- Реактивные библиотеки
- Виртуальные потоки
Чего не будет
- Алгоритмы
- Теория параллельных вычислений
- Распределённые вычисления и транзакции
- Детального изучения реактивного подхода
Структура урока
Теория
Практика
Сначала тренируемся на простых примерах
Потом разбираем многопоточный код Spring, Kafka, Hadoop и тд. Ищем ошибки и подсматриваем приёмчики
А ещё пишем код:
⭐️ Проверяем встроенными юнит- и нагрузочными тестами
⭐️ Проверяем себя по списку популярных ошибок
⭐️ Сравниваем решение с образцом и читаем статью с разбором нюансов
Программа курса
На изучение материалов и выполнение домашних заданий понадобится 3-8 часов в неделю.
Модуль 1
Модуль 1
Фундамент
Как оптимально подружить поток в JVM и ОС
Что смотреть в thread dump
В чём суть модели памяти, и как её учитывать при разработке
Модуль 2
Модуль 2
Асинхронные задачи
Паттерны организации задач
Когда применять Executors, а когда не стоит
Как подобрать параметры под разные профили нагрузки
CompletableFuture: как получить максимальную выгоду
Виртуальные потоки: принцип работы и Project Loom
Бонус: корутины в Kotlin
Модули 3 и 4
Модули 3 и 4
Взаимодействие потоков
Паттерны взаимодействия потоков
Эксклюзивный доступ к коду: synchronized, Lock, Semaphore
Работа с общими переменными: volatile, классы Atomic*
Когда использовать и чем заменить ThreadLocal
Чем отличаются многопоточные коллекции и как выбрать подходящую
Как правильно синхронизировать потоки в коде и тестах
Сравнение производительности всех инструментов
Как найти и предотвратить дедлоки
Функциональный стиль и неизменяемые переменные
Лабораторная работа по измерению производительности
Модуль 5
Модуль 5
Обработка данных
Как и за счёт чего работает ForkJoinPool
Как адаптировать почти любую задачу под ForkJoinPool
Использование в энтерпрайзных задачах
Модуль 6
Модуль 6
Потоки данных
Паттерны по работе с данными
Очереди: чем отличаются друг от друга, как выбрать подходящую и решить возможные проблемы
Реактивное программирование: принцип работы и обзор библиотек
Модуль 7
Модуль 7
Другие важные темы
Как тестировать многопоточные приложения в энтерпрайзе
Как протестировать код под нагрузкой в домашних условиях
Какие метрики снимать, и как это сделать
Задачи с собеседований и тестовые задания с многопоточкой
Рекомендации для дальнейшего изучения
Записаться на курс
Оплата за счёт компании (только РФ)
Если вы хотите оплатить курс от юридического лица, зарегистрированного в РФ, напишите на diana@fillthegaps.ru
Оплата иностранными картами
Если вы НЕ из России или у вас не проходит ваша карта, то щёлкните на кнопку ниже. Принимаются карты из всех стран Европы, США и СНГ
Рассрочка Тинькофф/Сбер
Платёж разделится на 3 или 6 частей. В сумме выйдет чуть-чуть побольше, но в целом более комфортно для бюджета
Отзывы🥰
(листайте вправо-влево)
Отличный курс! Ставлю 10 потоков из 10 блокирующих очередей!
В курсе рассмотрен весь API из стандартной библиотеки Java, проведены сравнения различных инструментов с точки зрения сценариев использования и производительности. Также в курсе Диана дает фундаментальные знания об устройстве ОС, о различных подходах к разделению задач на подзадачи, о map-reduce и прочем.
Заданий не очень много, но некоторые из них заставляют изрядно попотеть.
Особенно ценными мне показались задания, в которых нужно изучать код популярных библиотек и инструментов, написанных на Java.
Ну и наверное самое лучшее, что есть в курсе - это обратная связь. Если у тебя не получается сделать какое-то задание или ты допустил в нем ошибку, то Диана не дает прямой ответ, а старается направить мысли в нужную сторону с помощью наводящих вопросов (метод Сократа). И в процессе обдумывания этих вопросов получаешь самые ценные инсайты.
Курс уже начал приносить первые плоды: во время прохождения я нашел несколько багов в использовании многопоточки в рабочем проекте.
Курс великолепный, не пожалел ни одного рубля, что потратил. Это уникальный курс в своем сегменте, особенно на русском рынке. Всем советую, на курсе вы найдете все ответы на интересующие вас вопросы. Более того из курса вы сможете узнать то, что просто нет в открытом доступе нигде, исключительно авторские наработки. Однозначно советую всем бэкэнд разработчикам, даже если вы не особо используете многопточку - это очень поможет вам в понимании многопоточного кода фреймворков и вообще сильно улучшит ваш кругозор. Советую брать с обратной связью - сильно увеличивает пользу от курса.
Хотела бы поблагодарить создательницу курса "Многопоточное программирование на Java" за столь качественный учебный материал, детальный подход ко всем темам и внимательное отношение к ученикам во время обратной связи! Этот курс помог мне в теории и на практике вникнуть в особенности многопоточки. Автор щедро делится знаниями, которые не найдешь в многочисленных статьях на просторах инета и ютуб видео. Для прохождения курса настоятельно рекомендую обратную связь с преподавателем, только так можно дойти до сути многих вопросов, т.к. в начале решения кажется, что все понятно, и только с помощью вопросов учителя осознаешь, что какие-то моменты были неочевидны. Объем информации очень большой, буду возвращаться к видео, пересматривать и перечитывать сообщения. Спасибо большое, Диана!!!
Информация была очень полезная и интересная. Вспомнил много всего и узнал много нового - касательно очередей, FJP и completable future. Некоторые задания заставили подумать основательно и попотеть. Столько всего вспомнил про реактивное программирование. Структура курса хорошая, много вопросов, интерактива и заданий, что несомненный плюс. Обратная связь давалась очень оперативно даже в выходные дни. А так очень здорово, что курс затрагивает и system design в общем и проектирование систем и еще много всего. Своих денег и времени точно стоит. Осталось посмотреть доп материалы и прочитать книжки, которые не смотрел еще)
Отличный курс, плотный по количеству информации, отлично структурирован, позволяет получить базу по всем ключевым аспектам многопоточки. Особенно могу отметить две вещи: во, первых, то, как подобраны задания и вопросы в тестах - хорошо подсвечивают важные и неочевидные моменты, на которые, возможно, не обратил бы внимания, просто изучая теорию. Во-вторых - внушительное количество рекомендаций сторонних материалов для более глубокого изучения. Большое спасибо!
Присылаю фидбек спустя 2 года работы "spring программистом", сам программирую с 2015 года.
Многопоточки перестал бояться совсем за счёт материала, выученного по вашим видео. На деле обычно решаю примерно 2 задачи по многопоточке в год, хотя раньше бы их не смог решить оптимально. Из самого полезного могу отметить что пройти собес чисто по многопоточке - не проблема (речь о Luxoft собесе на сеньора) . При должной подготовке по всем остальным темам можно выбить 6000$ net на java senior вне России
А ещё мне сказали что у вас курсы стали ещё глубже судя по потоку что был прошлым летом в 2022 (я сам был в 2021 году). Думаю мне стоит вернуться когда-нибудь и перепройти в будущем . По тому что я слышал в 2022 курсы сильно поменялись в практической части.
Да, они помогли чувствовать себя безопаснее (повышают шанс релокации на новое место во вне РФ)
Мне курс понравился. Немного не хватило времени, что бы все сделать в комфортном режиме, но тут больше работа виновата. Курс довольно мощный, много заданий и интересные лекции.
Довольно хорошая база, думаю, пригодится в рабочей жизни.
Спасибо :)
Мне курс очень понравился. В первую очередь тем что он дает именно практические знания. Нет кучи ненужной теории, зато есть best practices от преподавателя - какие инструменты стоит использовать, а какие нет и в каких случаях.
У меня был вариант с обратной связью и это того стоило. Преподаватель помогает найти пробелы в знаниях и лучше понять материал. Иногда комментарий "и еще небольшой вопрос" по практическому заданию приводил меня к полному переосмыслению темы.
Так же кроме многопоточности я научился не бояться залезать в исходники стандартных инструментов и изучать их.
Однозначно рекомендую!
Отличный курс для знакомства с многопоточностью, подробно проходит по каждому классу из пакета java.util.concurrent. Понравилась обратная связь, подробное ревью кода, наводящие вопросы и дополнительные объяснения.
Привет! Что могу сказать про курс.
Было очень сложно и очень здорово! Мне будет не хватать писем об уроках каждый понедельник в 8 утра:)
К курсу надо приходить с очень хорошим базовым знанием многопоточного программирования. Курс прекрасно структурированю Но я бы добавил немного повторения базовой многопоточки, чисто что бы освежить знания. Спасибо огромное за эти два месяца. Теперь у меня есть вектор куда развиваться в многопоточном программировании и на какие грабли лучше не наступать.
Отдельное спасибо преподавателю за ее знания, обратную связь и отличное чувство юмора:)
курс кажется достаточно поверхностным. понятно, что сделать недолгие видео-уроки, удерживающие внимание и при этом затрагивающие огромное количество и подробное изучение тем очень трудно. Тем не менее, курс хорош как подготовка к собеседованиям, доп освежение знаний, а так же как источник ссылок на хорошие статьи и видео по теме
В работе многопоточность в чистом виде не используется, но хотелось получше разбираться что происходит, когда и какие инструменты применять. Курс помог структурировать имеющиеся знания и дополнить их, а так же узнать о том, какие еще бывают инструменты и как их сравнивать (увидел, как можно улучшить использование экзекьютора в своем пет-проекте, некоторые решения с рабочего проекта стали понятнее). Курс понравился тем, что он "от разработчиков разработчикам": примеры реальных библиотек для разбора, приближенные к реальным задачи для кодинга.
Я бы брал курс с обратной связью, так как преподаватель задает вопросы на понимание используемых инструментов и процессов, что мотивирует лучше разобраться в теме
Диана, здравствуйте. Хочу поблагодарить за курс. Хоть я и не смог физически полноценно пройти его, но даже лекций уже достаточно что бы чувствовать себя при начале разработки многопоточной логики в сервисах. Спустя больше полугода, наконец-то дали для разработки именно такой сервис. И при работе, чувствую себя поувереннее, и понемногу знания, всплывают в голове и применяются на практике. За что Вам большое спасибо.
Это один из лучших курсов по Java, который проходил. Хоть курс и предназначен для тех, кто хочет дополнить знания по многопоточке (middle/senior), но в ходе прохождения понял, что его следует давать всем разработчикам. Курс полностью посвящён всем областям многопоточного программирования на Java, с которыми сталкивается разработчик, даже немного выходит за рамки, но ценнее всего, что он расширяет кругозор разработчика и дает ему прикладные примеры (best practices), написанные как на нативном языке, так и с помощью библиотек/фреймворков. Структура курса плавно вводит в курс каждой темы, а для полного представления в конце каждого блока имеются дополнительные материалы. В общем, 10/10. Спасибо!
Первое, что хочется уточнить, в курсе много теории, которая подкрепляется практикой, но это не столько про код, а про внутренности java и concurrency.
Так что приготовьтесь, вы будете очень много слушать, читать и перечитывать, ковыряться в доках, в исходниках библиотек, перевернете весь интернет в поисках ответов на уточняющие вопросы.
Курс очень интенсивный, охватывает не только многопоточку, но и смежные темы, учит разным лайфхакам полезным для практического использования, обращает внимание на темы, которые легко или упустить, изучая тему самостоятельно, или вообще можно никогда не узнать без курса (мне так кажется, по крайней мере).Очень полезной оказалась обратная связь. Я сомневалась изначально, точно ли мне нужен такой вариант, но я усвоила так гораздо больше, чем если бы решилась проходить курс без обратной связи.
Думаю, курс будет полезен всем ребятам от уровня мидла и выше. Для миддлов он, как мне кажется, будет особенно эффективен.
Я бы сказала, что подготовка домашек по курсу и вникание в тему занимало у меня очень много времени, так что учитывайте это, работающие люди, работать придется на двух работах (ну или хотя бы на полутора). Хотя, возможно, это только мои особенности усвоения материала.
А вообще еще хочется сказать: большое спасибо, Диана! я читала твой канал и еще на первом наборе на курс загорелась этой идеей, но смогла осуществить чуть позже, и это оказалось очень полезно. Это вообще мой первый опыт прохождения таких курсов, но он оказался насколько удачным, что я готова теперь вписываться во все, что понравится, потому что не страшно) Отдельное спасибо за всю эту гору материала, эти уточняющие вопросы по домашкам, очень качественные объяснения и проработку всех мелочей. Надеюсь, ты проведешь еще не один поток и может быть придумаешь еще какой-нибудь курс. Успехов!
Курс однозначно могу рекомендовать всем, кто, как говорится, всегда хотел, но по разным причинам стеснялся спросить, а что же оно такое эта многопоточка и как ее готовить.
Во-первых, именно потому, что спрашивать на этом курсе можно сколько угодно и ответ всегда будет и очень быстро. Обратная связь - самая сильная и самая замечательная часть этого курса, что означает, что, даже если в теме что-то не устраивает, всегда можно спросить по интересующим именно вас моментам. Из личного опыта собеседований: курс покрывает все темы, вопросы по которым мне задавали на собесах в разделе многопоточка. И еще выскажу собственное мнение, конечно, но тем не менее: очень рекомендую все-таки тариф "Проработать детали" с обратной связью. Два месяца - срок большой, темы далеко не всегда приятные и в случае самостоятельного изучения крайне велико желание все бросить и заняться изучением какого-нибудь новомодного востребованного фреймворка. А многопоточка - все-таки одна из фундаментальных возможностей языка, как структуры данных, циклы и обработка исключений. И пройти ее надо, пусть даже и для общего развития.
Курс стоит своих денег.
Много теории по разным темам. Хотелось бы немного больше практики. Диана также отвечает на вопросы, которые не совсем относятся к теме курса.
Если курс будет в течении 2 месяцев по 3 урока в неделю, то будьте готовы к тому, что будет непросто. Можно выгореть.
Курс очень понравился!
Автор излагает материал просто и доходчиво.
Охвачено множество инструментов для работы в многопоточной среде.
Курс явно не для новичков, так как требует базовых знаний Java Core и понимания работы многопоточных программ.
Хорошо структурирует знания и дает новые. Для лучшего усвоения материала желательно не проходить мимо дополнительных материалов, указанных в курсе.
Спасибо, Diana Iakovleva.
Даже если вы читали "Java Concurrency in Practice" , вы узнаете что-то новое.
Лекции короткие, насыщенные - первый курс за год, где я слушал не на 2x скорости видео.
Задачи больше на понимание, с подводными камнями, комментарии преподавателя бесценны 😍 Не нужно писать тонны кода, но нужно разобраться, что происходит, и залезть в документацию.
Стандартные задачи на лекциях рассматриваются, как примеры. Хорошо систематизирует знания и добавляет новые краски дизайну частей JDK.
Входной уровень нужен, это не с нуля совсем курс, и больше про правду разработки, разбавленную вопросами с собесов, а не про чистые знания.
Курс однозначно рекомендую, ни разу не пожалел, что прошёл.
Видимо настало время подвести итог) до курса я вообще ничего не знал о многопоточности и по ходу курса я каждое видео пересматривал по несколько раз, все конспектировал, очень многие вещи из заданий воспроизводил и честно говоря над простыми вещами порой возился по несколько часов, понимание основ происходило со скрипом 🐵 самое крутое в курсе, это конечно задания и последующая обратная связь от вас, к сожалению я лишь половину от этого взял, но даже в таком виде узнал очень многое и мне это уже успело сильно помочь на собеседовании)) Большое спасибо за такой крутой курс, ничего подобного в обучении я не видел, с такими людьми как вы хотелось бы работать в одной команде)
Я не ожидал чего-то особенного, кроме того, что мне расскажут что-то, о чем я не знал) Собственно курс полностью оправдал мои ожидания, фактически я не знал практически ничего из рассказанного =) Надеюсь оно мне когда-нибудь пригодится) Уже есть желание выбирать следующее место работы более хайлоад, чем текущее.
Честный отзыв! Курс очень понравился, это большой труд перелопатить столько материала и предоставить такую концентрированную выжимку, которая может стать отправной точкой на более глубокое изучение каждого вопроса отдельно, становится понятно куда копать. Вишенкой на торте является собственный опыт и понимание как это работает. Курс очень плотный и нельзя расслабляться, совмещать с работой и прочим бытом непросто, но все реально. Главное не копить это на конец недели, а делать понемногу каждый день. Я писал Диане, что не хватает практики, где-то в середине курса, но в целом практических задач немало (у самого еще висит хвост на момент написания отзыва). Сам я был знаком с многопоточкой довольно слабо, кроме основных концепций и каких-то небольших практик, но после курса я стал узнавать в рабочем проекте некоторые практики и инструменты из java.util.concurrent и они уже не так страшны. От себя рекомендую, кто-то освежит или откроет детали, а кто-то наконец откроет дверь в эту магию с ноги =)
Забыл сказать, курс уже окупился. Я заявил работодателю, что прохожу курс, и после окончания буду смотреть работу на другие деньги и хочу с многопоточкой. Мне неплохо прибавили, хоть и многопоточки не прибавили, но будет еще время пройтись по курсу снова и закрепить моменты.
Ожидал хорошо структурированный теоретический материал в сжатой подаче с закреплением пройденного. Ожидания оправдались полностью.
Пока не все темы улеглись, но теоретических знаний теперь достаточно, чтобы на практике выбрать способ реализации, рассмотреть достоинства и недостатки, подумать о проблемах и способах их решения
Короткие и емкие лекции
Наличие хороших вопросов после лекций, которые заставляют пересмотреть видео не один раз
Отличная обратная связь
Курс дает, или способен дать, гораздо больше, чем можно было бы предположить по списку тем. Сложность только в том, чтобы унести как можно больше.
++ насыщенные домашние задания. Не "повтори услышанное за преподавателем" и не "а не вольтметром ли измеряется напряжение", часто приходилось действительно попотеть. Вопросы отчасти перекрываются с материалом лекций, а отчасти расширяют его, что особенно круто - когда что-то откопал своими усилиями, запоминается оно гораздо лучше.
++ есть и теоретические вопросы, и задания на написание и переписывание кода, в т. ч. на основе примеров из самых популярных опенсорс-проектов.
++ максимально добросовестный подход. Все задания проверялись даже раньше обещанного срока, на все вопросы были получены развернутые ответы, а к непонятным местам (в лекциях, заданиях, примерах) - исчерпывающие комментарии.
++ отличная атмосфера на курсе. Как будто бы получаешь объяснения от самого себя из той версии будущего, где ты в сложной теме разобрался. :D
+ высокая плотность занятий. Казалось бы, много ли можно уложить в 10-20 минут лекции плюс задания к ней? Оказывается, много.
- были небольшие шероховатости по наполнению лекций (напр., иногда важные моменты проговаривались голосом, но отсутствовали на слайдах) и по формулировке отдельных вопросов.
- Сама платформа неидеальная: было несколько случаев, когда отправленный текстовый ответ терялся. На такой случай развернутые ответы лучше писать и сохранять у себя локально, в текстовом файле.
В целом, курс превзошел все возможные ожидания. Спасибо огромное!
У тебя отличный курс, но к сожалению, у меня совпало с рабочими кранчами и другими событиями. Смотрел всю теорию перед сном) но на практику нет возможности и сил.
Спасибо за курс! Это просто находка для тех кто ищет интенсивной прокачки по многопоточке.
Очень радует, что присутствует постоянная живая обратная связь.
Но, пожалуй, это же может быть и минусом. Эту обратную связь требуется некоторое время ждать. Наверное для некоторых вещей может иметь смысл ввести автоматизацию в виде автопроверок (понимаю, что платформа может этого не позволить) В таком случае под каждым вопросом можно будет оставлять развернутое объяснение(после сдачи правильного ответа) (это может частично заменить обратную связь)
В первую очередь, Спасибо за курс.
Все очень кратко, но очень ёмко.
Есть очень много свежей информации, которую сконцентрировано в едином источнике не получить.
Читал пару лет назад книжку Java Concurrency in Practice, произвела отличное впечатление. Этот курс произвел не меньшее.
Что понравилось:
- изложение материала, насыщенность лекций;
- задания: разноплановость, необычный ракурс, анализ реального кода (нужно брать курс с обратной связью, симулирует глубже погружаться в тему и добивать до понимания);
- динамика курса.
Что можно улучшить:
Мне иногда не хватало однозначности вопросов при необходимости однозначного выбора. Разбирались в сути с Дианой уже на второй итерации. Может стоит или сделать более однозначными формулировки, или дать вариант "другое" для свободного ответа. Впрочем, в жизни оно тоже все неоднозначно, навык синхронизации с заказчиком очень важен)
Резюме:
Я рад, что прошел этот курс, для меня это было мегаполезно.
Спасибо)
Курс, безусловно, полезный. Автор курса сомнений в её компетенции не вызывала) С учетом в целом достаточно бедных курсов по данной тематике на всех языках (включая дорогущего https://javaspecialists.teachable.com/courses), конечно, курс кладезь концентрированной информации. Все в целом понравилось, узнал нового, поразбирался заново в том, в чем когда--то разбирался, узнал нового о том, что думал, что знал. Безусловно, заполняешь пробел между "вот поток и делай с ним что хочешь", до "вот тут у нас класс на миллион строк для конкурентности, напиши такой же рядом") этот курс переход этот сглаживает.
Приходил я уже с каким-то бекраундом в этом области, но все равно удивляешься, сколько не знаешь или как быстро без практики вытесняется. Так что большое спасибо за курс заслужила, да и бонус материальный с этого тебе тоже, конечно, справедливо присуждается. Тратишь много времени и сил на "вот это вот все". Надеюсь, споры, обмен мнениями и дискуссии тебя ни в чем не обидели) айтишники - люди с чсв как ни крути, потому что каждый из нас что-то да :)
спасибо
Мне понравилось. Много узнал, хорошая подача материала. До этого знал базовые вещи (зачем synchronized, зачем volatile, существующие структуры, но не знал когда их применять), после курса пришла уверенность в знаниях и понимание где какие инструменты использовать.
Надо понимать что это курс не про "Как написать реактивную систему Neflix используя методы Object#wait и Object#notify", а курс про внутренности существующих классов java.util.concurrent и где их правильно использовать. Но и это не значит что все время были лекции про работу ConcurrentHashMap - были и обзорные лекции про другие подходы и технологии.
Были и минусы для меня, например, лекции 3 раза в неделю для меня слишком частые, курс был очень интенсивным. Иногда я не понимал суть вопросов из заданий. И тут был плюс - Диана не спускала на тормозах такие вопросы, а поясняла формулировки и не засчитывала ответы в случае сомнений. В общем, она очень требовательный преподаватель (какую-то домашку я сдал то ли с 5, то ли с 6 попытки). И это несомненный плюс. Хотелось бы что-то добавить/поменять? Да, хотелось бы больше заданий на самостоятельное написание кода. Но повторюсь, курс для меня был очень полезным.
Диана, добрый день!
Спасибо еще раз за курс.
Я узнал больше, чем до этого из университетских лекций/практик, книг и вводных начальных курсов по Java.
Формат такого своеобразного коучинга и комбинированный стиль заданий мне понравился, ибо только подробно разбирая задание и задавая вопросы можно погрузиться в тему. Я считаю его [формат] самым продуктивным.
В целом курс на мой взляд находится в активной доработке. Такого продукта как ваш курс я еще нигде не видел. Думаю что через 2-3 итерации все будет супер круто.
Я доволен что была возможность познакомиться с многопоточкой таким образом
Курс очень хороший, "без воды".
Прошел целиком, что то лучше систематизировал для себя, что то узнал новое.
Материал подается с упором на дальнейшее практическое применение, например, какую реализацию той или иной структуры в какой ситуации выбирать.
После каждой лекции достаточный скоп вопросов на закрепление материала.
Хороший фидбек от преподавателя на протяжении всего курса.
Единственный минус - мало практических задач на написание кода.
Хороший курс, позволяет упорядочить уже текущие знания и разложить все по полочкам. Материал хорошо структурирован, узнал много конкретных кейсов использования того или иного инструмента, что очень важно при большом многообразии средств работы с многопоточностью в java, в курсе рассмотрены как языковые возможности, так и средства JDK. Хорошая глубина освещения тем, при этом без перегрузки излишними деталями, которые вынесены как дополнительный материал. Курс мне понравился, спасибо автору
Курс достаточно подробно освещает все аспекты многопоточности: от внутренности JVM до мониторинга многопоточных приложений. На каждую лекцию, кроме тестов, есть и практические задания на "порассуждать" и разобрать готовый код,предложить свои правки. Так же есть и работы по самостоятельному написанию кода. Курс занимает достаточно много времени на изучение, иногда лекцию надо просмтривать по 2-3 раза для решения задач. Но лекции правда короткие, не более 15-20мин в среднем.
Также на курсе хорошая обратная связь, Диана быстро отвечает на все вопросы как в чате так и на платформе.
Курс очень интересный и позновательный, подробно прорабатываются все темы, которые есть в курсе. По некоторым моментам даже и представить не мог, что бывают такие инструменты.
Информации очень много и много примеров с реальными примерами, как может работать в продакшен.
Структура курса очень хорошо подобрана, от простых тем к сложным. Что еще понравилось, так это то, что обратную связь получал каждый день и непонятные моменты уже в рамках заданий можно отработать.
Понравилось то, что многие свои ответы нужно детально объяснить и это одно из главных преимуществ ведь нужно разбираться как всё работает под капотом, о чем могут спрашивать на собеседованиях.
Рекомендую к прохождению если тема многопоточночти хромает
Курсом остался очень доволен. Много теории, достаточно практических заданий, прекрасная обратная связь. Можно проходить весь курс в своем темпе и никуда не торопиться.
Информация подается структурированно и интересно. (особенно нравятся стикеры в конце каждого видео). Полученные знания уже начал применять на собеседованиях :) Спасибо!
Курс мне очень понравился! Полностью оправдал мои ожидания) Всё четко и по делу, без воды! Так же очень класные примеры и разъяснения. В курсе объясняется много тонкостей и подходов по реализации многопоточности в пиложениях
Курс стоит каждого вложенного рубля. Уже на половине курса получил значительный рост в вопросах многопоточки. Однозначно советую всем.
Приобретал курс с целью расширения кругозора по данной тематике, поскольку на проектах, которых работал, не было необходимости работать с многопоточкой и опыта практически не было.
Полностью доволен тем что потратил время и усилия на разбор материала, сам бы очень долго и больно нарабатывал понимание в этой сфере. На курсе приводятся примеры известных библиотек и фреймворков, о том как они используют у себя под капотом многопоточку, что очень прям понравилось, также помимо этого даётся очень много дополнительного материала, который тем или иным образом связан с темой курса и хочется изучить этот кладезь знаний, что тоже очень понравилось. На данный момент, я знаю куда смотреть дальше поскольку вектор задали.
Курс выглядит последовательным и доступным для понимания, видно что его шлифовали не единожды. Лучше приобретать с обратной связью, действительно есть сложные и непонятные моменты в процессе самостоятельной работы, где стоит задать вопрос. Сам приобретал курс без обратной связи, т.к. мест не было, но в прочем для "общего" понимания и усвоения материала и этого достаточно, смотря какую цель перед собой поставить.
Часто задаваемые вопросы
ИП Яковлева Диана Александровна
ИНН 781147324623 ОГРНИП 321784700159099
Политика конфиденциальности, Договор-оферта
Контакты:
email: diana@fillthegaps.ru