Skip to content

Latest commit

 

History

History
39 lines (39 loc) · 1.69 KB

File metadata and controls

39 lines (39 loc) · 1.69 KB

Scenario Your company manages a legacy monolithic application developed in Java (Spring Boot), currently deployed on a VM with Tomcat and managed manually. The application is business-critical and receives frequent updates. The team has decided to:

  • Containerize the application.
  • Deploy it on Kubernetes.
  • Adopt DevOps practices to improve the software lifecycle. Candidate Objectives The candidate should describe how they would approach the project, covering the following areas:
  1. Containerization
  • How would you structure the Dockerfile?
  • How would you handle external configurations (e.g., environment variables, secrets)?
  • How would you optimize the image for production?
  1. Deployment on Kubernetes
  • Which kind of manifests would you create? (Deployment, Service, ConfigMap, Secret, Ingress, etc.)
  • How would you manage scalability and high availability?
  • How would you monitor the application's health?
  1. DevOps Practices
  • How would you set up a CI/CD pipeline?
  • How would you handle automated testing and versioning?
  • How would you implement rollback in case of failure?
  1. Observability & Logging
  • Which tools would you use for logging and monitoring?
  • How would you ensure end-to-end visibility? C2 General
  1. Security & Compliance
  • How would you securely manage secrets?
  • How would you implement access control on Kubernetes?
  • How would you ensure compliance? The application includes a module that communicates with a PostgreSQL database. How would you manage data persistence on Kubernetes? And backups? Evaluation Criteria
  • Ability to abstract and design solutions.
  • Knowledge of tools and DevOps best practices.
  • Approach to security and resilience.
  • Communication and clarity of explanation.