Learning Outcome & Exercises: Git, CI/CD & Cloud

2 câu hỏi~10 phút đọc, vài giờ làm labTừ khóa: learning outcome, Basic, Intermediate, Challenge, evidence

Tổng kết chương Git, CI/CD & Cloud: học xong mình phải làm được gì, và làm bài tập nào để chứng minh?

Đọc hiểu chưa đủ để đi phỏng vấn. Mỗi chương kết thúc bằng những việc làm được và chứng minh được: có code chạy, có test cho cả trường hợp lỗi, có log hoặc số đo. Bài tập nằm trong repo riêng java-backend-interview-labs, thư mục labs/devops.

1. Mục tiêu đầu ra

Học xong chương này, bạn tự làm được:

2. Basic: Git recovery

Trạng thái: ⬜ Chưa triển khai: chưa có code/test, chưa tính là hoàn thành

Tạo tình huống rebase hỏng / commit nhầm và khôi phục bằng reflog; ghi lại lệnh.

Bài liên quan: Git: merge, rebase, khôi phục

Hoàn thành khi:

3. Intermediate: CI pipeline

Trạng thái: ⬜ Chưa triển khai: chưa có code/test, chưa tính là hoàn thành

GitHub Actions cho repo labs: build + test mọi module đã triển khai; fail khi test fail.

Bài liên quan: CI pipeline, CD & zero-downtime

Hoàn thành khi:

4. Challenge: Terraform + cloud

Trạng thái: ⬜ Chưa triển khai: chưa có code/test, chưa tính là hoàn thành

Terraform tạo môi trường nhỏ (VPC/container service) với remote state; chỉ plan, không apply nếu chưa có tài khoản.

Bài liên quan: Terraform, AWS, Azure

Hoàn thành khi:

5. Tiêu chí hoàn thành chung

6. Lab và trạng thái

MứcBài tậpTrạng tháiTest / bằng chứng
BasicGit recovery⬜ Chưa triển khai: chưa có code/test, chưa tính là hoàn thành—
IntermediateCI pipeline⬜ Chưa triển khai: chưa có code/test, chưa tính là hoàn thành—
ChallengeTerraform + cloud⬜ Chưa triển khai: chưa có code/test, chưa tính là hoàn thành—

Repo lab: java-backend-interview-labs/labs/devops. TODO: link GitHub là placeholder cho tới khi repo được push.

Phỏng vấn hỏi về Git, CI/CD & Cloud, câu nào hay gặp nhất và trả lời sao?

Q1. Deploy zero-downtime cần những gì?

🇻🇳 Tiếng Việt:

Rolling hoặc blue-green, readiness probe để chỉ nhận traffic khi sẵn sàng, graceful shutdown để xử lý xong request đang chạy, và thay đổi database tương thích ngược (expand–contract).

🇬🇧 English:

A rolling or blue-green rollout, a readiness probe so new instances only get traffic when ready, graceful shutdown to finish in-flight requests, and backward-compatible database changes using expand and contract.

Cách nhớ ngắn gọn


Tự kiểm tra

Bài tập Basic (Git recovery) được coi là xong khi nào?

Script tái hiện + khôi phục. Chưa có code chạy và bằng chứng thì chưa tính là xong.

Bài tập Intermediate (CI pipeline) được coi là xong khi nào?

Workflow chạy trên GitHub (chưa có remote → TODO); Badge trạng thái. Chưa có code chạy và bằng chứng thì chưa tính là xong.

Bài tập Challenge (Terraform + cloud) được coi là xong khi nào?

terraform plan output; Không có credential trong repo. Chưa có code chạy và bằng chứng thì chưa tính là xong.