[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:devops-cloud\u002Finfrastructure-as-code":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","","infrastructure-as-code","Infrastructure As Code","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,85,88,91,94,97,100,103,106,109,112,115,118,121,124,127,130,133,136,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":8,"name":9,"count":11},{"key":86,"name":87,"count":11},"k8s-config-secrets","K8s Config Secrets",{"key":89,"name":90,"count":11},"k8s-observability-troubleshooting","K8s Observability Troubleshooting",{"key":92,"name":93,"count":11},"k8s-scheduling-resources","K8s Scheduling Resources",{"key":95,"name":96,"count":11},"k8s-services-networking","K8s Services Networking",{"key":98,"name":99,"count":11},"k8s-storage","K8s Storage",{"key":101,"name":102,"count":11},"k8s-workloads","K8s Workloads",{"key":104,"name":105,"count":11},"linux-filesystem-permissions-links","Linux Filesystem Permissions Links",{"key":107,"name":108,"count":11},"linux-networking-tools-troubleshooting","Linux Networking Tools Troubleshooting",{"key":110,"name":111,"count":11},"linux-performance-monitoring-resource-limits","Linux Performance Monitoring Resource Limits",{"key":113,"name":114,"count":11},"linux-process-management-signals","Linux Process Management Signals",{"key":116,"name":117,"count":11},"linux-shell-scripting-ops-automation","Linux Shell Scripting Ops Automation",{"key":119,"name":120,"count":11},"linux-systemd-service-management","Linux Systemd Service Management",{"key":122,"name":123,"count":11},"networking-dns-loadbalancing","Networking Dns Loadbalancing",{"key":125,"name":126,"count":11},"observability-monitoring","Observability Monitoring",{"key":128,"name":129,"count":11},"reliability-incident-sre","Reliability Incident Sre",{"key":131,"name":132,"count":11},"security-iam-secrets","Security Iam Secrets",{"key":134,"name":135,"count":11},"terraform-hcl-language-expressions","Terraform Hcl Language Expressions",{"key":137,"name":138,"count":11},"terraform-modules-workspaces","Terraform Modules Workspaces",{"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},"019f56bb-b941-7c55-a50d-f318980b3e74",1,"What is Infrastructure as Code (IaC), at its core?",[177,180,183,186],{"key":178,"text":179},"a","Documenting every server change by hand on a shared wiki page for the whole operations team to follow",{"key":181,"text":182},"b","Managing and provisioning infrastructure through version-controlled, machine-readable definition files",{"key":184,"text":185},"c","Clicking through a cloud console to create each resource one by one and saving screenshots of every step",{"key":187,"text":188},"d","Treating server log output as the primary source of system configuration","IaC means infrastructure (servers, networks, databases, etc.) is defined in text files that a tool reads and applies, so provisioning is repeatable and can be tracked in version control. (a) is wrong because a wiki page is not machine-readable or automatically applied — it still relies on someone manually repeating steps correctly.",{"id":191,"topic":9,"difficulty":174,"body":192,"options":193,"correct_key":187,"explanation":202},"019f56bb-b942-74ec-bba5-61e043ee418d","What is the main practical benefit teams get from adopting IaC?",[194,196,198,200],{"key":178,"text":195},"Physical servers automatically running faster",{"key":181,"text":197},"Network latency being automatically reduced to zero",{"key":184,"text":199},"Bugs in application code being automatically detected and reported to the responsible engineer",{"key":187,"text":201},"Recreating the same environment consistently and tracking change history in version control","IaC's core value is reproducibility and traceability: the same definitions can be re-applied to get the same environment, and every change is a reviewable, revertible commit. (a) is wrong because IaC changes how infrastructure is managed, not the physical or network performance of the hardware itself.",{"id":204,"topic":9,"difficulty":174,"body":205,"options":206,"correct_key":178,"explanation":215},"019f56bb-b942-7b7d-8198-65903cb0ec47","What is the fundamental difference between a declarative IaC tool and an imperative script?",[207,209,211,213],{"key":178,"text":208},"Declarative defines the desired end state; imperative specifies the exact ordered commands to run",{"key":181,"text":210},"Declarative only works through a GUI, imperative only works through a CLI",{"key":184,"text":212},"Declarative only works with cloud providers, imperative only works on-premise",{"key":187,"text":214},"Declarative never modifies resources and only reads them, imperative creates resources","Declarative tools (e.g. Terraform, CloudFormation) let you describe 'what' you want and the tool figures out the steps; imperative scripts describe 'how', i.e. exact ordered commands. (b) is wrong — the declarative\u002Fimperative distinction is about how state is expressed, not about GUI vs CLI.",{"id":217,"topic":9,"difficulty":174,"body":218,"options":219,"correct_key":184,"explanation":228},"019f56bb-b943-71bb-a2c7-60815d38c5d0","What does 'idempotency' mean in the context of IaC?",[220,222,224,226],{"key":178,"text":221},"Resources must be recreated from scratch on every single run",{"key":181,"text":223},"The tool can only be run once; a second run always errors",{"key":184,"text":225},"Applying the same operation repeatedly gives the same result, with no extra change once desired state is reached",{"key":187,"text":227},"Changes made by the tool can never be rolled back once applied, regardless of the environment","Idempotency means re-running the same apply\u002Fplaybook is safe: the tool checks current state and only changes what actually differs from the desired state. (a) is wrong — recreating everything from scratch on every run is the opposite of idempotent behavior, it would be wasteful and destructive.",{"id":230,"topic":9,"difficulty":174,"body":231,"options":232,"correct_key":181,"explanation":241},"019f56bb-b943-7620-9394-5a759f6feeac","In IaC tools, what do the terms 'desired state' and 'current state' refer to?",[233,235,237,239],{"key":178,"text":234},"Desired state is a past change, current state is the next planned change",{"key":181,"text":236},"Desired state is the target described in code; current state is what actually exists now",{"key":184,"text":238},"Desired state means the test environment, current state means production",{"key":187,"text":240},"Desired state is the engineer's preferred cloud provider, current state is the active billing plan","IaC tools compare the desired state (declared in code) with the current state (real infrastructure, often tracked via a state file or live API calls) to compute what needs to change. (a) is wrong because both terms describe a snapshot of configuration, not a timeline of past\u002Ffuture changes.",{"id":243,"topic":9,"difficulty":174,"body":244,"options":245,"correct_key":187,"explanation":254},"019f56bb-b943-7c86-8616-9670be1cc34c","A new engineer joins the team and needs an identical development environment to the rest of the team. What should they do instead of manually configuring servers for two days?",[246,248,250,252],{"key":178,"text":247},"Physically copy an existing server's entire disk image onto brand new hardware in the data center",{"key":181,"text":249},"Get direct access to production and test changes there instead",{"key":184,"text":251},"Watch other engineers' screens and manually repeat the same steps",{"key":187,"text":253},"Run the team's version-controlled IaC definitions to rebuild the same environment automatically","A key benefit of IaC is fast, consistent onboarding: running the same tracked definitions reproduces the environment without manual, error-prone repetition. (a) is wrong — copying a disk image is a fragile, ad-hoc workaround, not a repeatable, auditable process.",{"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]