Как подготовиться к Terraform Associate (004), не заучивая всю спецификацию HCL
Что действительно поможет при подготовке к HashiCorp Terraform Associate 004 — и какие части подробного руководства можно спокойно пропустить.
Если вы изучали официальные цели Terraform Associate 004, то видели восемь доменов, кучу процентов и длинный список команд и языковых возможностей. Откройте в дополнение к этому подробный набор учебных материалов, и "всеобъемлющий" начнет превращаться в "пугающий". Экзамен состоит из 57 вопросов с множественным выбором за 60 минут, для прохождения требуется примерно 70% правильных ответов. Вы не можете запомнить все, и вам это не нужно.
Вот что действительно поможет.
Где начисляются баллы и куда уходит время
Цели экзамена распределяют вес следующим образом: Core Workflow (20%), HCL Configuration (20%), State Management (15%) и Modules (15%). Это 70% теста в четырех доменах. Остальные 30% распределены по пяти меньшим областям — концепции IaC, назначение Terraform, обслуживание и жизненный цикл, функции HCP Terraform, а также несколько разных мелочей.
Асимметрия, которую я вижу в подготовке большинства кандидатов, заключается в том, что они тратят примерно одинаковое время на каждый домен. Разделы, посвященные концепциям IaC и "назначению Terraform", составляют около 10% экзамена. Тратить четверть вашей подготовки на это — неправильное распределение ресурсов. Большинство людей, сдающих этот экзамен, уже знают, что такое IaC и почему мы перестали запускать команды CLI вручную. Просмотрите эти разделы, ответьте на пару простых вопросов, чтобы убедиться, что вы знакомы с терминологией, и двигайтесь дальше.
Куда я бы действительно инвестировал время:
- Core Workflow. Команды жизненного цикла, что на самом деле делает
initпод капотом, как читать выводplan, и различия между-replace,-refresh-onlyи обычнымapply. Это встречается в сценарных вопросах, где вы выбираете правильную команду для поставленной цели. - HCL — переменные, выражения, условия. Самый плотный домен. Здесь практика важнее чтения. Вы можете десять раз прочитать про
for_eachпротивcountи все равно запутаться, когда на экзамене впервые спросят: "что произойдет, если изменится ключ карты?" - State. Бекэнды, блокировка, рефакторинг с помощью блоков
movedи когда использоватьstate mvвместо нового декларативного блока рефакторинга. Экзамен любит проверять, знаете ли вы, какую проблему решает каждый инструмент. - Modules. Валидация входных данных, вывод значений, адреса источников и синтаксис ограничений версий. Различие между
~> 1.2и>= 1.0, < 2.0— вполне допустимый вопрос.
Если вы посвятите 70% своего времени подготовки этим четырем доменам, вы уже выиграли в математике.
Что нового в 004 (и как это проявляется в вопросах)
Ревизия 004 добавила или формализовала несколько функций. Они непропорционально часто встречаются на экзамене — вот почему HashiCorp вообще выпустил новую ревизию — но вопросы точные, а не расплывчатые. Несколько паттернов, которые стоит знать:
- Блоки
movedиremovedтестируются как альтернативыstate mvиstate rm. Экзамен спросит, какой идиоматический способ правильнее в CI/CD, а не просто что они делают. - Блоки
importтестируются в сравнении со старой императивной командойterraform import. Знайте рабочий процесс: напишите блок, запуститеplan, заполните соответствующую конфигурацию ресурса, снова запуститеplan, пока все не станет чисто. - Пользовательские условия встречаются в трех видах —
validationпеременной,preconditionжизненного цикла,postconditionжизненного цикла. Ожидайте вопросов, где вам нужно будет выбрать правильное для заявленной проверки. - Эфемерные значения + аргументы только для записи являются концептуальными на экзамене. Вам не нужно писать синтаксис с нуля; вам нужно распознать проблему, которую они решают (конфиденциальные данные, которые не должны сохраняться в состоянии).
- Проекты HCP Terraform против рабочих областей (workspaces) — проекты являются новым контейнером; один или два вопроса по взаимосвязи.
terraform test— фреймворк тестирования.tftest.hcl. Только на поверхностном уровне.
Распространенная ошибка — фокусироваться только на новом материале, потому что у него есть метка "новое". Новые вещи составляют, возможно, 10% от общего числа вопросов. Остальные 90% — это неизменные основы 003. Не пропускайте их, гоняясь за блестящими новинками.
Когда длинное руководство по изучению помогает, а когда вредит
Подробный набор учебных заметок — таких, которые мы поддерживаем на /cert/terraform-004 — является отличным справочником, но плохим основным текстом. Ловушка заключается в чтении его от начала до конца и ощущении продуктивности, при этом на самом деле не запоминая многого. Вот как эффективно использовать длинное руководство:
- Первый проход, 45–60 минут: читайте только заголовки, таблицы и выделенные "советы к экзамену". Усвойте структуру того, что охвачено, а не содержание.
- Второй проход: пройдите пробный экзамен "вхолодную", прежде чем приступать к глубокому изучению. Большинство ваших неправильных ответов будут сгруппированы в двух или трех поддоменах. Это ваш реальный список для изучения.
- Третий проход: глубоко изучите эти два или три раздела. Остальное читайте только по мере того, как будете сталкиваться с соответствующими неправильными ответами в последующих раундах практики.
Это инвертирует обычный рабочий процесс "прочитай все, затем тестируй" в "тестируй, узнай, что не знаешь, изучи только это, повтори". Именно так большинство знакомых мне старших инженеров готовятся к экзаменам от вендоров.
Практические вопросы: как их эффективно использовать
Практические тесты ценнее часов чтения, но только если вы анализируете неправильные ответы. Работающий шаблон:
- Пройдите блок из 25 практических вопросов в условиях ограниченного времени.
- Оцените его, не заглядывая в объяснения.
- Для каждого пропущенного вопроса напишите, почему вы его пропустили, прежде чем читать объяснение. Терминология? Краевой случай в жизненном цикле ресурса? Неправильно поняли семантику
for_each? - Прочитайте объяснение. Если ваша написанная причина совпадает, двигайтесь дальше. Если нет, вы обнаружили реальный пробел — пометьте его для повторного просмотра завтра.
Банк вопросов CertLabPro Terraform 004 (посмотреть здесь) содержит объяснения к каждому вопросу именно для такого цикла. Сам экзамен не предоставляет объяснений; подготовка — это то место, где вы их получаете.
Реалистичный бюджет времени
Для работающего инженера со средним опытом работы с Terraform честный бюджет времени таков:
- Уже уверенно работаете с
apply/plan/destroyи модулями: 15–20 часов в течение 1–2 недель. - Знакомы с синтаксисом, но не использовали Terraform в реальном продакшене: 30–40 часов в течение 3–4 недель.
- Совершенно новый в IaC: 60–80 часов в течение 6–8 недель. Рассмотрите возможность сдачи CLF-C02 или AZ-900 сначала, чтобы получить свободное владение облачными платформами — экзамен предполагает, что вы понимаете ресурсы, которые, возможно, никогда не создавали.
Наиболее распространенное переинвестирование — это заучивание синтаксиса HCL — ручное копирование каждого блока кода из учебных заметок. Пишите HCL во время учебы, конечно, но экзамен не просит вас по памяти воспроизвести блок dynamic. Он покажет вам его и спросит, что он делает. Скорость чтения является узким местом, а не скорость написания.
Итог
Экзамен Terraform Associate 004 справедлив, хорошо структурирован и ориентирован на практическое понимание. Относитесь к всеобъемлющим учебным заметкам как к справочнику; относитесь к практическим тестам как к фактическим тренировочным данным; относитесь к своему времени подготовки как к бюджету, который нужно распределить между четырьмя доминирующими областями. Пропустите маркетинговые главы. Потратьте сэкономленные часы на изучение реальных конфигураций Terraform.
Если вы начинаете сегодня, возьмите банк вопросов, пройдите блок из 25 вопросов "вхолодную" и составьте свой список для изучения, исходя из того, где вы действительно ошиблись.