[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr: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","tr",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,"Infrastructure as Code (IaC) temelde nedir?",[177,180,183,186],{"key":178,"text":179},"a","Her sunucu değişikliğini operasyon ekibinin tamamı için ortak bir wiki sayfasında elle belgelemek",{"key":181,"text":182},"b","Altyapıyı version-controlled, makine tarafından okunabilir tanım dosyalarıyla yönetmek ve provision etmek",{"key":184,"text":185},"c","Konsoldan tek tek tıklayarak her kaynağı oluşturup her adımın ekran görüntüsünü ayrı ayrı kaydetmek",{"key":187,"text":188},"d","Sunucu log çıktısını sistem konfigürasyonunun birincil kaynağı olarak kullanmak","IaC, altyapının (sunucu, ağ, veritabanı vb.) bir aracın okuyup uygulayacağı metin tabanlı dosyalarla tanımlanması demektir; böylece provisioning tekrarlanabilir olur ve versiyon kontrolünde izlenebilir. (a) yanlış çünkü wiki sayfası makine tarafından okunabilir değil ve otomatik uygulanmaz — birinin adımları elle doğru tekrarlamasına bağlıdır.",{"id":191,"topic":9,"difficulty":174,"body":192,"options":193,"correct_key":187,"explanation":202},"019f56bb-b942-74ec-bba5-61e043ee418d","Ekiplerin IaC benimsemesinden elde ettiği temel pratik fayda nedir?",[194,196,198,200],{"key":178,"text":195},"Fiziksel sunucuların otomatik olarak daha hızlı çalışması",{"key":181,"text":197},"Ağ gecikmesinin otomatik olarak sıfıra indirilmesi",{"key":184,"text":199},"Uygulama kodundaki bug'ların otomatik olarak tespit edilip sorumlu mühendise bildirilmesi",{"key":187,"text":201},"Aynı ortamı tutarlı şekilde yeniden oluşturabilme ve değişiklik geçmişini versiyon kontrolünde izleyebilme","IaC'nin temel değeri tekrarlanabilirlik ve izlenebilirliktir: aynı tanımlar tekrar uygulanarak aynı ortam elde edilir ve her değişiklik gözden geçirilebilir, geri alınabilir bir commit'tir. (a) yanlış çünkü IaC altyapının nasıl yönetildiğini değiştirir, donanımın fiziksel veya ağ performansını değil.",{"id":204,"topic":9,"difficulty":174,"body":205,"options":206,"correct_key":178,"explanation":215},"019f56bb-b942-7b7d-8198-65903cb0ec47","Declarative bir IaC aracı ile imperative bir script arasındaki temel fark nedir?",[207,209,211,213],{"key":178,"text":208},"Declarative istenen son durumu tanımlar; imperative ise çalıştırılacak komutları sırasıyla belirtir",{"key":181,"text":210},"Declarative yalnızca GUI üzerinden, imperative yalnızca CLI üzerinden çalışır",{"key":184,"text":212},"Declarative sadece bulut sağlayıcılarında, imperative yalnızca on-premise ortamlarda çalışır",{"key":187,"text":214},"Declarative kaynakları hiç değiştirmez sadece okur, imperative kaynakları oluşturur","Declarative araçlar (ör. Terraform, CloudFormation) 'ne' istediğinizi tanımlamanızı sağlar ve adımlara aracın kendisi karar verir; imperative script'ler 'nasıl'ı, yani sıralı komutları tanımlar. (b) yanlış — declarative\u002Fimperative ayrımı state'in nasıl ifade edildiğiyle ilgilidir, GUI\u002FCLI ile değil.",{"id":217,"topic":9,"difficulty":174,"body":218,"options":219,"correct_key":184,"explanation":228},"019f56bb-b943-71bb-a2c7-60815d38c5d0","IaC bağlamında 'idempotency' ne anlama gelir?",[220,222,224,226],{"key":178,"text":221},"Her çalıştırmada kaynakların sıfırdan yeniden oluşturulması gerektiği anlamına gelir",{"key":181,"text":223},"Aracın yalnızca bir kez çalıştırılabileceği, ikinci çalıştırmanın her zaman hata vereceği anlamına gelir",{"key":184,"text":225},"Aynı işlemi tekrar tekrar uygulamak aynı sonucu verir, desired state'e ulaşılınca ek değişiklik olmaz",{"key":187,"text":227},"Aracın yaptığı değişikliklerin uygulandıktan sonra hiçbir ortamda asla geri alınamayacağı anlamına gelir","Idempotency, aynı apply\u002Fplaybook'un tekrar çalıştırılmasının güvenli olması demektir: araç mevcut durumu kontrol eder ve yalnızca desired state'ten gerçekten farklı olanı değiştirir. (a) yanlış — her çalıştırmada her şeyi sıfırdan yeniden oluşturmak idempotent davranışın tam tersidir, gereksiz ve yıkıcı olurdu.",{"id":230,"topic":9,"difficulty":174,"body":231,"options":232,"correct_key":181,"explanation":241},"019f56bb-b943-7620-9394-5a759f6feeac","IaC araçlarında 'desired state' ve 'current state' kavramları neyi ifade eder?",[233,235,237,239],{"key":178,"text":234},"Desired state geçmişteki bir değişiklik, current state bir sonraki planlanan değişikliktir",{"key":181,"text":236},"Desired state kodda tanımlanan hedef; current state ise altyapının o an gerçekte bulunduğu durumdur",{"key":184,"text":238},"Desired state test ortamı, current state ise production ortamı anlamına gelir",{"key":187,"text":240},"Desired state mühendisin tercih ettiği bulut sağlayıcısı, current state ise aktif faturalama planıdır","IaC araçları, kodda tanımlanan desired state ile gerçek altyapının (genellikle bir state dosyası veya canlı API çağrılarıyla izlenen) current state'ini karşılaştırarak neyin değişmesi gerektiğini hesaplar. (a) yanlış çünkü her iki terim de bir konfigürasyon anlık görüntüsünü tanımlar, geçmiş\u002Fgelecek zaman çizelgesini değil.",{"id":243,"topic":9,"difficulty":174,"body":244,"options":245,"correct_key":187,"explanation":254},"019f56bb-b943-7c86-8616-9670be1cc34c","Ekibe yeni katılan bir mühendis, diğerleriyle aynı geliştirme ortamına ihtiyaç duyuyor. İki gün boyunca sunucuları elle yapılandırmak yerine ne yapmalı?",[246,248,250,252],{"key":178,"text":247},"Var olan bir sunucunun tüm disk image'ını fiziksel olarak veri merkezindeki yepyeni donanıma kopyalamalı",{"key":181,"text":249},"Production ortamına doğrudan erişim alıp değişiklikleri orada test etmeli",{"key":184,"text":251},"Diğer mühendislerin ekranlarını izleyip aynı adımları elle tekrarlamalı",{"key":187,"text":253},"Ekibin sürüm kontrolündeki IaC tanımlarını çalıştırarak aynı ortamı otomatik olarak yeniden kurmalı","IaC'nin önemli bir faydası hızlı ve tutarlı onboarding'dir: aynı izlenen tanımların çalıştırılması, elle ve hataya açık tekrar olmadan ortamı yeniden üretir. (a) yanlış — disk image kopyalamak kırılgan, geçici bir çözümdür, tekrarlanabilir ve denetlenebilir bir süreç değildir.",{"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},[10,436],"en",[438,439],"google","github",21750,true]