[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:devops-cloud\u002Fk8s-services-networking":4,"config":256},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","","k8s-services-networking","K8s Services Networking","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,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":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":8,"name":9,"count":11},{"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,217,230,243],{"id":173,"topic":9,"difficulty":174,"body":175,"options":176,"correct_key":184,"explanation":189},"019f651a-7d45-7d97-86cf-30ae60ea7f40",1,"How does a Kubernetes Service decide which Pods belong to it?",[177,180,183,186],{"key":178,"text":179},"a","It matches Pods that were created by the same Deployment name",{"key":181,"text":182},"b","It matches Pods running on the same Node as the Service",{"key":184,"text":185},"c","It matches Pods whose labels satisfy its label selector",{"key":187,"text":188},"d","It matches Pods listed by name in the Service's manifest","A Service's `spec.selector` is a label selector: any Pod carrying labels that match it is included as a backend, regardless of which controller created it or which Node it runs on.",{"id":191,"topic":9,"difficulty":174,"body":192,"options":193,"correct_key":181,"explanation":202},"019f651a-7d46-74e7-b6bf-fbf76cdaa787","A Deployment's rolling update replaces all Pods with new ones (new names, new IPs). What happens to clients connecting to the Service in front of them?",[194,196,198,200],{"key":178,"text":195},"Clients get connection errors until they manually refresh the Service's ClusterIP",{"key":181,"text":197},"Clients keep using the same stable Service ClusterIP\u002FDNS name",{"key":184,"text":199},"The Service is automatically recreated with a new ClusterIP after every rollout",{"key":187,"text":201},"Clients must switch to the new Pods' individual IP addresses","The Service's ClusterIP and DNS name stay fixed for the Service's lifetime. As old Pods are replaced, the Service's endpoint list is updated to point at the new Pods, so clients never need to know individual Pod IPs.",{"id":204,"topic":9,"difficulty":205,"body":206,"options":207,"correct_key":178,"explanation":216},"019f651a-7d47-7634-b5dd-f248d1256d30",2,"```yaml\napiVersion: v1\nkind: Service\nmetadata:\n  name: web-svc\nspec:\n  selector:\n    app: web\n  ports:\n    - port: 80\n      targetPort: 80\n```\nAfter applying this alongside a Deployment whose Pods carry the label `app: web`, `kubectl get endpoints web-svc` is run. What does it show?",[208,210,212,214],{"key":178,"text":209},"The Pod IP:port pairs of every ready Pod matching `app: web`",{"key":181,"text":211},"The single ClusterIP assigned to web-svc",{"key":184,"text":213},"The Deployment name and its current replica count",{"key":187,"text":215},"An empty list until a NodePort or LoadBalancer is also created","The Endpoints object (and its EndpointSlice equivalent) is populated by the endpoint controller with the IP:port of each Pod that matches the Service's selector and is currently ready — this was confirmed live: `kubectl get endpoints web-svc` returned `10.244.0.6:80,10.244.0.7:80,10.244.0.8:80` for three ready Pods.",{"id":218,"topic":9,"difficulty":205,"body":219,"options":220,"correct_key":187,"explanation":229},"019f651a-7d47-7f10-b466-770a592feac2","A Deployment has 3 replicas behind a Service. One Pod's readiness probe starts failing, but the container keeps running (it is not restarted). What do `kubectl get pods` and the Service's endpoint list show?",[221,223,225,227],{"key":178,"text":222},"The Pod disappears from `kubectl get pods`, and the Service routes to only 2 Pods",{"key":181,"text":224},"The Pod restarts automatically, and the Service keeps routing to all 3 Pods",{"key":184,"text":226},"The Pod shows as `Running` with a new IP, and the Service adds a 4th endpoint",{"key":187,"text":228},"The Pod still shows `Running` (`0\u002F1` ready), but is dropped from the endpoint list","This was reproduced live: a Pod whose readiness probe failed stayed `Running` in `kubectl get pods` (ready count dropped to `0\u002F1`), while `kubectl get endpoints web-svc` shrank from 3 addresses to 2 — the container isn't restarted by a failing readiness probe, but the Service stops sending it traffic.",{"id":231,"topic":9,"difficulty":205,"body":232,"options":233,"correct_key":181,"explanation":242},"019f651a-7d48-7797-acd5-1e8ddfe314bf","A Service's selector is `app: web`, but someone patches it to `app: nonexistent` while the backing Pods still carry `app: web`. What happens to the Service?",[234,236,238,240],{"key":178,"text":235},"The Service is automatically deleted since it has no valid backends",{"key":181,"text":237},"The Service keeps its ClusterIP, but its endpoint list becomes empty",{"key":184,"text":239},"The Service falls back to matching all Pods in the namespace",{"key":187,"text":241},"The Service keeps its old endpoints until the Pods are restarted","This was reproduced live: patching `web-svc`'s selector to a label no Pod has produced `kubectl get endpoints web-svc` showing no addresses and `kubectl describe svc` showing an empty `Endpoints:` line — the Service object itself and its ClusterIP are untouched, only the endpoint list is recalculated.",{"id":244,"topic":9,"difficulty":174,"body":245,"options":246,"correct_key":178,"explanation":255},"019f651a-7d49-7057-a332-58827c2f3fdb","By default (without specifying `type`), what kind of Service does Kubernetes create?",[247,249,251,253],{"key":178,"text":248},"ClusterIP — reachable only from inside the cluster",{"key":181,"text":250},"NodePort — reachable on every Node's IP at a fixed port",{"key":184,"text":252},"LoadBalancer — provisions an external cloud load balancer",{"key":187,"text":254},"ExternalName — a DNS alias to an external hostname","`ClusterIP` is the default Service type: it gets a stable virtual IP routable only within the cluster's network, which is exactly what most in-cluster service-to-service traffic needs.",{"fields":257,"seniorities":429,"interview_shapes":430,"locales":435,"oauth":437,"question_count":440,"coach_enabled":441,"jd_match_enabled":441},[258,283,303,320,330,343,362,381,403,410,416,423],{"key":259,"name_tr":260,"name_en":260,"sort":174,"specializations":261},"backend","Backend",[262,265,268,271,274,277,280],{"key":263,"name":264,"field":259},"general","Genel",{"key":266,"name":267,"field":259},"go","Go",{"key":269,"name":270,"field":259},"python","Python",{"key":272,"name":273,"field":259},"java","Java",{"key":275,"name":276,"field":259},"csharp","C#\u002F.NET",{"key":278,"name":279,"field":259},"nodejs","Node.js",{"key":281,"name":282,"field":259},"php","PHP",{"key":284,"name_tr":285,"name_en":285,"sort":205,"specializations":286},"frontend","Frontend",[287,288,291,294,297,300],{"key":263,"name":264,"field":284},{"key":289,"name":290,"field":284},"javascript","JavaScript",{"key":292,"name":293,"field":284},"typescript","TypeScript",{"key":295,"name":296,"field":284},"react","React",{"key":298,"name":299,"field":284},"vue","Vue",{"key":301,"name":302,"field":284},"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":263,"name":264,"field":304},{"key":266,"name":267,"field":259},{"key":269,"name":270,"field":259},{"key":272,"name":273,"field":259},{"key":275,"name":276,"field":259},{"key":278,"name":279,"field":259},{"key":281,"name":282,"field":259},{"key":289,"name":290,"field":284},{"key":292,"name":293,"field":284},{"key":295,"name":296,"field":284},{"key":298,"name":299,"field":284},{"key":301,"name":302,"field":284},{"key":5,"name_tr":6,"name_en":6,"sort":321,"specializations":322},4,[323,324,325,326,327,328,329],{"key":263,"name":264,"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":263,"name":264,"field":331},{"key":269,"name":270,"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":263,"name":264,"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":263,"name":264,"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":263,"name":264,"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":263,"name":264,"field":404},{"key":411,"name_tr":412,"name_en":412,"sort":413,"specializations":414},"data-engineer","Data Engineer",10,[415],{"key":263,"name":264,"field":411},{"key":417,"name_tr":418,"name_en":419,"sort":420,"specializations":421},"game-dev","Oyun Geliştirme","Game Development",11,[422],{"key":263,"name":264,"field":417},{"key":424,"name_tr":425,"name_en":425,"sort":426,"specializations":427},"ml-engineer","ML Engineer",12,[428],{"key":263,"name":264,"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]