Меня зовут Аксёнов Вячеслав и я бэкенд разработчик, пишу на Java/Kotlin, расскажу про то, как я сдавал сертификацию на знания Java SE 11 от Oracle. И какие нюансы я понял в процессе подготовки.
Предыстория. Зачем я решил сдавать?
Начну с того, что идея по сдаче именно этой сертификации сидела у меня в голове очень давно. Перед глазами был пример моей жены, у которой есть крайне солидный опыт ETL разработки и сертификат Oracle по базам данных в придачу. Когда ей надоело заниматься построением сложных запросов, она захотела перейти в разработку и писать на Java.
Процесс собеседования Java разработчика до миддла имеет примерно стандартный вид - секция с алгоритмами, секция с java core и конечно секция с знаниями БД. В ее случае на секции БД собеседующие посмотрели на сертификат, на предыдущий опыт и предложили ей самой их пособеседовать. Это конечно просто курьезный случай и все такое, но передо мной есть пример того, как сертификат отлично сработал и помог срезать углы при найме.
Я включил фантазию и представил как может в моем случае помочь сертификат от того же оракла, но по Java. Погуглил и наткнулся на скидку в 90% в честь юбилея Java на сайте оракл и до конца этого периода оставалось всего 2 недели. Что делать? Конечно надо сдавать! Но надо же готовиться? Да не, еще целых 2 недели, успеешь - сказал мне внутренний голос. Так прошла неделя и я начал что-то подозревать...
Для понимания моего бэкграунда - 6 лет специалитета в МГТУ им Н. Э. Баумана, совмещенных с youtube деятельностью, которая никак не относилась к разработке, но занимала все свободное время. После окончания универа прохождение лютого полугодового экспресс курса по java от сотрудников Сбера, которые искали джунов навырост. И опыт работы в размере 2х лет на Java 7-8-11.
Как изменился процесс сдачи?
Дальше нужно несколько слов рассказать про саму сертификацию - как она проходит в период пандемии, на что делается упор при проверке и какие вопросы сейчас есть.
Я уверен, что процесс получения сертификации оракла сейчас выглядит удобнее и приятнее всего, что было раньше:
Во первых - раньше было 2 экзамена по 180 минут - сейчас один на час
Во вторых - раньше в каждом экзамене было 90 вопросов (в сумме 180), а сейчас всего 50.
То есть со стороны потраченных умственных усилий на сдачу стало проще.
Но это все не значит, что готовиться не нужно. Потому что вся эпопея с сертификацией следующая - она не проверяет твои знания Java. Она проверяет - знание слабых мест и скользких моментов. По крайней мере таким было мое ощущение.
А также - знания использования последних модных фич из Java старше 8.
Нюансы по поводу сдачи сейчас, в период ковида
Я очень хорошо тащил задачи по работе и считал себя вполне солидным специалистом, которому горы по плечо и море по колено, не то что ваша сертификация. Поэтому готовиться мне было откровенно лень. Но оставалась неделя и надо было начинать хоть что-то делать. Я подумал, что смогу хакнуть систему и воспользоваться ковидными условиями и возможностями сдачи по удаленке и смогу сдавать без подготовки пока не сдам.
Если у кого-то будет такая же идея, то вынужден вас огорчить - после исследования документации выяснилось, что пересдавать можно минимум через месяц и в сумме 2-3 раза в год. Таким образом мой план уверенно отправился на свалку.
Ну что поделать, значит нужно сдавать прямо сейчас и с первого раза. Oracle предоставляет "подробные" и полные курсы подготовки к сертификации и так как был праздник, то в период акции они были бесплатными. Честно говоря, в моем случае эти лекции оказались чуть более бесполезными, чем полностью. Там действительно поверхностно покрываются многие темы и фишки java и фичи последних версий. Но для меня это никак не укладывалось в голове. Потому что я некоторыми вещами совсем не пользовался, а просто зазубривать мне не хотелось.
Вся структура сертификации строится следующим образом - есть 5-10 тем, которые важны. И на каждую из этих тем есть по 2-4 вопроса. И в сумме нужно набрать 68% правильных ответов. Значит, что достаточно 34 правильных ответа.
Дальше включаем математику - как набрать эти правильные ответы и мой путь, который я выбрал - полная фокусировка на тех темах, которые я уже знаю и с которыми в реальной жизни работаю и полный игнор тех тем, которые я в реальной жизни не использовал и не видел.
Таким образом проигнорировав глубокие детали для 2-3 тем, которые мне не понравились я освободил себя от 60% работы, которая меня не устраивала. И начал усиленно учить остальное.
Сам процесс сдачи
Так прошли оставшиеся дни до конца акции. Дальше тянуть было нельзя, нужно было сдавать.
По моему непрофессиональному мнению сайт оракл имеет довольно сложную логику интерфейса и продраться через него до желаемого оказалось не так то просто. Закладывайте часть своих моральных сил на всю организацию.
В конце концов дошел до страницы с регистрацией непосредственно на экзамен, к моему удивлению запись была очень ограничена - выделяются квоты по часам на каждый день, нельзя просто прийти и в свободном ключе выбрать любое время и сдать как удобно. Насколько я понял, ограничен ресурс проверяющих и поэтому дело выглядит довольно близко к атмосфере настоящего экзамена. Хорошо, что ехать никуда не надо.
Дальше интереснее - будет предложена программа в которой будет выполняться сам экзамен. Программа проверит наличие других запущенных программ, подключенных девайсов и наличие вебкамеры. Вебкамера обязательна!
Сам процесс прохождения теста выглядит следующим образом - вы подключаетесь за 15-30 минут до начала и в приложении встаете в очередь на проверку.
В этот момент человек с другой стороны проверяет ваши документы и ставит вас в очередь, все это время важно не отходить, потому что курирующий ваш экзамен человек может подключиться в любой момент. Напомню, что все это время у вас включена камера.
Дальше подключится куратор, который будет наблюдать за вами на всем протяжении экзамена. Рядом с вами должен находиться только компьютер и ваши документы. Никаких других девайсов, шпаргалок, книг и прочих предметов быть не должно. А в комнату не должен никто заходить и не должно быть слышно подозрительных звуков, которые могут вас скомпрометировать. Если бы я занимался раздачей советов, то посоветовал бы к моменту сдачи рассчитывать только на свои силы и не пытаться обмануть куратора. С одной стороны его не видно и может быть ему без разницы как вы сдаете, но с другой стороны все может быть и наоборот. Аннулировать сдачу ничего не стоит. Так что я бы не провоцировал.
Примеры вопросов
Сам экзамен идет ровно по таким вопросам и темам, которые объявляются в процессе подготовки, а конкретно.
Примеры вопросов:
8 public class SuperClass {
9 private final int x = 1;
10 static final int y;
11 public SuperClass() {
12 System.out.println(x);
13 System.out.println(y);
14 }
15 public static void main(String[] args) {
16 new SuperClass();
17 }
18 }
Какой будет результат?
А - компилятор упадет на 13 строке
B - компилятор упадет на 16 строке
C - 1
D - компилятор упадет на 9 строке
E - 10
Правильный ответ: A
Следующий пример:
char[][] arrays = {{'g', 'j'}, {'h', 'k'}, {'i', 'l'}};
for (char[] xx : arrays) {
for (char yy : xx) {
System.out.print(yy);
}
System.out.print(" ");
}
какой результат?
А - gj hk il
B - ghi jkl
C - gh ij kl
D - compilation fails
E - ArrayIndexOfBoundsException in runtime
Правильный ответ - A
И такого рода вопросов с подвохами или на “проверь как умеешь компилировать в уме” их много.
Итоги
Вся подготовка привела к моей сдаче сертификации с первого раза на 87% и добавлением новой плашки в свое резюме. :)
Если вы имеете какой-никакой опыт коммерческой разработки с Java 8+, то вам достаточно будет выделить 1-2 недели своего времени и получить сертификацию, которая потенциально сильно облегчит ваш процесс найма.
Буду рад вашим историям в комментариях - как наличие сертификации повлияло на вашу профессиональную жизнь :)