DevOps EngineerJawaban Wawancara
Common Interview Questions
Saya merancang pipeline yang cepat, andal, dan aman. Tahapan biasanya meliputi: trigger kontrol sumber, caching dependensi, analisis statis (SAST, linting), pengujian unit dan integrasi, build dan containerisasi, pemindaian keamanan (pemindaian image container, audit dependensi), deployment ke staging, smoke test, dan gated deployment ke produksi. Saya menerapkan perlindungan cabang, mewajibkan tinjauan rekan, dan menegakkan semua pemeriksaan lulus sebelum merge. Pipeline-as-code (Jenkinsfile, GitHub Actions YAML) memastikan pipeline terversi bersama aplikasi.
Saya telah merancang dan mengoperasikan klaster Kubernetes di EKS, GKE, dan on-premises. Saya nyaman dengan konsep inti (Pods, Deployments, Services, ConfigMaps, Secrets, Ingress), pola tingkat menengah (StatefulSets, HorizontalPodAutoscaler, PodDisruptionBudgets), dan operasi klaster (upgrade, manajemen node group, RBAC). Saya menggunakan Helm untuk rilis templated dan ArgoCD untuk penyebaran berkelanjutan berbasis GitOps. Saya juga telah mengimplementasikan network policies, standar keamanan pod, dan OPA Gatekeeper untuk penegakan kebijakan.
Saya menggunakan Terraform sebagai alat IaC utama untuk sumber daya cloud — menulis kode modular yang dapat digunakan ulang dengan remote state di S3/GCS, penguncian state via DynamoDB/GCS locks, dan variabel spesifik lingkungan. Saya memversi semuanya di Git, menggunakan pull request untuk perubahan infrastruktur, dan mewajibkan persetujuan dari engineer kedua untuk perubahan produksi. Saya menjalankan terraform plan di CI sebelum setiap merge untuk menangkap perubahan yang tidak diinginkan. Untuk manajemen konfigurasi saya menggunakan Ansible. IaC tidak bisa ditawar untuk reproduksibilitas dan pemulihan bencana.
Saya mengimplementasikan tiga pilar observability: metrik (Prometheus, Datadog, CloudWatch), log (ELK stack, Loki, CloudWatch Logs), dan trace (Jaeger, Zipkin, AWS X-Ray). Saya mendefinisikan SLO untuk setiap layanan kritis dan membuat alerting berdasarkan SLO tersebut — bukan hanya ambang teknis yang mungkin tidak berkorelasi dengan pengalaman pengguna. Saya membuat runbook untuk setiap alert sehingga engineer on-call tahu cara merespons. Observability yang baik berarti bisa menjawab "apa yang salah dan mengapa" dalam hitungan menit, bukan jam.
Saya mengikuti proses respons insiden yang terstruktur. Saya menetapkan tingkat keparahan insiden (P1-P4), menunjuk incident commander dan communication lead. Tim engineering fokus pada mitigasi — rollback, scaling, atau menerapkan hotfix — bukan analisis akar penyebab selama insiden. Saya menyampaikan pembaruan status secara berkala kepada pemangku kepentingan. Setelah terselesaikan, kami melakukan post-mortem tanpa menyalahkan: rekonstruksi garis waktu, analisis akar penyebab menggunakan 5-Whys, dan item tindakan dengan pemilik serta tenggat waktu. Belajar dari insiden adalah bagaimana sistem menjadi matang.
Keamanan digeser ke kiri — diintegrasikan ke setiap tahapan pipeline, bukan ditambahkan di akhir. Saya mengimplementasikan SAST (Semgrep, SonarQube) di CI, SCA (Snyk, Dependabot) untuk kerentanan dependensi, pemindaian image container (Trivy, Twistlock), dan pemindaian IaC (Checkov, tfsec) di pull request. Saya mengelola rahasia melalui Vault atau AWS Secrets Manager — tidak pernah di variabel lingkungan atau kode. Saya menegakkan prinsip least-privilege IAM, menggunakan service accounts, dan mengaudit akses secara berkala. Keamanan adalah tanggung jawab engineering, bukan penyerahan ke InfoSec.
Blue-green: saya mempertahankan dua lingkungan produksi yang identik. Setelah melakukan deploy ke lingkungan yang tidak aktif dan menjalankan smoke test, saya mengalihkan lalu lintas melalui load balancer. Rollback adalah pengalihan lalu lintas — pemulihan hampir instan. Canary: saya mengarahkan persentase lalu lintas (biasanya 5–10% awalnya) ke versi baru dan memantau tingkat error, latensi, dan metrik bisnis terhadap baseline. Jika ambang dilampaui, saya melakukan rollback otomatis. Saya menggunakan feature flags bersama deployment canary untuk kontrol tambahan. Strategi yang tepat bergantung pada risiko perubahan.
Saya mengaudit utilisasi sumber daya secara berkala — instance menganggur, database yang terlalu besar, dan kapasitas reserved yang tidak digunakan adalah sumber pemborosan umum. Saya menerapkan autoscaling untuk menyesuaikan kapasitas dengan permintaan dan menggunakan instance spot/preemptible untuk beban kerja batch dan development. Saya menandai setiap sumber daya untuk alokasi biaya dan meninjau dashboard biaya setiap minggu dengan lead engineering. Saya menggunakan alat seperti AWS Cost Explorer, Infracost (di CI), dan CloudHealth untuk visibilitas dan deteksi anomali. Optimasi biaya adalah praktik engineering berkelanjutan, bukan proyek sekali jadi.
Siap membuat milik Anda?
Unggah CV dan deskripsi pekerjaan Anda untuk membuat versi yang disesuaikan dalam 60 detik.
Would you like suggested answers to expected questions for a job you've applied for?
Load your submitted CV and / or the job description