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

Я хочу поделится тем, каким образом я подготовился к сертификации. Какого рода вопросы были. Насколько сложно это было для человека, который о СУБД не знал ничего и пользовался БД на уровне элементарных запросов, а так же не большая часть моих размышлений на тему того на сколько это вообще нужно.

Собственно проблема

У моего технического директора возникла замечательная по своей задумке идея - создать "кризисную" команду. Если описывать общими словами - это команда разработчиков, каждый член которой может закрывать широкий спектр задач разработки в используемом в нашей компании стеке - k8s, docker, vue, golang. Может общаться с заказчиком, собирать требования, и далее превращать их в подобие аналитики. А самое главное в сжатые сроки, возможно с переработками, решать критические задачи, но в спокойное время будет иметь возможность взять отдых. Что бы в нее попасть, нужно пройти ряд испытаний, первым из которых было наличие сертификата PostgresPro DBA-1, при чем в очень сжатые сроки примерно 1.5 месяца.

Стадии принятия

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

Что вас ожидает

Формат мероприятия:
50 вопросов с множественным выбором, а так-же вопросы в которых нужно напечатать ответ, на все задание отводится 75 минут. Можно пользоваться материалами курса и документацией.

Я сдавал программу DBA-1 (13), не так давно PostgresPro обновил материалы обучения и сами вопросы, теперь это DBA-1 (16), и сделали обзорной тему, с которой мне было тяжелее всего - "Управление доступом".

На самой сертификации, я выбрал следующую тактику - буду скипать вопросы, на которые не знаю ответа, отвечу на легкие, а затем вернусь, и пролистывая 20-й вопрос по счету, меня начала одолевать паника. У меня сразу в голове всплыл мем, и мне кажется он точно отражает, что вас ждет.

Ожидание -  суровая реальность
Ожидание - суровая реальность

1 попытка

Я готовился достаточно усердно, на протяжении месяца, я уделял 1,5-2 часа просмотру лекций, решению приложенных к ним задач, а так-же дополнительно придумывал какие-то задачи, и пытался решить их.

Приехал в Москву, ответил на вопросы, и в предвкушении победы, ждал 14:00 следующего дня (результат сообщают на следующий день). Получаю результат.

Результат первой попытки
Результат первой попытки

Напоминаю, проходной бал 75%. Тут мои руки опустились, и я забил на эту затею. В результате из 10 кандидатов в команду попал только 1 сотрудник.

2 попытка

Спустя 2 месяца, я все таки решился попытать свои силы снова.
Имея уже понимание о своих слабых местах, начал подготовку делая больший упор именно на эти темы.

Снова приехал в Москву. Уже более уверенный в своих силах, начал читать вопросы. Я ожидал увидеть вопросы не сильно отличающиеся от тех, что были первой сдаче, но как бы не так, они сильно изменились, их форма и содержание стали еще сложнее, паника снова накрыла меня. Это я потом узнал от организаторов, что при последующих сдачах форматы меняются, далее прямая цитата "вы же вопросы с первой сдачи уже отработали, конечно они не будут повторяться" и "не расстраивайтесь, по статистике DBA - 1 сдают с 3-го раза". Уверенный в провале полетел домой.

На следующий день пришел результат.

Результат второй попытки
Результат второй попытки

Как бы я готовился сейчас

"На халяву" сдать не получится, это нужно принять.

Я бы начал подготовку за 2-3 месяца до сертификации, и в день просматривал одну лекцию, и более внимательно относился к практическим заданиям. В них рассматривают только так называемый happy path, рассмотрите edge кейсы, сломайте и почините что-нибудь.

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

Не гуглите, не пользуйтесь GPT и прочими привычными источниками, ответы на любые вопросы ищите только в документации PostgresPro.

Вы можете открыть документацию 2-мя способами.

  • Открыть сам сайт с документацией

  • Скачать архив на устройство

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

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

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

Многие вопросы составлены с подковыркой, главное не попасться. Например, в вопросе был сделан огромный select из pg_class + какой-то join из таблицы pg_database и тд. выведен результат этого запроса, а сам вопрос звучал так. С какими БД был инициализирован кластер? Если вы уже посмотрели курс, или знаете postgres, то понимаете, что этот select нужен был, только что бы вас запутать.

А нужно ли?

Нужен или не нужен ему сертификат, каждый должен решить сам. Мне по большому счету, он нужен был для попадания в команду, кому-то нужен так как при трудоустройстве его просит работодатель. Сдавать только ради его наличия, я не вижу особого смысла. Если вы действительно мотивированы узнать что-то, я думаю вы сами будете все добросовестно изучать.

Для себя, я вынес огромную пользу, вообще я считаю, что эта сертификация не про Postgres как инструмент, а скорее про систему. Я узнал много архитектурных решений, которые принимались в СУБД, о которых не имел понятия, как обеспечивается транзакционость, что такое WAL - журналы, как хранятся данные, как система взаимодействует с ОС и т.д.

Надеюсь, моя статья поможет кому-то получить желанный сертификат.

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


  1. MultiGramen
    31.07.2024 20:44
    +2

    Спасибо Вам огромное, что написали эту статью, Вы добавили мне мотивации!

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

    Ситуация жизненная. Год назад я поступил на бакалавра по своей любимой специальности. Учусь я удалённо и уже давно выявил паттерны, по которым могу не напрягаясь получить оценку "удовлетворительно", но имеется большое желание получить эти знания.

    В целом обучение сейчас так и проходит — вы сами должны изучать то, что нужно.


    1. AidarNasibullin Автор
      31.07.2024 20:44

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


    1. menz1
      31.07.2024 20:44
      +1

      Сертификация нужна в двух случаях:

      1) повысить свою ценность на рынке (считай, легче находить работу или просить больше денег)

      2) консалтинговым компаниям предъявлять на тендер, чтобы его соответственно выиграть.

      Как проверку знаний я бы её не рассматривал, потому что далеко не все вопросы в сертификациях имеют реальное отношение к знаниям. Также слишком много разнородных сертификатов вызывает подозрения, а есть ли там знания. Все-таки в конечном счете, на первом месте общая адекватность, на втором опыт, а все остальное уже бонусы.


      1. AidarNasibullin Автор
        31.07.2024 20:44

        Полностью согласен, сертификат для работодателя какой никакой индикатор наличия хоть какого то понимания будущего сотрудника о СУБД, и как вы правильно выразились "общей адекватности"


        1. Sleuthhound
          31.07.2024 20:44
          +1

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


          1. AidarNasibullin Автор
            31.07.2024 20:44
            +1

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


            1. Sleuthhound
              31.07.2024 20:44

              Были те кто сдал на сертификат в пределах 1 года и не могли сказать простые вещи, типа что такое карта свободного пространства. Но были и те кто обладал знаниями большими чем описывает курс, и у них не было сертификатов. Тааадам. Выводы очевидны - практика + чтение теории для понимания решает многие вопросы.


              1. AidarNasibullin Автор
                31.07.2024 20:44

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


          1. Fox_exe
            31.07.2024 20:44

            Скорее всего "Эффект ЕГЭ" - вызубрили только вопросы-ответы, что были на сертификации, совершенно не вникая, что, зачем и как оно вообще работает. Естественно, за рамками вопросов с того "экзамена" они "плывут". (Я тоже на таких часто натыкаюсь)


            1. AidarNasibullin Автор
              31.07.2024 20:44

              Немного не соглашусь, вопросы как раз таки построены таким образом,что зубрежка не поможет, максимум в 20% вопросов. Но к сожалению, если нет практики,то все забывается)


        1. menz1
          31.07.2024 20:44
          +1

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


          1. AidarNasibullin Автор
            31.07.2024 20:44

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


          1. MultiGramen
            31.07.2024 20:44

            А что для Вас значит "человек со странностями"? Можно конкретнее?


  1. pluzanov
    31.07.2024 20:44
    +3

    Спасибо, что подробно описали свой опыт сертификации.

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

    Но небольшое уточнение внесу. Касательно последнего абзаца:

    Многие вопросы составлены с подковыркой, главное не попасться. Например, в вопросе был сделан огромный select из pg_class + какой-то join из таблицы pg_database и тд. выведен результат этого запроса, а сам вопрос звучал так. С какими БД был инициализирован кластер? Если вы уже посмотрели курс, или знаете postgres, то понимаете, что этот select нужен был, только что бы вас запутать.

    Я нашел этот вопрос. Вот он:

    Некоторые базы данных были созданы уже после инициализации кластера:
    
    \list
                                      List of databases
       Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
    -----------+----------+----------+-------------+-------------+-----------------------
     demo      | student  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
     postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
     student   | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
     template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
     template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
    (5 rows)
    
    Какие базы данных были созданы после инициализации кластера?
    

    В вопросе нет лишних, запутывающих, запросов. Возможно от стресса во время теста, Вы что-то не так запомнили. Но более важно, что ответили на этот вопрос правильно :-).

    Кстати, посмотрел Вашу первую попытку, в ней было как минимум два вопроса (-4%), где ответы даны зеркально противоположные. Т.е. скорее всего это следствие невнимательности чтения вопроса. И Вы это учли в своих рекомендациях.

    Удачи!


    1. AidarNasibullin Автор
      31.07.2024 20:44
      +1

      Спасибо за курс. Вы скромничаете, Вы были в главной роли этого курса) Действительно, в первый раз мои эмоции шли впереди каких то мыслительных процессов, и казалось, что времени очень мало. Но при наличии знаний, оказывается времени более чем достаточно, второй раз я уже вышел не дожидаясь окончания работы таймера.


  1. Ryav
    31.07.2024 20:44

    Не понял, а зачем автор ездил в Москву, онлайн сдать нельзя? И сколько стоит попытка, есть ли ограничения?