मैंने अभी-अभी Terraform Associate (004) पास किया है — काश मैं ये बातें पहले जानता
अगले दिन के ईमानदार नोट्स: कौन से प्रश्न आए, समय कहाँ जाता है, मैंने किन चीजों के लिए तैयारी की जो बाद में महत्वपूर्ण नहीं निकलीं, और मैंने किन चीजों को कम महत्व दिया।
मैंने कल Terraform Associate 004 की परीक्षा दी और पहली बार में ही पास कर ली। यह "यहाँ क्या पढ़ना है" वाली पोस्ट नहीं है — ऐसी बहुत सारी पोस्ट मौजूद हैं, जिनमें हमारी अपनी एक पोस्ट भी शामिल है। यह वह पोस्ट है जिसे मैं परीक्षा से एक रात पहले पढ़ना चाहता था, जब सब कुछ अभी भी ताजा है।
संदर्भ के लिए: मैं लगभग तीन साल से AWS पर Terraform लिख रहा हूँ, मुख्य रूप से एप्लिकेशन इंफ्रास्ट्रक्चर — VPCs, ECS, RDS, ALBs, जो सामान्य है — कभी-कभी HCP Terraform के साथ, लेकिन अधिक बार S3 + DynamoDB के साथ। मैंने 003 की परीक्षा बहुत पहले आधे-अधूरे ध्यान से दी थी और सोचा था कि 004 एक त्वरित रीफ्रेशर होगा। यह ज़्यादातर वैसा ही था, लेकिन कुछ खास बातों के साथ।
मैंने जिन चीज़ों के लिए रट्टा मारा, जिनकी मुझे आवश्यकता नहीं थी
परीक्षा से दो दिन पहले मैं कुछ विषयों पर गहराई से गया जो परीक्षण में लगभग शून्य निकले:
- Sentinel और OPA सिंटैक्स। मैंने खुद को समझा दिया था कि मुझे देखते ही Sentinel नियम को पहचानने की ज़रूरत है। केवल एक ही प्रश्न था जो पॉलिसी-एज़-कोड से संबंधित था, और वह वैचारिक था — "कौन सी सुविधा संगठनात्मक नीतियों को लागू करती है?" — जिसका उत्तर केवल यह जानने से दिया जा सकता था कि "Sentinel" शब्द मौजूद है।
- प्रोवाइडर प्लगइन प्रोटोकॉल संस्करण। शून्य प्रासंगिकता।
- हर
terraform stateसबकमांड को याद रखना। परीक्षाstate list,state mv, औरstate rmके बारे में परिदृश्यों में पूछती है। यदि आप समझते हैं कि हर एक सादी अंग्रेजी में क्या करता है, तो आपको फ़्लैग्स को रटने की ज़रूरत नहीं है। - HCP Terraform मूल्य निर्धारण स्तर। परीक्षा में नहीं था। परीक्षा HCP को वैचारिक रूप से मानती है।
अगर मुझे तैयारी का समय वापस मिल जाता, तो मैं इसे for_each बनाम count के अधिक अभ्यास में लगाता।
जिसने मुझे चौंका दिया
कुछ बातें जिनकी मैंने उम्मीद नहीं की थी:
नए 004 के प्रश्न सटीक रूप से पूछे गए थे। मैंने उम्मीद की थी कि "moved ब्लॉक क्या करता है?" जैसे हल्के सवाल आएंगे; इसके बजाय मुझे विशिष्ट परिदृश्य मिले जैसे "आपने एक रिसोर्स का नाम बदल दिया है और आप बिना किसी बाधा के उसकी स्थिति को बनाए रखना चाहते हैं — न्यूनतम वैध परिवर्तन कौन सा है?" जिसमें उत्तर विकल्पों में state mv इनवोकेशन और एक moved ब्लॉक दोनों शामिल थे। आपको उस मुहावरे को चुनना होगा जो वर्कफ़्लो में फिट बैठता है, न कि केवल यह पहचानना कि दोनों मौजूद हैं।
import ब्लॉक्स बनाम terraform import पर कई प्रश्न। मैंने आलस्यवश मान लिया था कि वे समान थे। परीक्षा ने मुझे याद दिलाया कि वे समान नहीं हैं — ब्लॉक घोषणात्मक है और plan के साथ एकीकृत होता है; CLI कमांड अनिवार्य है और तुरंत स्थिति को प्रभावित करता है। दो प्रश्नों ने विशेष रूप से यह परीक्षण किया कि क्या मुझे पता है कि कौन सा एक समीक्षणीय CI/CD वर्कफ़्लो में फिट बैठता है।
HCL प्रश्न अभ्यास परीक्षणों की तुलना में सघन थे। कई अभ्यास परीक्षाओं में आपको चार-पंक्ति का एक छोटा सा स्निपेट मिलता है। वास्तविक परीक्षा में कम से कम एक बार मुझे एक पंद्रह-पंक्ति का ब्लॉक दिया गया जिसमें एक dynamic एक resource के अंदर नेस्टेड था, जिसका अपना for_each बाहरी गणना को चला रहा था, और मुझसे बनाए गए रिसोर्स की संख्या का अनुमान लगाने के लिए कहा गया था। मुझे इसे दो बार पढ़ना पड़ा। 60-सेकंड-प्रति-प्रश्न की घड़ी के तहत HCL को ध्यान से पढ़ने के संज्ञानात्मक भार को कम मत आंकिए।
terraform test पर दो प्रश्न। मैंने लगभग इस अनुभाग को छोड़ दिया था क्योंकि अभ्यास परीक्षणों में इसका शायद ही कभी उल्लेख किया गया था। प्रश्न वैचारिक थे — कि .tftest.hcl मौजूद है, कि run ब्लॉक में अभिकथन होते हैं, कि आप यूनिट परीक्षणों के लिए प्रोवाइडरों को मॉक कर सकते हैं। डॉक्स पृष्ठ को सरसरी तौर पर पढ़ें; यह पर्याप्त है।
समय प्रबंधन ने मुझे लगभग भारी पड़ गया था
60 मिनट में 57 प्रश्न का मतलब प्रति प्रश्न एक मिनट से थोड़ा अधिक है। मैं तकनीकी सामग्री पर एक धीमा परीक्षण लेने वाला व्यक्ति हूँ क्योंकि मैं कोड को ध्यान से पढ़ता हूँ। मैंने 52वें मिनट में अपना पहला पास पूरा किया, जिसमें पांच प्रश्न समीक्षा के लिए चिह्नित थे। उन चिह्नित प्रश्नों में से दो पर मैं शब्दों को ज़्यादा सोच रहा था; उन्हें फिर से ताज़ा पढ़कर मैंने दोनों उत्तर बदल दिए — एक सही निकला, दूसरा मुझे लगता है कि मैंने गलत उत्तर में बदल दिया (घटना के बाद जानने का कोई तरीका नहीं है)।
जो काम आया: कोई भी प्रश्न जहाँ मैंने खुद को प्रश्न को दो बार से ज़्यादा पढ़ते हुए पाया, मैंने अपना सबसे अच्छा अनुमान लगाया, उसे चिह्नित किया और आगे बढ़ गया। एक ही प्रश्न पर चार मिनट तक न रुकें। यदि आप एक मिनट के बाद इसे नहीं जानते हैं, तो आप शायद तीन और मिनट के बाद भी इसे नहीं जानेंगे।
धीमे प्रश्न
एक विशिष्ट श्रेणी जिसने समय खाया: "इस स्थिति फ़ाइल आउटपुट को देखते हुए, terraform plan क्या दिखाएगा?" ये धीमे होते हैं क्योंकि आप मानसिक रूप से एक स्थिति भिन्नता से गुजरते हैं। उनमें से दो के लिए मैंने अनुकरण करने की कोशिश छोड़ दी, उत्तर विकल्पों को देखा, और सबसे अधिक संभावित टूटी हुई चीज़ को चुना (एक मामले में एक लापता टैग, दूसरे में एक बदला हुआ एट्रिब्यूट)। दोनों सही निकले। गहरी सिमुलेशन पर पैटर्न पहचान को प्राथमिकता दें, जब समय कम हो।
अगर मैं अपनी तैयारी दोबारा कर रहा होता, तो मैं वास्तव में क्या सलाह देता
जो मैं अब जानता हूँ, उसे देखते हुए, यहाँ पुनर्संतुलित बजट है:
- 40% अभ्यास प्रश्न। वास्तव में उन्हें समय सीमा के भीतर हल करें, वास्तव में गलत उत्तरों पर ध्यान दें।
- 25% HCL उदाहरणों को धीरे-धीरे पढ़ना। कुछ लिखें भी, लेकिन परीक्षा के दिन आपको जिस धाराप्रवाहता की आवश्यकता होती है वह पढ़ने की धाराप्रवाहता है, लिखने की नहीं।
- 15% स्थिति सिमेंटिक्स। स्थिति फ़ाइल में क्या है, लॉकिंग क्यों महत्वपूर्ण है,
moved/removed/importब्लॉक प्रत्येक क्या हल करते हैं। - 10% नई 004 सुविधाएँ अकेले में — वेरिएबल वैलिडेशन, पूर्व-शर्तें, क्षणभंगुर मान, केवल-लिखने वाले तर्क, HCP परियोजनाएं,
terraform test। - 10% बाकी सब कुछ — IaC अवधारणाएँ, Terraform का उद्देश्य, HCP अवलोकन।
जानबूझकर एक असंतुलित बजट। "बाकी सब कुछ" वाली श्रेणी में ज़्यादातर ऐसी चीज़ें हैं जो आप पहले से जानते हैं यदि आपने कुछ महीनों से ज़्यादा Terraform का उपयोग किया है।
जिन चीज़ों के महत्वपूर्ण होने की मैंने उम्मीद नहीं की थी, लेकिन वे थीं
- यह जानना कि
terraform fmtमौजूद है और यह क्या करता है। दो बार आया। एक गलत उत्तर यह था किfmtस्थिति को संशोधित करता है। - प्रोवाइडर संस्करण बाधाओं का सिंटैक्स।
~> 1.2और~> 1.2.0के बीच का अंतर (दूसरा पैच स्तर पर निराशावादी है — अधिक प्रतिबंधात्मक)। मैंने इसे सही किया लेकिन मैंने खुद को समझा दिया था कि इसका परीक्षण नहीं किया जाएगा। terraform init -upgradeऔरterraform init -reconfigureक्या करते हैं। मुझसे पूछा गया था कि बैकएंड ब्लॉक बदलने के बाद किसका उपयोग करना है। उत्तर-reconfigureहै।-jsonके साथterraform output। एक स्क्रिप्टिंग परिदृश्य में पूछा गया था कि कौन सा कमांड मशीन-पठनीय आउटपुट मान उत्पन्न करता है। यदि आपने इसका उपयोग किया है तो तुच्छ; यदि आपने नहीं किया है तो अनदेखा करना आसान है।
परीक्षा के बाद
PSI अंत में पास/फेल स्क्रीन दिखाता है (मुझे हरा चेक मार्क मिला; राहत)। डोमेन द्वारा पूर्ण स्कोर ब्रेकडाउन कुछ दिनों बाद ईमेल द्वारा आता है। एक बार जब आप इसे स्वीकार कर लेते हैं तो बैज आपके Credly खाते में दिखाई देता है। HashiCorp प्रमाणपत्र दो साल के लिए वैध होते हैं, इसलिए एक कैलेंडर रिमाइंडर सेट करें।
एक विक्रेता परीक्षा के बारे में जिस चीज़ को मैंने कम आंका वह यह है कि 60 मिनट का गहन ध्यान कितना थका देने वाला होता है। इसके बाद कोई मीटिंग शेड्यूल न करें। मैं घर आया और एक घंटे तक दीवार को देखता रहा।
यदि आपकी परीक्षा की तारीख करीब है, तो CertLabPro 004 बैंक से एक कोल्ड ब्लॉक चलाएं। अभ्यास में उच्च स्कोर के लिए अनुकूलन न करें — उन श्रेणियों को पकड़ने के लिए अनुकूलन करें जिन पर आप कमजोर हैं जबकि उन्हें ठीक करने के लिए अभी भी समय है।