Top 5 câu hỏi phỏng vấn Devops Engineer thường gặp và cách trả lời

3286

Những kỹ năng và tố chất nào cần có khi tham dự hoặc ứng tuyển phỏng vấn Devops Engineer? Với vai trò là Senior Devops Engineer, bạn chịu trách nhiệm phát triển và quản lý cơ sở hạ tầng công nghệ của công ty.

Điều này bao gồm giám sát, triển khai các hệ thống phần mềm, đảm bảo tính ổn định của hệ thống, khả năng vận hành. Ngoài ra bạn còn phải đáp ứng tính bảo mật cho toàn hệ thống. Giám sát và nâng cao hiệu quả sử dụng của hệ thống.

Bài viết này liệt kê 5 câu hỏi phỏng vấn, ở phần đầu tiên các câu hỏi chủ yếu liên quan tới kĩ thuật và các khái niệm liên quan tới vị trí Devops Engineer. Tuy nhiên, để trở thành Senior Devops Engineer và ứng tuyển thành công, bạn cũng cần rèn luyện các kỹ năng khác. Cụ thể như kỹ năng giao tiếp, giải quyết vấn đề, xử lý sự cố và làm việc nhóm.

Phỏng vấn devops engineer Không có Devops Engineer như anh món ăn các chú liệu có ngon được không?. LOL

Bắt đầu ngay và luôn cho nóng.

1. Virtual Private Cloud (VNet) là gì?

Câu hỏi đầu tiên phỏng vấn Devops Engineer liên quan tới khái niệm. Cụ thể ở đây là Virtual Private Cloud (VNet). Cái này hẳn là anh em nào đã từng làm hoặc từng tìm hiểu về vị trí Devops Engineer đã nghe tới. Vậy VPC là gì?

Các nhà cung cấp dịch vụ Cloud như AWS, Google Cloud, Azure cho phép Devops Engineer kiểm soát chi tiết trên mạng máy tính bao gồm các thành phần và tài nguyên. Trong Azure, họ dùng khái niệm VNet, với Google Cloud Enginer và AWS lại gọi là VPC.

1.1 Amazon

1.2 Google Cloud

Phía Google Cloud lại định nghĩa VPC rõ ràng hơn như sau:

Phỏng vấn devops engineer

Một số câu hỏi anh em có thể chuẩn bị thêm:

  • Anh em xây dựng Hybrid Cloud như thế nào?
  • Làm cách nào để hạn chế giao tiếp giữa các Kubernetes Pods?
  DevOps là gì? Cần học gì để trở thành DevOps

2. CNI là gì? Làm sao sử dụng CNI trong Kubernetes

Câu hỏi thứ hai phỏng vấn Devops Engineer vẫn liên quan tới khái niệm. Cụ thể ở đây là CNI (Container Network Interface).

CNI có hai lệnh chính là add (thêm) và delete (xoá). Cấu hình này được chuyển vào dưới dạng dữ liệu JSON. Khi plugin CNI được thêm vào, một cặp thiết bị ảo (virtual device pair) sẽ được tạo và kết nối giữa các Pod và Host. Sau đó, khi IP và routes đã được thiết lập, thông tin sẽ trả về máy chủ API Kubernetes.

Phỏng vấn devops engineer

Ở các phiển CNI sau này, một tính năng quan trọng được thêm vào, đó là khả năng kết nối giữa các CNI plugins.

$ mkdir -p /etc/cni/net.d
$ cat >/etc/cni/net.d/10-mynet.conf <<EOF
{
	"cniVersion": "0.2.0",
	"name": "mynet",
	"type": "bridge",
	"bridge": "cni0",
	"isGateway": true,
	"ipMasq": true,
	"ipam": {
		"type": "host-local",
		"subnet": "10.22.0.0/16",
		"routes": [
			{ "dst": "0.0.0.0/0" }
		]
	}
}
EOF
$ cat >/etc/cni/net.d/99-loopback.conf <<EOF
{
	"cniVersion": "0.2.0",
	"name": "lo",
	"type": "loopback"
}
EOF

Một số câu hỏi khác anh em cũng có thể chuẩn bị:

  • Container giao tiếp với nhau như thế nào trong Kubernetes?
  • Giải thích về IaC và Configuration Management

  8 Bước Trong Lộ Trình Trở Thành DevOps Engineer

3. CI và CD khác nhau như thế nào?

Câu hỏi thứ 3 phỏng vấn Devops Engineer tưởng dễ với nhiều anh em. Nhưng để nêu được tất cả sự khác nhau giữa CI và CD đòi hỏi anh em cần tổng hợp lại kiến thức. Kinh nghiệm làm việc thực tế cũng có thể đem vào để trả lời những câu hỏi như thế này.

Đầu tiên là CI

3.1 Continuous integration

CI là một quy trình được phát triển nhằm tự động hoá việc phát triển và xây dựng phần mềm. Với CI, các development team có thể merge source liên tục hằng ngày, kiểm thử và kiểm tra các tính năng trước khi đem tới cho end user.

Mục tiêu chính của CI là cung cấp giải pháp nhất quán, cho phép kiểm thử, triển khai liên tục. Cứ đẩy code lên là CI hoạt động. Đối với CI, ở một số giai đoạn từ development qua tới production vẫn có thể có tác động của con người. Một số công đoạn cần phải được duyệt hoặc được kiểm tra bằng tay.

3.2 Continuous deployment

Phỏng vấn devops engineer

Một số câu hỏi anh em có thể chuẩn bị thêm:

  • Bạn biết những deployment pattern nào?

Tham khảo việc làm DevOps hấp dẫn trên TopDev

4. Centralized logging solution là gì?

Câu hỏi thứ 4 phỏng vấn Devops Engineer liên quan tới logging, thứ thường xuyên được sử dụng với Devops Engineer.

Logging solutions sử dụng để theo dõi tình trạng (health) của hệ thống. Các event (sự kiện), chỉ số (metrics) sẽ được ghi lại cụ thể. Với các tình trạng bất ổn hoặc bất thường của hệ thống. Từ những dữ liệu đã có sẵn, ghi lại thông qua hệ thống cảnh bảo.

Quay trở lại với Centralized logging (log tập trung). Thông thường các giải pháp open source logging như Elasticsearch-Kibana-Logstash (EKL) sử dụng cơ chế stack để lưu trữ log. Thông thường bao gồm 3 phần:

  • Storage component (Elasticsearch) – Thành phần lưu trữ
  • Log hoặc metric (số liệu), thường là Logstash hoặc Fluentd. Phần này chịu trách nhiệm cập nhật một lượng lớn dữ liệu. Thêm xoá sửa hoặc lưu trữ metadata.
  • Trực quan hoá (visualization) là giải pháp trực quan hoá số liệu hoặc thông tin đã được lưu trữ. Cung cấp cái nhìn trực quan, trực tiếp với các số liệu đã có. Dễ dàng cho người quản lý, bảo hành và bảo trì hệ thống.

  Mẫu bảng mô tả công việc lập trình Devops

Devops Engineer

5. Bạn thành thạo những ngôn ngữ lập trình nào?

Câu hỏi cuối cùng phỏng vấn Devops Engineer tuy không liên quan tới các khái niệm thường hay sử dụng nhưng lại là câu hỏi thường được hay hỏi.

Bản thân là Devops Engineer điều cần thiết là anh em phải biết và thành thạo ít nhất là một ngôn ngữ lập trình. Có các kiến thức nền về ngôn ngữ lập trình giúp anh em dễ dàng tìm ra lỗi. Ngoài ra việc tuỳ biến cũng trở nên dễ dàng hơn.

Đơn cử như Jenkins sử dụng core nền là Java. Python hay PowerShell cũng là ngôn ngữ anh em có thể cân nhắc học. Việc nắm bắt kiến thức nền về ngôn ngữ lập trình cũng giúp cho anh em học và triển khai các ứng dụng dễ dàng hơn. Bản thân CI, CD không khó, nhưng tuỳ vào từng ngôn ngữ, cách thức build source hay cách thức triển khai của từng loại ngôn ngữ sẽ có điểm khác nhau. Chính vì vậy, giỏi hoặc hiểu biết về ngôn ngữ lập trình nào anh em cứ thoải mái show ra.

Devops Engineer

Một số câu hỏi anh em có thể chuẩn bị:

  • Bạn giao tiếp với các thành viên khác trong development team như thế nào?
  • Bạn có kinh nghiệm làm việc với large code base không?
  • Bạn có kinh nghiệm làm việc với automation deployment tools nào?

6. Tham khảo thêm phỏng vấn Devops Engineer

Nếu băn khoăn về lộ trình trở thành Devops Engineer, anh em có thể tham khảo thêm

Chúc anh em phỏng vấn devops engineer thành công tốt đẹp.

Cảm ơn anh em đã đọc bài – Thank you for your time – Happy coding!

Tác giả: Kiên Nguyễn

Xem thêm: 

Xem thêm việc làm IT tại TopDev!