Меня зовут Аксёнов Вячеслав и я бэкенд разработчик, пишу на 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 недели своего времени и получить сертификацию, которая потенциально сильно облегчит ваш процесс найма.
Буду рад вашим историям в комментариях - как наличие сертификации повлияло на вашу профессиональную жизнь :)
Комментарии (22)
Hidralisk
05.09.2021 22:52+4В чем смысл знаний "а где оно упадет на компиляции" ума не приложу.
Это на случай если у тебя заберут IDE и завяжут глаза ?
GerrAlt
05.09.2021 23:21-2Случалось пользоваться этим умением когда чинил баги в чужом коде - понимание моментов где может быть подвох иногда помогало быстро найти проблемное место
siarheiblr
06.09.2021 00:55+1Вам стектрейс и IDE не выдали?
GerrAlt
06.09.2021 21:21Стектрейс покажет вам место ошибки, а не ее причину. Чтобы докопаться до причины бывает полезно понимать нюансы используемого языка - некоторые из этих самых нюансов и спрашивают.
solver
06.09.2021 01:20+2Выглядят такие вопросы конечно глупо, но на самом деле показывают знание того как работает Java. Далеко не всегда есть возможность с ходу запустить код. Например это ревью кода, которое часто происходит в браузере. Или процесс запуска длительный, а выделить кусок кода для юнит теста сложно. Проекты разные бывают, как и ситуации.
В общем я хочу сказать, что достаточно часто "пристальный взгляд" на код экономит кучу времени на дебаг. Но это конечно же зависит от того, чем разработчик занимается. Понятно, что не всем такой навык нужен.
v-aksenov Автор
06.09.2021 13:26+1Читать код без запуска - важный навык, который экономит много времени в работе. Но те, у кого есть реальный опыт разработки и так это умеют. Так что такие вопросы да, выглядят довольно простыми для сертификации. Но вот когда попадаются краевые кейсы (условно где нужно понять какой метод будет использоваться - из родительского класса или интерфейса), вот там уже без понимания как работает компилятор не обойтись. И такие знания эти вопросы и проверяют.
А уж по составлению вопросов для сертификации это уже к ребятам из Oracle)
S_V
06.09.2021 09:17+3При получении сертификата, часто разработчик исходит из нескольких соображений:
1) часто на поизицию может стоять требование, что наличие такого-то сертификата обязательно
2) для закрепление и систематизации знаний по предмету
3) мне в свое время наличие сертификатов помогло при первом поиске работы так как человек интервьюрующий меня так же в свое время сдавал те же сертификаты
4) большинство работадателям нравится, что разработчик постоянно повышает свою квалификацию
Serge1001
06.09.2021 11:19Ещё бы пояснения к ответам написать...
Раз уж привели примеры вопросов и ответов, то было бы здорово объяснить почему тот или иной ответ правильный.
joyfolk
06.09.2021 19:50+1"собеседующие посмотрели на сертификат, на предыдущий опыт и предложили ей самой их пособеседовать" - интересная мысль кстати, надо попровать будет такой фокус провернуть, на одном из следующих собеседований. Кажется может быть довольно показательным.
shipovfoto
06.09.2021 20:01+1Это Вам повезло со скидкой, сам давно хочу получить сертификат, да жалко 245 долларов.
mchernichenko
14.09.2021 23:03С такой скидкой грех было не пойти сдавать. Сертификация - это скорее для себя, а не для резюме и больше всего полезная для джунов. Подготовиться за 1-2 недели это очень круто, всё-таки экзамен имеет свои особенности и даже профи его может завалить без подготовки.
Интересно, по каким темам были проигнорированы глубокие детали и на какие темы лучше больше потратить время?
sshikov
Никогда не слышал, чтобы наличие именно таких сертификатов облегчало процесс найма. Возможно HR ваши сертификаты и заинтересуют, но тех кто будет интервью проводить — скорее нет. Сертификат не показывает, что вы умеете программировать. А умение «компилировать в уме” в реальной жизни практически бессмысленно (и так же не дает никакого понимания о том, как вы программируете). Если вы совсем без опыта — то как документ об образовании наверное и сгодится, но заменить реальный опыт не сможет.
v-aksenov Автор
Безусловно. Реальный опыт лучше любых документов. Но срезать в процессе интервью секцию с совсем базовыми вопросами в духе "как устроена hashmap" можно.
Ничего кроме реального опыта и демонстрации проектов\лайвкодинга не показывает что человек умеет программировать. Смысл получения сертификации - для тех компаний, которым это важно, показать свой уровень не только как рядового разработчика, но и как человека, который стремиться улучшать и подтверждать свои скиллы :)
sshikov
>Но срезать в процессе интервью секцию с совсем базовыми вопросами в духе «как устроена hashmap» можно.
Если бы мне было это интересно — я бы это спросил независимо от наличия сертификата.
>Ничего кроме реального опыта и демонстрации проектов\лайвкодинга не показывает
Ну, понимаете, вы же сами приводите примеры вопросов, которые не просто не показывают умения программировать, а наоборот, нафиг не нужны в практике. Типа умения компилировать в уме. В моих глазах это сильно снижает ценность такого сертификата.
>Смысл получения сертификации — для тех компаний
Так я вам о чем и говорю — никогда такого не видел в жизни. На java программирую с самого момента появления или чуть позже — т.е. примерно с 1997. Много раз интервьюировал и наоборот, проходил интервью. Никому в моем окружении сертификаты такого вида не интересны — а я знаю чуть ли не сотню разработчиков, с которыми поработал. Иногда интересны сертификаты другого рода — для админов, скорее, или для DBA, Oracle или скажем MS.
Хотя с конечно не стану обобщать, возможно такие и есть, кому это интересно.
Data-Q7
"Кхе-кхе, а вот в нааааше время мы вот сразу на машинном коде писали, а вот не эти вот ваши, прости Господи, Идеи, компиляторы! Вот в нааааше время ты либо умел кодить, либо пастухом был и вот эти вот ваши сэртыфыкаты нам на... не нужны были. Все по уму было и делалось на века без, тьфу, софт скилов. Слушай деда, сопля неразумная, дед джаву ещё в 90х на микроволновках ковырял! Вот оно как! Кхе-кхе "
sshikov
Вообще-то автор явно спросил: как наличие сертификации повлияло на вашу профессиональную жизнь? Я ответил — никак. Если вы придете ко мне на интервью (а сейчас я намного чаще их провожу, чем прохожу) — вам наличие сертификата не поможет никак. И вокруг меня большинство (и это много народу, у нас большой отдел) придерживается того же мнения. А так да, вы конечно можете не слушать мое мнение, зачем?
Data-Q7
Вот это большинство придет и своим мнением самостоятельно, без суфлеров, поделится. А вам бы я не доверил вести интервью с таким отношением к людям и к их достижениям. Боже мой, обиделся так, что полез в карму минусить. А на интервью язык показываете и кулачком по столу лупите когда мнение каких-то там неучей не совпадает с вашим, авторитетным? Главное чаще добавлять про 97 год. Вот от таких вот кадров рекрутеры заморские шарахаются от кандидатов
sshikov
>обиделся так, что полез в карму минусить.
У меня есть свое мнение, и я его высказал. А вы сразу начали ехидничать и переходить на личности. Пальцем показать, где?
Data-Q7
Вот и высказывайте и дальше свое мнение, а не приплетайте целые социальные группы под него, что вы очень любите делать в порывах словоблудия. Ваше мнение это мнение одного человека до тех пор пока другие не доверят вам выражать их мнение за них. И я далеко не первый кто вам такое говорит. Вас почитать, так вы все человечество на своих широких плечах всю историю несете и везде авторитет. Я думаю на этом следует закончить.
Exosphere
Да, давайте заканчивать. Тем более что вы находитесь на тонкой грани перехода на личности, господа. Машина безопасности выехала и призывает притормозить ;-)
tmk826
Если из резюме не понятно знание java (например позиция java программиста, а предыдущие проекты кандидата были на других языках), то наличие сертификата повышает шансы быть приглашонным на интервью.
sshikov
Так я поэтому и упомянул, что если вы совсем без опыта, то… без опыта в этом языке — тут как частный случай.