Оглавление

  1. Введение

  2. Обзор существующих статей

  3. Мотивация

  4. Описание экзамена

  5. Регистрация на экзамен

    • Проблемы с миграцией аккаунта

    • Регистрация аккаунта

    • Получение слота

  6. Сдача экзамена

    • Правила прокторинга

    • Проблемы с System Check

    • Настройка VPN

    • Вопросы экзамена

  7. Результат

  8. Полезные ссылки

Введение

Привет, недавно я сдал сертификацию по Spring Framework от Broadcom. В связи с уходом сертификационных центров из России процесс сдачи экзамена усложнился. В данной статье я расскажу про свой опыт подготовки и поделюсь способом сдачи экзамена удаленно из России.

Обзор существующих статей

Во время подготовки нашел несколько статей авторов, которые сдавали до 2022 года:

  1. Habr, 2020: Опыт сдачи Spring Professional Certification 5 Отличная статья про подготовку, тем не менее информация по сдаче устарела: examslocal.com больше не доступен. Также сертификационные центры Pearson больше не доступны, при удаленной сдаче из России IP адреса блокируются / ограничивается скорость, поэтому не получится пройти даже system check перед экзаменом

  2. ЖЖ, 16 апреля 2018: Итоги сдачи сертификационного экзамена по Spring Тоже хорошая статья, автор подробно описал темы экзамена. Тем не менее по-моему с того момента экзамен сильно упростился. Также не описано как сдавать экзамен удаленно из России

  3. Habr, 11 октября 2019: Подготовка к Spring Professional Certification. Spring REST Разобрана одна из тем экзамена, тем не менее нет гайда как сдавать экзамен из России (ну оно и понятно из названия статьи :)). У автора серия статей, в принципе полезно для подготовки

  4. Medium: The Ultimate Guide to Pass Spring Professional Certification (VMware EDU-1202) Exam in 2024 Хорошее дополнение ко всем статья выше. Тем не менее по-прежнему нет разбора сдачи экзамена удаленно из России

Мотивация

Уже работаю ~5 лет в проектах с Spring для IoC-контейнера. Это позволило мне приобрести значительное понимание его применения и функциональности.

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

На мой взгляд, сдача сертификации ради 'бумажка ради бумажка' неправильно: важны реальные знания и навыки, а 'диплом' будет приятным дополнением + формальная верификация от разработчиков Spring, что вы действительно владеете инструментом ?

Описание экзамена

Все очень хорошо написано на официальном сайте: https://www.vmware.com/learning/certification/spring-certified-pro.html:

  • Отведенное время: 130 минут

  • Формат: 60 вопросов

  • Шкала оценивания: 100-500

  • Проходной балл: 300/500

  • Стоимость: $250 (зависит от локации, у меня был указан Кипр). Как указано на сайте, можно стать участником Spring Academy Pro: таким образом можно запросить ваучер на экзамен без дополнительных затрат

  • Типы ответов: multiple choice (выбрать указанное в условии количество правильных ответов среди неправильных aka дистракторов) и multiple responses (правильных ответов может быть несколько, но нужно выбрать самый лучший под заданное условие)

Регистрация на экзамен

Проблемы с миграцией аккаунта

VMWare был куплен Broadcom, поэтому мой VMWare аккаунт с привязанной gmail почтой смигрировали в Broadcom, причем весьма криво: логин при включенном VPN (да, Broadcom блокирует российские IP адреса) происходил через раз -- обычно были вечные редиректы с страницы ошибки на страницу логина. Также из-за этого нельзя было поменять имя и фамилию: поля были просто недоступны. Поэтому было решено зарегистрировать новый аккаунт

Регистрация аккаунта

Как выяснилось из страницы логина, для регистрации в Broadcom требуется использовать корпоративный адрес электронной почты в целях обеспечения безопасности. Из-за этого были сложности с доступом в личный кабинет Broadcom, необходимый для дальнейшего перехода на платформу Certmetrics (SaaS для управления экзаменами). Кроме того, была отключена функция редактирования ФИО в личном кабинете, несмотря на то что я уже был зарегистрирован.

Страница логина в личный аккаунт Broadcom
Страница логина в личный аккаунт Broadcom
После логина в личный аккаунт должно перекинуть в certmetrics
После логина в личный аккаунт должно перекинуть в certmetrics
Кликаем и переходим в PearsonVUE
Кликаем и переходим в PearsonVUE
Главная страница: здесь можно регистрироваться на экзамен и менеджить слоты
Главная страница: здесь можно регистрироваться на экзамен и менеджить слоты

В конечном итоге, мне удалось зарегистрироваться при помощи корпоративной электронной почты, после чего все заработало как надо. В качестве номера телефона я указал свой зарубежный номер.

Если у вас нет такого номера, можно купить SIM-карту с иностранным номером. Ранее на территории России работал GlobalSim, но я уверен, что в настоящее время существуют и другие альтернативы.

Если нет корпоративной почты, то как вариант можно рассмотреть покупку домена (на том же Cloudlflare) и создания почты на нем, хотя не проверял данный вариант, так как уже была корппочта.

Получение слота

После регистрации вам будет назначена дата и время экзамена. Перед началом экзамена предусмотрено 30 минут для процесса регистрации. В этот период программа PearsonVUE проведет проверку системы: потребуется сфотографировать рабочий стол и окружающую обстановку. Также необходимо предоставить фото загранпаспорта / вид на жительство / водительское удостоверение. В общем то что может подтвердить вашу личность.

Я отправил российский заграничный паспорт, и его без проблем приняли.

Если вы не успеете пройти все проверки в отведенное время, регистрация может быть продлена. В этом случае экзамен начнется немного позже, тем не менее будет предоставлены все положенные 130 минут для выполнения.

Перенос экзамена

Экзамен можно переносить сколько угодно, даже за час до начала. Очень удобно: обычно слоты есть уже на следующий день, но как повезет.

У Broadcom не самый лучший сайт, поэтому если не получается перенести экзамен, то можно сделать это через чат: https://home.pearsonvue.com/Clients/NES/Customer-service.aspx:

Шаблон сообщения:

Hello, 
  
I can't reschedule Spring Professional Certification (VMWare, LLC), 2V0-72.22. Could you reschedule it for <день>?  
  
Info about me:  
Name: <имя фамилия>
Email: <корпоративная почта>
Phone: <номер телефона>  
CCID: <CCID можно взять из личного кабинета или из письма от PerasonVUE>
Registration Number: <аналогично с CCID>

Дальше подтвердить насчет какого экзамена идет речь (саппорт обычно всегда спрашивает, даже если уже написали точное название) и предложить дату:

To confirm, this is in regards to this exam correct? Exam: 2V0-72.22: Spring Professional Develop, English

Appointment Time: <день и время с таймзоной>

Остается подтвердить слот: экзамен будет перенесен, на почту придет отбивка

Подготовка

Когда-то читал Spring in Action, Fifth Edition от Craig Walls. Отличная книжка для прикладного понимания, тем не менее не разбирается внутренняя инфраструктура фреймворка. Поэтому решил идти по гайду от Broadcom и добирать что не знаю / плохо понял другими материалами.

Spring Academy

Для начала прошелся по рекомендуемым гайдам от Broadcom -- Spring Academy: Spring Certified Professional:

Узнал мало полезного, тем не менее преподаватель делает акценты на темы, которые будут спрашиваться на экзамене. Оставалось разобраться в внутренностях Spring, поэтому решил посмотреть еще источники

Pro Spring 6: An In-Depth Guide to the Spring Framework

Iuliana Cosmina: Pro Spring 6
Iuliana Cosmina: Pro Spring 6

Хорошая книжка: буквально все что нужно собрано в одном месте. Тем не менее не без изъянов: на мой взгляд весьма слабо описан bean life cycle.

Также есть объективные ошибки: в книжке пишется, что в Spring 6 по дефолту используется JDK Proxy с фолбеком на CGLib. Но в Spring 5 это поведение было изменено: YouTube: Вторая чашка кофе с Joker / Евгений Борисов // 21 октября 2020. Также в errata к Pro Spring 6 не упоминается про этот момент.

Тем не менее очень хороший материал для подготовки.

Pivotal Certified Professional Core Spring 5 Developer Exam: A Study Guide Using Spring Framework 5

Iuliana Cosmina: Pivotal Certified Professional Core Spring 5 Developer Exam
Iuliana Cosmina: Pivotal Certified Professional Core Spring 5 Developer Exam

На мой взгляд, разбирается более подробно bean lifecycle, но написано весьма сумбурно: цельной картины в понимании внутренней инфраструктуры не появилось, но что-то начало выстраиваться: хорошее дополнение к уже прочитанному.

По итогу, после прочтения обеих книжек в голове почти выстроилась цельная картина. Поэтому решил освежить в памяти классические доклады от Евгения Борисова:

Далее прорешал моки от Udemy:

Также прошелся по pdf с вопросами от Pivotal для самооценки

Сдача экзамена

Правила прокторинга

Сдавать экзамен можно дистанционно в формате прокторинга. Правила сдачи весьма строгие: нельзя иметь ничего постороннего на столе + не должно быть шумно / мелькать посторонних людей. Также нельзя отлучаться от камеры во время сдачи

Проблемы с System Check

Перед сдачей экзамена рекомендуется скачать программу от PearsonVUE из личного кабинета, чтобы пройти System Check: программа проверит микрофон, динамики, веб-камеру, рабочий стол и интернет.

Все проверки прошли успешно, кроме интернета. С интернетом все получилось не совсем просто.

Программа PearsonVUE, через которую будет проходить экзамен, блокирует российские IP адреса. По информации от провайдера, блокировка выставлена с стороны PearsonVUE, сайта нет в списках на блокировку Роскомнадзором.

Настройка VPN

У меня уже был RedShield VPN, который обычно показывал хорошие результаты, поэтому я решил использовать его для проверки системы. Однако столкнулся с проблемами. При выставлении европейских регионов (Германия, Нидерланды etc) проверка не проходила, так как скорость интернета была < 6 Мб/с. Это еще у меня проведено >100 Мб/с дома ?: VPN сильно урезал скорость. Причем такая проблема происходит не только у россиян: Reddit r/CompTIA: Anybody else have technical issues with OnVue network check? -- на Reddit множество постов с подобной проблемой. После указания региона на США проверка интернета стала проходить.

На рабочем столе ноутбука не должно быть ничего постороннего, кроме приложения PearsonVUE. Тем не менее программа не обнаруживает RedShield. Я решил не рисковать, поэтому перенес VPN на домашний роутер.

В день сдачи экзамена перестала проходить проверка интернета во время регистрации: смена региона с США на другие не помогала. Вариант с Reddit запустить speedtest и сразу же запустить internet check тоже не срабатывал (при этом кому-то это помогало, это чтобы понимать техническую составляющую программы ?). Десктопное приложение PearsonVUE само предложило перенести экзамен из-за технических неполадок, чем я и воспользовался.

Убрал VPN с роутера и поставил ExpressVPN на ноутбук. Тут тоже не без проблем: российские провайдеры блокируют большинство регионов ExpressVPN. Тем не менее через саппорт ExpressVPN можно узнать нужный регион, который не блокируется.

После установки ExpressVPN system check начал проходить стабильно. Бенчмарков не будет, на глаз, bandwidth у ExpressVPN сильно выше, чем у RedShield по speedtest ?

Я решил не ставить снова VPN на роутер: просто оставил открытым приложение при старте экзамена. Проктору во время экзамена было все равно. Но во время сдачи экзамена доступа к VPN не будет, как и ко все приложениям, кроме PearsonVUE, где будет проходить экзамен.

Вопросы экзамена

Я успел отрешать все за ~50 минут из 130 выделенных. Некоторые задания дают подсказки к ответу к другим заданиям. Поэтому разумно прорешать один раз и вернуться к вопросам, в которых сомневаешься (порой из-за двусмысленного условия).

Кажется что 60 вопросов на 130 минут -- это мало, тем не менее все вопросы и варианты ответов короткие. Думаю можно было сдать быстрее. Тем не менее это мой первый сертификат, поэтому решил не рисковать, так как времени было предостаточно ?

Результат

Экзамен успешно сдан, некоторые вопросы совпали с мок-экзаменами от Udemy практически один в один. Поэтому по-моему если вы понимаете как устроен Spring и отрешали все моки, то спокойно сдадите экзамен. Вопросы действительно простые, даже попался супер баянистый, уже классический, вопрос с собеседований:

// При использовании Spring AOP, сколько создастся транзакций при вызове `update1()`?

class ClientServiceImpl implements ClientService {

  @Transactional(propagation = REQUIRED)
  void update1() { 
    update2();
  }

  @Transactional(propagation = REQUIRES_NEW)
  void update2() {
    ...
  }
}

Если есть опыт работы с Spring, то немного теоретической подготовки и можно спокойно сдавать экзамен ?

Полезные материалы

Комментарии (5)