Курс Программирование на Java с нуля - Уровень 2 + 10 собеседований

5Premium-PLUS

Продолжение курса Программирование на Java с нуля. Углубленное изучение Java. JUnit-тестирование. Практические задания + подробный разбор самых популярных вопросов на собеседовании на должность Junior-разработчика по части Java SE.
По окончании курса вы будете полностью готовы пройти интервью (собеседование).

Начать обучение Регистрация

О курсе - Чему Вы научитесь?

Начинающим Java-разработчикам рекомендуем пройти первую часть обучения
Курс Программирование на Java с нуля - Уровень 1

Продолжение курса Программирование на Java с нуля - Уровень 2 включает:
  • Углубленное изучение Java. JUnit-тестирование.
  • Практические задания по всем темам с разбором и исходным кодом
  • 10 видео-уроков по подготовке к собеседованию! - это подробный разбор самых популярных вопросов на собеседовании на должность Junior-разработчика по части Java SE.

Чему вы научитесь

  • Многопоточность
  • JUnit-тестирование
  • Collections Framework (подробный разбор)
  • Generics (обобщения)
  • Stream API
  • Потоки ввода-вывода
  • Подготовка к собеседованию по части Java SE на должность Junior-разработчика
  • И многое другое

Очень подробно разберём самые популярные коллекции из Java Collections Framework и напишем свои реализации многих. А также включены темы:
- иерархия классов в коллекциях
- чем отличаются коллекции Set и List
- в каких случаях стоит использовать ArrayList, LinkedList, HashSet
- как устроена память в Java
- правила для методов equals и hashcode и зачем нужны эти методы
- что представляет из себя интерфейс Map, основные методы
- как устроен HashMap изнутри
- что такое коллизия, и как она разрешается в коллекции HashMap
- основные реализации коллекции Set, чем они отличаются друг от друга
- как устроена коллекция HashSet

Что такое Generics (обобщения)
- как и для чего используются ключевые слова extends и super в обобщённых типах (дженериках)
- что такое wildcard (или маска)
- как работают дженерики и как ими пользоваться

Глубоко разберем одну из самых сложных тем в Java - многопоточное программирование, поработаем с файлами, потоками ввода-вывода, Stream API и многое другое:
- способы создания потоков, какой из них предпочтительнее и почему
- что делают методы: wait, notify и notifyAll, зачем они нужны
- что такое Deadlock
- синхронизированные коллекции
- зачем нужен ExecutorService
- что такое поток-демон
- атомарные типы данных и для чего они нужны
- что такое функциональный интерфейс
- что делает метод stream
- зачем нужно преобразовывать коллекции в потоки данных
- способы создания стримов
- терминальные и промежуточные операторы, чем они отличаются
- что общего и чем отличаются классы: InputStream, OutputStream, Reader, Writer
- как превратить данные из файлов в поток байтов
- что такое сериализация и десериализация

Исходные коды прилагаются в каждом уроке ко всему курсу.

В каждом разделе разбор самых популярных вопросов на собеседовании. По окончании курса вы должны быть полностью готовы пройти интервью по части Java SE на должность Junior-разработчика.

Что же такое Java SE?
На языке Java пишется очень много всего (в том числе приложения под Андроид, программы для компьютера, веб-сервисы и пр.). Их всех объединяет одно - Java SE - стандартная библиотека. Все разработчики, которые пишут на Java должны её знать. Java SE - это то, с чего нужно начать, когда изучите её, то можно выбирать направление и развиваться дальше.

После изучения Java SE нужно решить, в каком направлении вы хотите двигаться и изучать что-то еще: Android - если хотите писать приложения под Андроид, Java EE - если хотите идти в бэкэнд разработку.

Требования для прохождения курса

Начинайте изучение Java прямо сейчас - освойте новую интересную профессию программирования на Java!

Начать обучение

План курса

Программа обучения включает видео уроки по обучение Java на практике для начинающих. Благодаря практическим заданиям, Вы сможете закрепить полученные знания по каждой теме курса. Включен подробный разбор самых популярных вопросов на собеседовании на должность Junior-разработчика по части Java SE.

развернуть все

свернуть все

Введение - О курсе Программирование на Java с нуля - Уровень 2
2. Collection Fraimework
  • 2.1 ArrayList24:35
  • 2.2 ArrayList. Часть 216:47
  • 2.3 LinkedList28:26
  • 2.4 Собеседование по коллекциям List05:12
  • 2.5 Устройство памяти в Java07:52
  • 2.6 Equals и hashcode11:04
  • 2.7 HashSet33:50
  • 2.8 Collection14:43
  • 2.9 Iterable16:58
  • 2.10 Собеседование по пройденным коллекциям06:01
  • 2.11 TreeSet14:59
  • 2.12 HashMap33:52
  • 2.13 Собеседование по HashMap12:07
  • 2.14 Map и Set остальные коллекции08:07
  • 2.15 Queue08:55
  • 2.16 Собеседование по Collections Framework08:46
3. Generics
  • 3.1 Generics. Введение17:05
  • 3.2 Параметризируем коллекции13:55
  • 3.3 Super, extends и WildCard14:45
  • 3.4 Параметризированные методы11:47
  • 3.5 Собеседование и разбор дз08:29
4. Многопоточность
  • 4.1 Многопоточность. Введение10:49
  • 4.2 Остановка потоков. Метод join26:42
  • 4.3 Потоки-демоны и состояние гонки10:54
  • 4.4 Синхронизация методов и мониторы20:53
  • 4.5 Атомарные типы данных и volatile07:34
  • 4.6 Многопоточность. Собеседование 105:38
  • 4.7 CountDownLatch и ExecutorService17:05
  • 4.8 ThreadFactory, интерфейс Callable и класс Future14:35
  • 4.9 Блокирующая очередь. Wait, notify и notifyAll19:07
  • 4.10 DeadLock или взаимная блокировка11:49
  • 4.11 Потокобезопасные коллекции08:16
  • 4.12 Semaphore, CyclicBarrier. Задача про гонку30:10
  • 4.13 Многопоточность. Собеседование 208:23
5. Stream API
  • 5.1 Лямбда-выражения и функциональные интерфейсы19:20
  • 5.2 Введение в стримы. Методы filter, map и collect18:48
  • 5.3 Терминальные и промежуточные операторы14:56
  • 5.4 Тип Optional, метод parallelStream, способы создания стримов15:15
  • 5.5 Stream API. Собеседование05:04
6. Потоки ввода/вывода
  • 6.1 Введение в потоки ввода/вывода. Класс File13:45
  • 6.2 Чтение из файла, класс FileInputStream и try с ресурсами11:24
  • 6.3 StringBuilder, StringBuffer, чтение в массив и InputStreamReade18:45
  • 6.4 Чтение и запись с использованием буфера. Класс Scanner17:40
  • 6.5 Классы Reader, Writer и RandomAccessFile11:44
  • 6.6 Сериализация и десериализация24:07
  • 6.7 Собеседование04:53
7. Java Core
  • 7.1 Как работает Java05:12
  • 7.2 Отличие интерфейсов и абстрактных классов07:12
  • 7.3 Исключения и метод finalize10:59
  • 7.4 Основные парадигмы ООП06:14
  • 7.5 Финальное собеседование16:58
Завершение курса - Получение Сертификата

Начать обучение

Студенты также изучают

online_course
new
5
  • 29 видео
  • 6 часов
online_course
new
5
  • 98 видео
  • 25 часов
online_course
new
4.9
  • 48 видео
  • 9 часов
online_course
new
5
  • 79 видео
  • 14 часов
online_course
new

Отзывы студентов о курсе

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

Юлия Бельденкова

Спасибо! Было очень полезно! Разобралась в основных принципах работы языка Java. Пора переходить к практике!

Юрий Хомченко

По сравнению с первым курсом - отлично.

Ilya

Отличный курс по Java SE. Сразу скажу, что будет сложно, если только начали изучать Java или программирование. Много практики, чего не хватает многим другим курсам. Это весомый плюс. Но для полноценного овладения Java с возможностью устройства все же нужно еще знать Spring, SQL, а также побольше погрузиться в темы тестирования и DateTime. Этот курс будет полезен тем, кто хочет закрепить знания по коллекциям, Threads, Stream API и дженерикам.

Максим Пивоваров

Очень интересно и доступно!! Большое спасибо команде за этот труд!! Надеюсь у меня получиться влится в IT сообщество!

Иван Лукашин

Огромная благодарность автору курса за обширное и понятное объяснение тем. Было интересно и познавательно.

Наталья Григорьева

Спасибо, очень доходчиво

Abu-Bakar Musaev

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

Андрей Улитин

Спасибо! Хороший курс!

Раимжанов Нурсултан

Отличный курс !!! 5 звезд мало ...

Константин Черник

Обучение прошло легко, в курсе всё рассказано раскрыто и по теме, нет лишней мусорной информации, другие курсы очень дорогие, а здесь это дешево и много чего можно узнать нового. Результат от обучения виден на лицо, теперь я в большинстве понимаю, как работает Java. Всем советую делать домашние задания и практиковаться, очень помогает!

Виктор Сидоренко

В очередной раз не пожалел о выборе курса: понятное и последовательное изложение информации с примерами. Большое спасибо автору!

Виктор Селезнев

Слушал несколько курсов по данной теме. Данный курс для меня был самым полезным. Андрей Сумин все ключевые знания преподносит доходчиво и наглядно в примерах.

Дмитрий Кисляков

познавательно и доходчиво

Архип Ермолаев

Все отлично. Ёмко, кратко, подробно, ноль воды. Надеюсь увидеть в будущем курс Java - Уровень 3

Начать обучение

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

Course Author
Андрей Сумин

О преподавателе курса

  • Android Middle Developer

"Мой путь в программирование не был прямым и простым, и даже немного тернистым. Свою карьеру я начал сразу после школы в магазине электроинструментов, через 3 года стал начальником отдела, но понимал, что не хочу заниматься этим делом, а уйти куда-то я не мог, так как не имел никакой специальности. В школе мне очень нравилась информатика и меня посетили мысли об изучении программирования.

Поступил в Санкт-Петербургский государственный университет (СПб ГУТ им. Бонч-Бруевича). В нем преподавались очень поверхностные знания в данной области, плюс сильно устаревшие. И я начал изучать программирование самостоятельно, и заметил одну неприятную вещь - фактически весь современный и лучший материал был на английском языке, так что перед тем как стать специалистом в создании приложений для Андройд мне пришлось выучить новый «человеческий» язык. Пройдя несколько десятков курсов оффлайн и онлайн, проштудировав десятки книг на эту тему я, наконец, смог реализоваться в новой профессии.

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

Желаю вам успеха в освоении новой профессии, и до встречи на страницах курса."