Программист Java

Освой лучший кроссплатформенный язык!
Программируй под девизом «Написано однажды - работает везде!»«В современном мире уже даже не принято спрашивать, почему Java - это круто. Это очевидно.
Принцип "напиши один раз -- запускай где угодно" по прежнему вдохновляет программистов. А ведь именно Java - первый язык, который воплотил этот принцип в жизнь! Давно прошли те времена, когда Java был медленным. Сейчас за счет хитрых оптимизаций он работает очень быстро! Большое количество библиотек, форумов, специалистов, открытых исходников - это тоже Java. Если вы встретитесь с какой-либо проблемой, знайте, скорее всего она уже кем-то была решена - просто сделайте запрос в поисковой системе.

Вы хотите работать в серьезной корпоративной среде? Почти все банки и страховые компании в своей работе используют исключительно Java за счет ее надежности, переносимости и длительному циклу поддержки. Одноклассники, Мэйл.ру, Яндекс - да, да, тоже активно используют Java.
Игры? Аллоды, Майнкрафт и все такое...»



востребованность  - 4 из 5
сложность - 4 из 5
время освоения 6 месяцев.
средняя зарплата 110 000

резюме

Должность: программист Java
Желаемая зарплата
110 000 руб.
Опыт работы
< 1 года
Ключевые навыки:

  • Уверено: Core Java (concurrency, collections, swing), ООП, JUnit
  • Основы: SQL, SQLite, проектирование БД
  • XML, UML, основы подхода Spring (Dependency Injection, IOC), Design patterns
  • Reflection, Annotations, Generics, системы логирования (log4j)
  • Творческий подход к поставленным задачам
  • Умение писать чистый код и правильно создавать и использовать модульные тесты
  • Умение и желание приобретать новые навыки и осваивать новые технологии
  • Умение быстро разбираться в чужом коде‚ если это понадобится
Программа
Java. Уровень 0. Основы ООП на Java за 2 дня. Быстрый старт и экстремальное погружение

Урок 1. Часть 1 - Базовые понятия; Часть 2 - Приступаем к ООП; Часть 3 - Основы ООП.Часть 1 Установка Oracle SDK и среды разработки IntelliJ IDEA. Принципы оформления: встречают по одежке, провожают по уму. Что такое классы? Что такое переменные, зачем нужны, какие бывают и как применять? Условные выражения. Основы ввода-вывода в Java. Циклы в Java. Массивы в Java. Перерыв 5 мин. Совместное написание первой программы в процедурном стиле. Что такое функции и методы. Передача параметров по ссылке и по значению. Основы ООП: классы и экземпляры классов. Перерыв 1 час на обед. Часть 2 Инкапсуляция, права доступа и модификаторы. Что такое наследование, как реализуется в Java и как отображается в UML. Сила полиморфизма. Сравнение объектов (equals и ==). Перерыв 1 час на обед. Часть 3 Конструкторы. Диаграмма классов в UML. Преобразуем нашу программу в соответствии с принципами ООП. Обсуждаем ДЗ на ближайшую неделю. Перерыв 1 неделя.

Урок 2. Часть 1 - разбор ДЗ; Часть 2 - Углубленное ООП; Часть 3 - совместное написание программы.Часть 1 Разбор Домашнего задания, которое прислали участники курса. Исправление стандартных ошибок, помощь в проектировании. Поиски оптимальных решений по сделанному ДЗ. Перерыв 5 мин. Часть 2 Инкапсуляция, права доступа и модификаторы. Что такое наследование, как реализуется в Java и как отображается в UML. Сила полиморфизма. Сравнение объектов (equals и ==). Перерыв 1 час на обед. Часть 3 Статические методы и переменные. Пишем вторую программу сразу в ООП-стиле! Обсуждаем ДЗ для самостоятельной работы вне курса.

Java. Уровень 1. Базовый курс


Урок 1. Базовые понятияОбзор курса, Введение в платформу Java, Настройка среды, Простейшая программа Hello world в блокноте, Запуск и выполнение, Среды разработки(IDE), Знакомство со средой разработки Eclipse, Idea, Hello world в среде Eclipse, Idea

Урок 2. Типы данныхПримитивные типы данных, Объявления переменных и их инициализация, Константы, Стек,куча и где хранятся данные в Java, Преобразования типов в Java, Основные операторы в языке Java: арифметические, логические, битовые, строковые, Работа с символами и строками, Вывод результатов работы программы на консоль

Урок 3. Управление потоком выполнения и циклыОсновы процедурного программирования, Ветвления, Циклы, Проектирование методов, Конструкторы, Хорошие и плохие названия, Параметры методов, Перегрузка методов, Рекурсия

Урок 4. Введение в ООПКлассы и объекты, Абстракция, Инкапсуляция, Наследование, Полиморфизм, Модификаторы доступа

Урок 5. Продвинутое ООППринципы проектирования и основы языка UML, Диаграммы классов, Абстрактные классы, Интерфейсы клонирования, Множественное наследование в Java, Программирование в соответствии с интерфейсом, а не реализацией

Урок 6. Collеction FrameworkВиды контейнеров в Java: List, Map,Set, Основные реализации контейнеров, Основные приемы использования контейнеров, Проход по элементам коллекции, шаблон проектирования Iterator, Сравнение элементов коллекции, Сортировка элементов коллекции

Урок 7. ИсключенияКонцепция обработки исключений, Сравнение традиционного механизма обработки ошибок с механизмом, обработки исключений, Блок try-catch-finally, Типы исключений, Стандартные исключения в Java и их роль, Выброс исключения из метода

Урок 8. Написание программы "Сетевой чат"Основы работы с библиотекой Swing, Основы работы с файловой системой в Java, Написание игры "Морской бой" с нуля - в течении 7и уроков, Написание программы "Сетевой чат", Написание программы "simple Web-server"

Java. Уровень 2. Профессиональная разработка программного обеспечения


Урок 1. Параметризация и обобщенное программирование (Generics)Назначение Java Generics, Generic-контейнеры. Пример, Ограничения и маски. Ключевые слова super, extends, Использование wildcards, Generic-методы, Generic классы, Особенности наследования

Урок 2. Базы данныхРеляционные базы данных, Язык запросов SQL, Операторы select, insert, update, delete, Подключение к базе из Java (jdbc), Запросы в базу данных, обработка результата, Основные операторы в языке Java: арифметические, логические, битовые, строковые, Создание и удаление таблиц, Пример приложения

Урок 3. Swing. Графический интерфейсОсновное окно приложения, JFrame, Элементы интерфейса: кнопки, поля ввода, меню, списки, надписи, Компоновка элементов. LayoutManager - менеджер компоновки, Примеры основных Layout Manager: FlowLayout, BorderLayout,BoxLayout,GridBagLayout, Обработка событий, AWT - рисование, основные понятия

Урок 4. Внутренние классыПонятие внутреннего класса, Применение на практике, Анонимные и локальные классы, Вложенные классы, Интерфейсы и типы

Урок 5. Средства ввода-выводаОбзор java.io, Байтовые и символьные потоки, Буферизованные потоки, Сетевое взаимодействие, сокеты, Пример «сетевой чат», Сериализация объектов

Урок 6. МногопоточностьПонятие потока, разделяемая память, Потоки в Java. Класс Thread, интерфейс Runnable, Управление потоком, состояния потока, Синхронизация: lock, synchronized, wait/notify, Deadlock - взаимная блокировка, Concurrency collections, Пример - многопользовательский сетевой чат

Урок 7. Обзор средств разработки. Внешние библиотеки. ТестированиеЛогирование. Основные библиотеки, Уровни логирования, Подключение внешних библиотек, Виды тестирования, Юнит-тесты, библиотека JUnit, Разработка через тестирование (TDD), Пример использования TDD

Урок 8. Reflection & annotationsПонятие reflection, Класс Class, Метаданные классов, доступ к полям и методам, Аннотации - примеры использования, Написание собственных аннотаций