[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:devops-cloud\u002Fterraform-modules-workspaces":4,"config":255},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":151,"samples":171},"devops-cloud","DevOps \u002F Cloud","","terraform-modules-workspaces","Terraform Modules Workspaces","en",75,3375,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108,111,114,117,120,123,126,129,132,135,138,139,142,145,148],{"key":19,"name":20,"count":11},"aws-compute-ec2-lambda","Aws Compute Ec2 Lambda",{"key":22,"name":23,"count":11},"aws-databases-rds-dynamodb","Aws Databases Rds Dynamodb",{"key":25,"name":26,"count":11},"aws-iam-security","Aws Iam Security",{"key":28,"name":29,"count":11},"aws-messaging-eventing","Aws Messaging Eventing",{"key":31,"name":32,"count":11},"aws-networking-vpc","Aws Networking Vpc",{"key":34,"name":35,"count":11},"aws-storage-s3-ebs","Aws Storage S3 Ebs",{"key":37,"name":38,"count":11},"azure-compute-vm-appservice","Azure Compute Vm Appservice",{"key":40,"name":41,"count":11},"azure-databases-sql-cosmosdb","Azure Databases Sql Cosmosdb",{"key":43,"name":44,"count":11},"azure-iam-security","Azure Iam Security",{"key":46,"name":47,"count":11},"azure-messaging-eventing","Azure Messaging Eventing",{"key":49,"name":50,"count":11},"azure-networking-vnet","Azure Networking Vnet",{"key":52,"name":53,"count":11},"azure-storage-blob-managed-disk","Azure Storage Blob Managed Disk",{"key":55,"name":56,"count":11},"ci-cd-pipelines","Ci Cd Pipelines",{"key":58,"name":59,"count":11},"cloud-architecture-scaling","Cloud Architecture Scaling",{"key":61,"name":62,"count":11},"containers-orchestration","Containers Orchestration",{"key":64,"name":65,"count":11},"deployment-release-strategies","Deployment Release Strategies",{"key":67,"name":68,"count":11},"gcp-compute-gce-cloudrun","Gcp Compute Gce Cloudrun",{"key":70,"name":71,"count":11},"gcp-databases-cloudsql-spanner-firestore","Gcp Databases Cloudsql Spanner Firestore",{"key":73,"name":74,"count":11},"gcp-iam-security","Gcp Iam Security",{"key":76,"name":77,"count":11},"gcp-messaging-eventing","Gcp Messaging Eventing",{"key":79,"name":80,"count":11},"gcp-networking-vpc","Gcp Networking Vpc",{"key":82,"name":83,"count":11},"gcp-storage-gcs-persistent-disk","Gcp Storage Gcs Persistent Disk",{"key":85,"name":86,"count":11},"infrastructure-as-code","Infrastructure As Code",{"key":88,"name":89,"count":11},"k8s-config-secrets","K8s Config Secrets",{"key":91,"name":92,"count":11},"k8s-observability-troubleshooting","K8s Observability Troubleshooting",{"key":94,"name":95,"count":11},"k8s-scheduling-resources","K8s Scheduling Resources",{"key":97,"name":98,"count":11},"k8s-services-networking","K8s Services Networking",{"key":100,"name":101,"count":11},"k8s-storage","K8s Storage",{"key":103,"name":104,"count":11},"k8s-workloads","K8s Workloads",{"key":106,"name":107,"count":11},"linux-filesystem-permissions-links","Linux Filesystem Permissions Links",{"key":109,"name":110,"count":11},"linux-networking-tools-troubleshooting","Linux Networking Tools Troubleshooting",{"key":112,"name":113,"count":11},"linux-performance-monitoring-resource-limits","Linux Performance Monitoring Resource Limits",{"key":115,"name":116,"count":11},"linux-process-management-signals","Linux Process Management Signals",{"key":118,"name":119,"count":11},"linux-shell-scripting-ops-automation","Linux Shell Scripting Ops Automation",{"key":121,"name":122,"count":11},"linux-systemd-service-management","Linux Systemd Service Management",{"key":124,"name":125,"count":11},"networking-dns-loadbalancing","Networking Dns Loadbalancing",{"key":127,"name":128,"count":11},"observability-monitoring","Observability Monitoring",{"key":130,"name":131,"count":11},"reliability-incident-sre","Reliability Incident Sre",{"key":133,"name":134,"count":11},"security-iam-secrets","Security Iam Secrets",{"key":136,"name":137,"count":11},"terraform-hcl-language-expressions","Terraform Hcl Language Expressions",{"key":8,"name":9,"count":11},{"key":140,"name":141,"count":11},"terraform-plan-apply-drift-import","Terraform Plan Apply Drift Import",{"key":143,"name":144,"count":11},"terraform-providers-lifecycle-provisioners","Terraform Providers Lifecycle Provisioners",{"key":146,"name":147,"count":11},"terraform-state-backend-locking","Terraform State Backend Locking",{"key":149,"name":150,"count":11},"terraform-testing-policy-cicd","Terraform Testing Policy Cicd",[152,156,159,162,165,168],{"key":153,"name":154,"count":155},"aws","AWS",450,{"key":157,"name":158,"count":155},"azure","Azure",{"key":160,"name":161,"count":155},"gcp","GCP",{"key":163,"name":164,"count":155},"kubernetes","Kubernetes",{"key":166,"name":167,"count":155},"linux","Linux",{"key":169,"name":170,"count":155},"terraform","Terraform",[172,190,203,216,229,242],{"id":173,"topic":9,"difficulty":174,"body":175,"options":176,"correct_key":181,"explanation":189},"019f8ebc-dde9-711c-a0f2-643cb9046de3",1,"In Terraform, what is a module?",[177,180,183,186],{"key":178,"text":179},"a","A single provider block that configures cloud credentials",{"key":181,"text":182},"b","A reusable container that groups related resources together",{"key":184,"text":185},"c","A remote server that runs terraform apply on a schedule",{"key":187,"text":188},"d","A file that only stores the state of previously applied resources","A module is a container for one or more resource blocks (plus variables\u002Foutputs) that are grouped and used together as a reusable unit, so the same infrastructure pattern can be instantiated multiple times without copy-pasting resource definitions.",{"id":191,"topic":9,"difficulty":174,"body":192,"options":193,"correct_key":178,"explanation":202},"019f8ebc-ddea-7211-b28f-ec2b56519a4e","What is the 'root module' in a Terraform configuration?",[194,196,198,200],{"key":178,"text":195},"The configuration in the directory where Terraform commands are run",{"key":181,"text":197},"The very first module ever published to the Terraform Registry",{"key":184,"text":199},"A module that can never contain any resource blocks, only module calls",{"key":187,"text":201},"The module that stores the remote state backend credentials","The root module is the Terraform configuration in the directory where you run terraform commands. It is the entry point of an execution: it can define resources directly and\u002For call other modules (child modules) via module blocks.",{"id":204,"topic":9,"difficulty":174,"body":205,"options":206,"correct_key":184,"explanation":215},"019f8ebc-ddeb-711a-9dcc-50073e8c2184","What is the conventional minimal file layout for a reusable Terraform module?",[207,209,211,213],{"key":178,"text":208},"A single all.tf file containing everything, since Terraform does not support splitting configuration across files",{"key":181,"text":210},"provider.tf, backend.tf, and state.tf only",{"key":184,"text":212},"main.tf (resources), variables.tf (input variables), and outputs.tf (output values)",{"key":187,"text":214},"index.tf, package.json, and README.md, mirroring a typical npm package layout","By convention (not a hard requirement — Terraform loads all .tf files in a directory), a reusable module is organized as main.tf for resources, variables.tf for its input variables, and outputs.tf for its output values, making the module's public interface easy to find.",{"id":217,"topic":9,"difficulty":174,"body":218,"options":219,"correct_key":181,"explanation":228},"019f8ebc-ddec-7061-b68f-90cf0d673c63","What is the purpose of a `variable` block inside a module?",[220,222,224,226],{"key":178,"text":221},"To hardcode a fixed value that callers of the module can never change",{"key":181,"text":223},"To define an input the module accepts",{"key":184,"text":225},"To store the module's current state file location",{"key":187,"text":227},"To declare which cloud provider the module is allowed to run against","A `variable` block declares an input parameter for the module. The caller of the module supplies a value for it (in the module block's arguments), which lets the same module be reused with different settings across environments or resources.",{"id":230,"topic":9,"difficulty":174,"body":231,"options":232,"correct_key":187,"explanation":241},"019f8ebc-ddec-7c91-9a0a-04f1aea1484e","What is the purpose of an `output` block inside a module?",[233,235,237,239],{"key":178,"text":234},"To print debug information to the terminal during terraform plan only",{"key":181,"text":236},"To define which provider version the module requires",{"key":184,"text":238},"To permanently delete a resource once it is no longer needed",{"key":187,"text":240},"To expose a value from inside the module for outside reference","An `output` block exposes a value computed inside the module (such as a resource's generated ID or ARN) so that the root module, or another module wired to it, can reference that value — this is how information flows back out of a module.",{"id":243,"topic":9,"difficulty":174,"body":244,"options":245,"correct_key":178,"explanation":254},"019f8ebc-ddf1-747c-8ee1-3b3486980d43","Consider this snippet:\n```\nmodule \"network\" {\n  source = \".\u002Fmodules\u002Fnetwork\"\n  cidr   = \"10.0.0.0\u002F16\"\n}\n```\nWhat does this do?",[246,248,250,252],{"key":178,"text":247},"Calls the local module at .\u002Fmodules\u002Fnetwork, passing a `cidr` input value",{"key":181,"text":249},"Defines a new provider named `network` with a fixed CIDR range",{"key":184,"text":251},"Downloads a module named `network` from the public Terraform Registry",{"key":187,"text":253},"Creates a resource of type `module` with the id `network`","A `module` block instantiates a module: `source` tells Terraform where to find its configuration (here, a local relative path), and any other arguments (like `cidr`) are passed in as values for that module's declared input variables.",{"fields":256,"seniorities":429,"interview_shapes":430,"locales":435,"oauth":437,"question_count":440,"coach_enabled":441,"jd_match_enabled":441},[257,282,303,320,330,343,362,381,403,410,416,423],{"key":258,"name_tr":259,"name_en":259,"sort":174,"specializations":260},"backend","Backend",[261,264,267,270,273,276,279],{"key":262,"name":263,"field":258},"general","Genel",{"key":265,"name":266,"field":258},"go","Go",{"key":268,"name":269,"field":258},"python","Python",{"key":271,"name":272,"field":258},"java","Java",{"key":274,"name":275,"field":258},"csharp","C#\u002F.NET",{"key":277,"name":278,"field":258},"nodejs","Node.js",{"key":280,"name":281,"field":258},"php","PHP",{"key":283,"name_tr":284,"name_en":284,"sort":285,"specializations":286},"frontend","Frontend",2,[287,288,291,294,297,300],{"key":262,"name":263,"field":283},{"key":289,"name":290,"field":283},"javascript","JavaScript",{"key":292,"name":293,"field":283},"typescript","TypeScript",{"key":295,"name":296,"field":283},"react","React",{"key":298,"name":299,"field":283},"vue","Vue",{"key":301,"name":302,"field":283},"angular","Angular",{"key":304,"name_tr":305,"name_en":305,"sort":306,"specializations":307},"fullstack","Fullstack",3,[308,309,310,311,312,313,314,315,316,317,318,319],{"key":262,"name":263,"field":304},{"key":265,"name":266,"field":258},{"key":268,"name":269,"field":258},{"key":271,"name":272,"field":258},{"key":274,"name":275,"field":258},{"key":277,"name":278,"field":258},{"key":280,"name":281,"field":258},{"key":289,"name":290,"field":283},{"key":292,"name":293,"field":283},{"key":295,"name":296,"field":283},{"key":298,"name":299,"field":283},{"key":301,"name":302,"field":283},{"key":5,"name_tr":6,"name_en":6,"sort":321,"specializations":322},4,[323,324,325,326,327,328,329],{"key":262,"name":263,"field":5},{"key":153,"name":154,"field":5},{"key":160,"name":161,"field":5},{"key":157,"name":158,"field":5},{"key":163,"name":164,"field":5},{"key":169,"name":170,"field":5},{"key":166,"name":167,"field":5},{"key":331,"name_tr":332,"name_en":332,"sort":333,"specializations":334},"ai-engineer","AI Engineer",5,[335,336,337,340],{"key":262,"name":263,"field":331},{"key":268,"name":269,"field":331},{"key":338,"name":339,"field":331},"llm-rag","LLM\u002FRAG",{"key":341,"name":342,"field":331},"mlops","MLOps",{"key":344,"name_tr":345,"name_en":346,"sort":347,"specializations":348},"database","Veritabanı","Database",6,[349,350,353,356,359],{"key":262,"name":263,"field":344},{"key":351,"name":352,"field":344},"postgresql","PostgreSQL",{"key":354,"name":355,"field":344},"mysql","MySQL",{"key":357,"name":358,"field":344},"mongodb","MongoDB",{"key":360,"name":361,"field":344},"redis","Redis",{"key":363,"name_tr":364,"name_en":365,"sort":366,"specializations":367},"mobile","Mobil","Mobile",7,[368,369,372,375,378],{"key":262,"name":263,"field":363},{"key":370,"name":371,"field":363},"ios-swift","iOS (Swift)",{"key":373,"name":374,"field":363},"android-kotlin","Android (Kotlin)",{"key":376,"name":377,"field":363},"flutter","Flutter",{"key":379,"name":380,"field":363},"react-native","React Native",{"key":382,"name_tr":383,"name_en":384,"sort":385,"specializations":386},"security","Güvenlik","Security",8,[387,388,391,394,397,400],{"key":262,"name":263,"field":382},{"key":389,"name":390,"field":382},"appsec","AppSec",{"key":392,"name":393,"field":382},"offensive-pentest","Offensive \u002F Pentest",{"key":395,"name":396,"field":382},"cloud-security","Cloud Security",{"key":398,"name":399,"field":382},"devsecops","DevSecOps",{"key":401,"name":402,"field":382},"blue-team-incident","Blue Team \u002F Incident",{"key":404,"name_tr":405,"name_en":406,"sort":407,"specializations":408},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[409],{"key":262,"name":263,"field":404},{"key":411,"name_tr":412,"name_en":412,"sort":413,"specializations":414},"data-engineer","Data Engineer",10,[415],{"key":262,"name":263,"field":411},{"key":417,"name_tr":418,"name_en":419,"sort":420,"specializations":421},"game-dev","Oyun Geliştirme","Game Development",11,[422],{"key":262,"name":263,"field":417},{"key":424,"name_tr":425,"name_en":425,"sort":426,"specializations":427},"ml-engineer","ML Engineer",12,[428],{"key":262,"name":263,"field":424},[14,15,16],{"junior":431,"mid":433,"senior":434},{"questions":432,"median_sec":3},20,{"questions":432,"median_sec":3},{"questions":432,"median_sec":3},[436,10],"tr",[438,439],"google","github",21750,true]