Дмитрий Андрушко, инструктор Академии Oracle по Java-технологиям – о том, как подготовиться к первой ступени в непростой системе сертификации Oracle (Oracle Certified Associate, Java SE 7 Programmer), стать успешным Java-разработчиком и работать в крупнейших банках и корпорациях, если вы только начинаете знакомство с этим языком программирования.
5. Почему
я
выбираю
Java?
–
традиционные
аргументы
• Java
платформа
для
разработки
#
1
в
мире.
– hQp://www.Tobe.com/index.php/content/paperinfo/tpci/index.html
– hQp://www.langpop.com/
– PYPL
PopularitY
of
Programming
Language
index
• Java
работает
на
97%
ПК,
115
миллионах
ТВ
и
3
млрд
мобильных
устройств.*
• Кросс-‐платформенность
• Большое
количество
фреймворков
для
решения
разнообразных
задач
• Широкая
поддержка
сообществом
*
источник
Oracle
6. Почему
я
выбираю
Java?
–
реальная
ситуация
• Достойная
оплата
труда
• Потребность
рынка
в
Java-‐разработчиках
• Сравнительно
низкий
«порог
входа»*
• Широкий
выбор
«специализаций»
– Web
– Android
– Автоматизированное
тестирование
ПО
– …
9. Java
cертификация
–
традиционные
аргументы
• Top
10
Reasons
to
Get
Java
CerTfied
• Wanted:
CerTfied
Java
Experts
– Более
высокий
заработок
– Признание
– Систематизация
знаний
– Преимущества
при
трудоустройстве
– ….
10. Java
cертификация
–
реальная
ситуация
• Требование
заказчика
• Статус
официального
партнера
Oracle
•
…«а
мне
оплачивает
контора»
• Личная
инициатива
кандидата
11. Направления
сертификации
по
Java
• 4
уровня
–
Associate,
Professional,
Expert,
Master
• Полная
информация
о
программах
сертификации
Oracle
доступна
по
адресу
hQp://cerTfcaTon.oracle.com
*Источник
-‐
Wikipedia
12. Java
SE:
5/6
или
7
• 1z0-‐850
• 1z0-‐851/1z0-‐853
• 1z0-‐803
• 1z0-‐804
• На
данный
момент
доступны
экзамены
по
3-‐м
версиям
платформы
Java
SE
• Для
получения
сертификата
надо
сдать
один
или
два
экзамена
в
центре
Pearson
VUE
в
соответствии
с
выбранным
направлением
OCA
OCP
13. Java
SE5/6
• Программы
сертификации
разрабатывались
еще
Sun
Microsystems
• Огромное
количество
учебных
материалов,
примеров
тестов,
MOCK
экзаменов
и
т.д.
• Достаточно
большое
количество
проектов
на
Java
5/6
14. Экзамен
1z0-‐850
• Экзамен
уровня
Associate
(Oracle
CerTfied
Associate
Java
SE
5/SE
6
–
OCA)
• Ранее
известный
как
Sun
CerTfied
Java
Associate
(SCJA)
• Не
чисто
экзамен
по
языку
Java
– Темы
экзамена:
– Fundamental
Object-‐Oriented
Concepts
– Java
ImplementaTon
of
Object-‐Oriented
Concepts
– Algorithm
Design
and
ImplementaTon
– Java
Development
Fundamentals
– Java
Pla›orms
and
IntegraTon
Technologies
– Client
Technologies
– Server
Technologies
15. Экзамен
1z0-‐851
(Sun
-‐
310-‐065)
• Экзамен
уровня
Professional
(Oracle
CerTfied
Professional
Java
SE
5/SE
6
–
OCP)
• Достаточно
простой
экзамен*
• Экзамен
только
по
языку
Java
• Не
требуется
предварительной
сертификации
OCA
• Темы
экзамена:
– DeclaraQons,
IniQalizaQon
and
Scoping
– Flow
Control
– API
Contents
– Concurrency
– OO
Concepts
– CollecQons
/
Generics
– Fundamentals
16. Java7
OCA
–
экзамен
1z0-‐803
• Экзамен
разработан
Oracle
• Название
экзамена
-‐
Java
SE7
Programmer
I
• Частично
построен
на
темах
экзамена
1z0-‐851
(OCP
Java
SE
6)
• Экзамен
только
по
языку
Java
• Достаточно
большое
количество
материалов
для
самоподготовки
17. Java7
OCP
-‐
1z0-‐804
• Достаточно
новый
экзамен,
запущен
в
2012
году
• Требуется
предварительная
сертификация
уровня
OCA,
т.е.
успешная
сдача
экзамена
1z0-‐803
• Сложный
экзамен
• По
сравнению
с
OCP6
добавлены
новые
темы:
JDBC,
локализация,
шаблоны
проектирования.
• Затронуты
новшества
Java7,
такие
как
NIO.2,
Concurency
• На
данный
момент
издана
лишь
одна
книга
для
подготовки
к
этому
экзамену
20. Самоподготовка
1. OCP
Java
SE
6
(экзамен
1z0-‐851)
• SCJP
Sun
CerTfied
Programmer
for
Java
6
(Sierra,
Bates)
• OCP
Java
SE
6
Programmer
PracTce
Exams
(Sierra,
Bates)
2. OCA
Java
SE
7
(экзамен
1z0-‐803)
• OCA
Java
SE
7
Programmer
I
Study
Guide
(Finegan)
• OCA
Java
SE
7
Programmer
I
CerTficaTon
Guide:
Prepare
for
the
1ZO-‐803
exam
(Gupta)
3. OCP
Java
SE
7
(экзамен
1z0-‐804)
• Oracle
CerTfied
Professional
Java
SE
7
Programmer
Exams
1Z0-‐804
and
1Z0-‐805:
A
Comprehensive
OCPJP
7
CerTficaTon
Guide
(Ganesh,
Sharma)
21. Специализированные
кусы
• Курс
уровня
0+
• Соответствует
экзамену
1z0-‐803
• Синтаксис
и
базовые
конструкции
языка
• Реализация
ООП
в
Java
• Структуры
данных
а
работа
с
ними
• Обработка
ошибок
Java
SE7
Fundamentals
Java
SE7
Programming
Developing
ApplicaTons
for
the
Java
EE
Pla›orm
• Соответствует
экзамену
1z0-‐804
• Коллекции
• Ввод/вывод,
NIO.2
• Многопоточность
• Работа
с
БД
• Соответствует
экзамену
1z0-‐899
• Servlets
• Java
Server
Pages
(JSP)
• JSP
standard
Tag
library
(JSTL)
22. Содержание
курса
Java
SE7
Fundamentals
• Введение
в
технологию
Java
• Объектно-‐ориентированный
дизайн
ПО
• Введение
в
синтаксис
языка
Java
• Работа
с
примитивными
переменными
• Работа
с
объектами
• Использование
операторов
и
управляющих
конструкций
• Работа
с
массивами
• Использование
циклических
конструкций
• Работа
с
методами
и
перегрузка
методов
• Инкапсуляция
и
конструкторы
• Использование
наследования
• Использование
различных
типов
полиморфизма
(overloading,
overriding,
и
dynamic
binding)
• Обработка
ошибок
• Работа
со
строками
23. Процесс
обучения
• Стек
решений
Atlassian
–
глобального
лидера
в
интеграции
процессов
разработки
• Полностью
интегрированный
процесс
на
основе
проектного
подхода
на
базе
Jira
– Постановка
заданий
– Прогресс
выполнения
– Отчетность
о
выполненном
задании
• Отчетность
о
выполненных
заданиях
через
централизованный
SVN-‐репозитарий
• Online
проверка
заданий
и
фидбек
преподавателя
-‐
Crucible
24. Инструменты
• IDE
Eclipse
+
plugins
(hQp://eclipse.org)
• Java
SE
Pla›orm
(JDK)
7u*
(
hQp://www.oracle.com/technetwork/java/
javase/downloads/index.html)
• Jira
(hQp://oracle-‐academy.org.ua:8080)
• SVN
(hQp://oracle-‐academy.org.ua/svn
)
• Группа
«Вконтакте»
-‐
hQp://vk.com/oracleacademy
25. Учебные
материалы
• Книги
на
русском
языке
– Философия
Java
(Брюс
Екель)
– Полный
справочник
по
Java
(Герберт
Шильдт)
– Java
2
(Хорстманн
К.,
Корнелл
Г.),
том
1.
• Книги
на
английском
языке
– Thinking
In
Java
(Bruce
Eckel)
– Core
Java,
Volume
I-‐fundamentals(Cay
S.
Horstmann,
Gary
Cornell)
– Java
The
Complete
Reference,
8th
EdiTon
(Herbert
Schildt)
– SCJP
Sun
CerTfied
Programmer
for
Java
6,
Study
Guide
(Kathy
Sierra,
Bert
Bates)
• hQp://docs.oracle.com/javase/
tutorial/
• !!!
Java
Code
convenTon
28. Пример
вопросов
уровня
Fundamentals
3.
Дано
следующее
определение
класса
MyJavaClass:
class
MyJavaClass
{
public
staTc
void
main(String[]
args)
{
System.out.println
(args[1]+»:»+
args
[2]+»:»+
args[3]);
}
}
Что
будет
выведено
в
консоль
при
выполнении
следующей
команды?
Java
MyJavaClass
one
two
three
four
a)
one:two:three
b)
MyJavaClass:one:two
c)
java:MyJavaClass:one
d)
two:three:four
2.
Какой
будет
вывод
после
выполнения
следующего
кода?
class
MyJavaClass2
{
public
staTc
void
main
(String
args[])
{
String
ejg
=
«game».replace(‘a’,
‘Z’).trim
().concat(«Aa»);
ejg.substring
(0,
2);
System.out.println
(ejg);
}
}
a)
gZmeAZ
b)
gZmeAa
c)
gZm
d)
gZ
1.
Просмотрите
следующий
код:
class
Programmer
{
void
print()
{
System.out.println
(«Programmer
Class»);
}
}
class
Author
extends
Programmer
{
void
print()
{
System.out.println
(«Author
Class»);
}
}
class
TestEJava
{
Programmer
a
=
new
Programmer();
//
INSERT
CODE
HERE
a.print();
b.print();
}
Какие
из
следующих
строк
можно
вставить
вместо
“//INSERT
…”,
чтобы
вывод
выглядел
следующим
образом:
Programmer
Class
Author
Class
a)
Programmer
b
=
new
Programmer();
b)
Programmer
b
=
new
Author();
c)
Author
b
=
new
Author();
d)
Author
b
=
new
Programmer();
e)
Programmer
b
=
((Author)new
Programmer());
f)
Author
b
=
((Author)new
Programmer());