50 câu hỏi và câu trả lời phỏng vấn DevOps hàng đầu (PDF)
Dưới đây là các câu hỏi và câu trả lời phỏng vấn DevOps dành cho những ứng viên mới ra trường cũng như có kinh nghiệm để có được công việc mơ ước của họ.
Câu hỏi và câu trả lời phỏng vấn DevOps dành cho người mới
1) Giải thích DevOps là gì?
Đây là một thuật ngữ mới nổi trong lĩnh vực CNTT, không gì khác ngoài một phương pháp nhấn mạnh sự cộng tác và giao tiếp của cả nhà phát triển phần mềm và nhóm triển khai (vận hành). Nó tập trung vào việc cung cấp sản phẩm phần mềm nhanh hơn và giảm tỷ lệ lỗi khi phát hành.
👉 Tải xuống bản PDF miễn phí: Câu hỏi và trả lời phỏng vấn DevOps >>
2) Đề cập đến các khía cạnh hoặc nguyên tắc chính đằng sau DevOps là gì?
Các khía cạnh hoặc nguyên tắc chính đằng sau DevOps là
- Cơ sở hạ tầng như mã
- Triển khai liên tục
- Tự động hóa
- Giám sát
- Bảo mật
3) Hoạt động cốt lõi của DevOps với phát triển ứng dụng và cơ sở hạ tầng là gì?
Hoạt động cốt lõi của DevOps là
Phát triển ứng dụng
- Xây dựng mã
- Mã số bảo hiểm
- Kiểm tra đơn vị
- Bao bì
- Triển khai
Cơ sở hạ tầng
- Cung cấp
- Cấu hình
- Dàn nhạc
- Triển khai
4) Giải thích cách “Mã cơ sở hạ tầng” được xử lý hoặc thực thi trong AWS?
Trong AWS,
- Mã cho cơ sở hạ tầng sẽ ở định dạng JSON đơn giản
- Mã JSON này sẽ được sắp xếp thành các tệp có tên là mẫu
- Mẫu này có thể được triển khai trên các nhà phát triển AWS và sau đó được quản lý dưới dạng ngăn xếp
- Later dịch vụ CloudFormation sẽ thực hiện thao tác Tạo, xóa, cập nhật, v.v. trong ngăn xếp
5) Giải thích ngôn ngữ kịch bản nào là quan trọng nhất đối với kỹ sư DevOps?
Một ngôn ngữ kịch bản đơn giản hơn sẽ tốt hơn cho kỹ sư DevOps. Python có vẻ rất phổ biến.
6) Giải thích DevOps hữu ích như thế nào đối với nhà phát triển?
DevOps có thể hữu ích cho các nhà phát triển trong việc sửa lỗi và triển khai các tính năng mới một cách nhanh chóng. Nó cũng giúp giao tiếp rõ ràng hơn giữa các thành viên trong nhóm.
7) Liệt kê một số công cụ phổ biến dành cho DevOps?
Một số công cụ phổ biến dành cho DevOps là
- Jenkins
- Nagios
- Monit
- ELK (Elaticsearch, Logstash, Kibana)
- Jenkins
- phu bến tàu
- Có khả năng
- đi
8) Đề cập đến trường hợp nào bạn đã sử dụng SSH?
Tôi đã sử dụng SSH để đăng nhập vào máy từ xa và làm việc trên dòng lệnh. Ngoài ra, tôi cũng đã sử dụng nó để đào đường hầm vào hệ thống nhằm tạo điều kiện thuận lợi cho việc liên lạc được mã hóa an toàn giữa hai máy chủ không đáng tin cậy qua một mạng không an toàn.
9) Giải thích cách bạn xử lý việc kiểm soát sửa đổi (phiên bản)?
Cách tiếp cận của tôi để xử lý kiểm soát sửa đổi là đăng mã lên SourceForge hoặc GitHub để mọi người có thể xem mã đó. Ngoài ra, tôi sẽ đăng danh sách kiểm tra từ lần sửa đổi gần đây nhất để đảm bảo rằng mọi vấn đề chưa được giải quyết đều được giải quyết.
10) Các loại yêu cầu http là gì?
Các loại yêu cầu Http là
- GET
- TRỤ
- PUT
- POST
- VÁ
- DELETE
- TRACE
- KẾT NỐI
- LỰA CHỌN
11) Giải thích những gì bạn sẽ kiểm tra Nếu máy chủ xây dựng Linux đột nhiên bắt đầu chạy chậm?
Nếu máy chủ xây dựng Linux đột nhiên bắt đầu chậm, bạn sẽ kiểm tra ba điều sau
Khắc phục sự cố cấp ứng dụng | Các sự cố liên quan đến RAM, sự cố đọc-ghi đĩa I/O, sự cố liên quan đến dung lượng ổ đĩa, v.v. |
Khắc phục sự cố cấp hệ thống | Kiểm tra tệp nhật ký ứng dụng HOẶC tệp nhật ký máy chủ ứng dụng, sự cố hiệu suất hệ thống, Nhật ký máy chủ web – kiểm tra nhật ký HTTP, tomcat lo, jboss hoặc WebLogic để xem liệu thời gian phản hồi/nhận của máy chủ ứng dụng có phải là vấn đề gây chậm, Rò rỉ bộ nhớ hay không ứng dụng |
Khắc phục sự cố dịch vụ phụ thuộc | Các vấn đề liên quan đến phần mềm chống vi-rút, các vấn đề liên quan đến Tường lửa, các vấn đề về Mạng, các vấn đề về thời gian phản hồi của máy chủ SMTP, v.v. |
12) Các thành phần chính của DevOps là gì?
Đây là một số quan trọng Các giai đoạn của vòng đời DevOps:
- Sự phát triển không ngừng
- Hội nhập liên tục
- Kiểm tra liên tục
- Triển khai liên tục
- Giám sát liên tục
- Phản hồi liên tục
- liên tiếp Operations
13) Kể tên một số nền tảng đám mây được sử dụng để triển khai DevOps
Nền tảng điện toán đám mây phổ biến được sử dụng để triển khai DevOps là:
- Google Cloud
- Amazon Dịch vụ website
- Microsoft Azure
14) Đưa ra một số lợi ích của việc sử dụng hệ thống Kiểm soát phiên bản
- Hệ thống Kiểm soát phiên bản cho phép các thành viên trong nhóm làm việc tự do trên bất kỳ tệp nào vào bất kỳ lúc nào.
- Tất cả các phiên bản và biến thể trước đây đều được đóng gói chặt chẽ bên trong VCS.
- Giống như VCS phân tán giúp bạn lưu trữ toàn bộ lịch sử của dự án để trong trường hợp xảy ra sự cố ở máy chủ trung tâm, bạn có thể sử dụng kho lưu trữ Git cục bộ của thành viên nhóm của mình.
- Cho phép bạn xem những thay đổi chính xác được thực hiện trong nội dung của tệp
15) Giải thích Git Bisect
Git bisect giúp bạn tìm ra cam kết gây ra lỗi khi sử dụng tìm kiếm nhị phân.
16) Công trình là gì?
Bản dựng là một phương pháp trong đó mã nguồn được kết hợp với nhau để kiểm tra xem nó có hoạt động như một đơn vị duy nhất hay không. Trong quá trình tạo bản dựng, mã nguồn sẽ trải qua quá trình biên dịch, kiểm tra, thử nghiệm và triển khai.
17) Con rối là gì?
Múa rối là một công cụ quản lý dự án hữu ích. Nó giúp bạn tự động hóa các nhiệm vụ quản trị.
18) Giải thích xác thực hai yếu tố
Xác thực hai yếu tố là một phương thức bảo mật trong đó người dùng cung cấp hai cách nhận dạng từ các danh mục riêng biệt.
19) Giải thích thuật ngữ 'Canary Giải phóng'.
Bản phát hành canary là một mẫu giúp giảm thiểu rủi ro khi đưa phần mềm phiên bản mới vào môi trường sản xuất. Nó được thực hiện bằng cách cung cấp phần mềm theo cách có kiểm soát cho một nhóm người dùng. Trước khi cung cấp cho toàn bộ nhóm người dùng.
20) Những loại thử nghiệm nào là quan trọng để đảm bảo rằng dịch vụ mới đã sẵn sàng để đưa vào sản xuất?
Bạn cần tiến hành thử nghiệm liên tục để đảm bảo rằng dịch vụ mới đã sẵn sàng để đưa vào sản xuất.
Câu hỏi và câu trả lời phỏng vấn DevOps dành cho người có kinh nghiệm
21) Vagrant là gì?
Vagrant là một công cụ có thể tạo và quản lý môi trường ảo hóa để thử nghiệm và phát triển phần mềm.
22) Việc sử dụng PTR trong DNS là gì?
Bản ghi con trỏ còn được gọi là (PTR) được sử dụng để tra cứu DNS ngược.
23) Đầu bếp là gì?
Nó là một nền tảng tự động hóa mạnh mẽ giúp chuyển đổi cơ sở hạ tầng thành mã. Trong công cụ này, bạn có thể sử dụng các tập lệnh ghi được sử dụng để tự động hóa các quy trình.
24) Điều kiện tiên quyết để triển khai DevOps là gì?
Sau đây là các điều kiện tiên quyết hữu ích cho việc triển khai DevOps:
- Ít nhất một Phần mềm kiểm soát phiên bản
- Giao tiếp đúng đắn giữa các thành viên trong nhóm
- Kiểm tra tự động
- Triển khai tự động
25) Kể tên một số phương pháp hay nhất cần tuân theo để thành công với DevOps.
Dưới đây là các phương pháp hay nhất cần thiết để triển khai DevOps:
- Tốc độ phân phối có nghĩa là thời gian cần thiết để bất kỳ nhiệm vụ nào đưa chúng vào môi trường sản xuất.
- Theo dõi có bao nhiêu khiếm khuyết được tìm thấy trong các sản phẩm khác nhau
- Điều quan trọng là phải đo thời gian thực tế hoặc trung bình cần thiết để phục hồi trong trường hợp xảy ra lỗi trong môi trường sản xuất.
- Số lượng lỗi được khách hàng báo cáo cũng ảnh hưởng đến chất lượng của ứng dụng.
26) Giải thích công cụ SubGIt
SubGit giúp bạn di chuyển SVN sang Git. Nó cũng cho phép bạn xây dựng một bản sao Git có thể ghi của kho lưu trữ Subversion cục bộ hoặc từ xa.
27) Kể tên một số công cụ giám sát mạng quan trọng
Một số công cụ giám sát mạng nổi bật nhất là:
- Splunk
- Icinga 2
- Wireshark
- Nagios
- OpenNMS
28) Card màn hình của bạn có thể chạy được không Unity làm sao bạn biết?
Khi bạn sử dụng lệnh
/usr/lib/Linux/unity_support_test-p
nó sẽ cung cấp đầu ra chi tiết về Unityyêu cầu của 's và nếu đáp ứng được thì card video của bạn có thể chạy Unity.
29) Giải thích cách bật âm thanh khởi động trong Ubuntu?
Để bật âm thanh khởi động
- Bấm vào thiết bị điều khiển rồi bấm vào Ứng dụng Khởi động
- Trong tạp chí Tùy chọn ứng dụng khởi động cửa sổ, nhấp Thêm để thêm một mục
- Sau đó điền thông tin vào các ô bình luận như Tên, Lệnh và Bình luận
/usr/bin/canberra-gtk-play—id= "desktop-login"—description= "play login sound"
- Đăng xuất và sau đó đăng nhập khi bạn hoàn tất
Bạn cũng có thể mở nó bằng phím tắt Ctrl+Alt+T
.
30) Cách nhanh nhất để mở một Ubuntu terminal trong một thư mục cụ thể?
Để mở một Ubuntu terminal trong một thư mục cụ thể, bạn có thể sử dụng phím tắt tùy chỉnh trên bàn phím.
Để làm điều đó, trong trường lệnh của bàn phím tùy chỉnh mới, hãy nhập genom – terminal – – Working – folder = /path/to/dir.
31) Giải thích cách bạn có thể lấy màu hiện tại của màn hình hiện tại trên Ubuntu máy tính để bàn?
Bạn có thể mở hình nền trong The Gimp (trình chỉnh sửa hình ảnh) rồi sử dụng công cụ nhỏ giọt để chọn màu trên một điểm cụ thể. Nó cung cấp cho bạn giá trị RGB của màu tại thời điểm đó.
32) Giải thích cách bạn tạo các trình khởi chạy trên máy tính để bàn trong Ubuntu?
Để tạo launcher trên máy tính để bàn trong Ubuntu bạn có thể dùng
ALT+F2 sau đó gõ ” gnome-desktop-item-edit –create-new~/desktop,” nó sẽ khởi chạy hộp thoại GUI cũ và tạo trình khởi chạy trên màn hình của bạn
33) Giải thích Memcached là gì?
Memcached là một hệ thống lưu trữ đệm đối tượng bộ nhớ phân tán, hiệu suất cao, mã nguồn mở và miễn phí. Mục tiêu chính của Memcached là tăng thời gian phản hồi cho dữ liệu mà nếu không có Memcached có thể được khôi phục hoặc xây dựng từ một số nguồn hoặc cơ sở dữ liệu khác. Nó được sử dụng để tránh nhu cầu vận hành cơ sở dữ liệu SQL hoặc một nguồn khác lặp đi lặp lại để tìm nạp dữ liệu cho một yêu cầu đồng thời.
Memcached có thể được sử dụng để
- Mạng xã hội->Bộ nhớ đệm hồ sơ
- Tổng hợp nội dung-> Bộ nhớ đệm HTML/Trang
- Nhắm mục tiêu quảng cáo-> Theo dõi cookie/hồ sơ
- Mối quan hệ->Bộ nhớ đệm phiên
- Thương mại điện tử -> Bộ nhớ đệm phiên và HTML
- Dịch vụ dựa trên vị trí-> Chia tỷ lệ truy vấn cơ sở dữ liệu
- Chơi game và giải trí->Bộ nhớ đệm phiên
Memcache giúp trong
- Tăng tốc quá trình ứng dụng
- Nó xác định những gì cần lưu trữ và những gì không
- Giảm số lượng yêu cầu truy xuất tới cơ sở dữ liệu
- Cắt giảm quyền truy cập I/O (Đầu vào/Đầu ra) (đĩa cứng)
Nhược điểm của Memcached là
- Nó không phải là một kho lưu trữ dữ liệu liên tục
- Không phải là cơ sở dữ liệu
- Nó không phải là một ứng dụng cụ thể
- Nó không thể lưu trữ đối tượng lớn
34) Nêu một số tính năng quan trọng của Memcached?
Các tính năng quan trọng của Memcached bao gồm
- Mã thông báo CAS: Mã thông báo CAS được gắn vào một đối tượng được lấy từ bộ đệm. Bạn có thể sử dụng mã thông báo đó để lưu đối tượng đã cập nhật của mình.
- Gọi lại: Nó đơn giản hóa mã
- bị trì hoãn: Nó làm giảm thời gian trễ của tập lệnh đang chờ kết quả từ máy chủ
- Giao thức nhị phân: Bạn có thể sử dụng giao thức nhị phân thay vì ASCII với máy khách mới hơn
- Igbinary: Trước đây, khách hàng thường thực hiện tuần tự hóa giá trị với dữ liệu phức tạp, nhưng với Memcached, bạn có thể sử dụng tùy chọn igbinary.
Câu hỏi và câu trả lời phỏng vấn DevOps cho hơn 5 trải nghiệm
35) Giải thích liệu có thể chia sẻ một phiên bản Memcache giữa nhiều dự án hay không?
Có, có thể chia sẻ một phiên bản Memcache duy nhất giữa nhiều dự án. Memcache là không gian lưu trữ bộ nhớ và bạn có thể chạy memcache trên một hoặc nhiều máy chủ. Bạn cũng có thể định cấu hình ứng dụng khách của mình để giao tiếp với một nhóm phiên bản cụ thể. Vì vậy, bạn có thể chạy hai quy trình Memcache khác nhau trên cùng một máy chủ nhưng chúng hoàn toàn độc lập. Trừ khi, nếu bạn đã phân vùng dữ liệu của mình, thì điều cần thiết là phải biết lấy dữ liệu từ hoặc đưa vào trường hợp nào.
36) Bạn đang có nhiều máy chủ Memcache, trong đó một trong các máy chủ memcache bị lỗi và nó có dữ liệu của bạn, liệu nó có cố lấy dữ liệu chính từ một máy chủ bị lỗi đó không?
Dữ liệu trong máy chủ bị lỗi sẽ không bị xóa nhưng có một điều khoản dành cho lỗi tự động mà bạn có thể định cấu hình cho nhiều nút. Chuyển đổi dự phòng có thể được kích hoạt trong bất kỳ lỗi cấp độ ổ cắm hoặc máy chủ Memcached nào chứ không phải trong các lỗi máy khách tiêu chuẩn như thêm khóa hiện có, v.v.
37) Giải thích cách bạn có thể giảm thiểu tình trạng ngừng hoạt động của máy chủ Memcached?
- Khi một phiên bản bị lỗi, một vài phiên bản trong số đó sẽ ngừng hoạt động và điều này sẽ gây ra tải lớn hơn cho máy chủ cơ sở dữ liệu khi dữ liệu bị mất được tải lại khi khách hàng đưa ra yêu cầu. Để tránh điều này, nếu mã của bạn được viết để giảm thiểu tình trạng đóng dấu bộ đệm thì nó sẽ để lại tác động tối thiểu
- Một cách khác là hiển thị phiên bản Memcached trên máy mới bằng địa chỉ IP của máy bị mất
- Mã này là một tùy chọn khác để giảm thiểu tình trạng ngừng hoạt động của máy chủ vì nó cho phép bạn tự do thay đổi danh sách máy chủ Memcached mà không cần tốn nhiều công sức
- Đặt giá trị thời gian chờ là một tùy chọn khác mà một số máy khách Memcached triển khai khi máy chủ Memcached ngừng hoạt động. Khi máy chủ Memcached của bạn ngừng hoạt động, máy khách sẽ tiếp tục cố gắng gửi yêu cầu cho đến khi đạt đến giới hạn thời gian chờ
38) Giải thích cách cập nhật Memcached khi dữ liệu thay đổi?
Khi dữ liệu thay đổi bạn có thể cập nhật Memcached bằng
- Xóa bộ nhớ đệm một cách chủ động: Xóa bộ nhớ đệm khi thực hiện chèn hoặc cập nhật
- Đặt lại bộ đệm: Nó tương tự như phương pháp đầu tiên nhưng thay vì chỉ xóa các khóa và chờ yêu cầu dữ liệu tiếp theo để làm mới bộ đệm, hãy đặt lại các giá trị sau khi chèn hoặc cập nhật.
39) Giải thích hiệu ứng Dogpile là gì? Làm thế nào bạn có thể ngăn chặn hiệu ứng này?
Hiệu ứng Dogpile được đề cập đến sự kiện khi bộ đệm hết hạn và các trang web bị ảnh hưởng bởi nhiều yêu cầu do khách hàng thực hiện cùng một lúc. Hiệu ứng này có thể được ngăn chặn bằng cách sử dụng khóa semaphore. Trong hệ thống này khi giá trị hết hạn, quy trình đầu tiên sẽ lấy khóa và bắt đầu tạo giá trị mới.
40) Giải thích cách không nên sử dụng Memcached?
- Việc sử dụng sai mục đích phổ biến của Memcached là sử dụng nó làm kho lưu trữ dữ liệu chứ không phải làm bộ đệm
- Không bao giờ sử dụng Memcached làm nguồn thông tin duy nhất bạn cần để chạy ứng dụng của mình. Dữ liệu phải luôn có sẵn thông qua một nguồn khác
- Memcached chỉ là một kho lưu trữ khóa hoặc giá trị và không thể thực hiện truy vấn dữ liệu hoặc lặp lại nội dung để trích xuất thông tin
- Memcached không cung cấp bất kỳ hình thức bảo mật nào về mã hóa hoặc xác thực
41) Khi máy chủ bị tắt, dữ liệu được lưu trữ trong Memcached có còn tồn tại không?
Dữ liệu được lưu trữ trong Memcached không bền nên nếu máy chủ bị tắt hoặc khởi động lại thì tất cả dữ liệu được lưu trữ trong Memcached sẽ bị xóa.
42) Hãy cho biết sự khác biệt giữa Memcache và Memcached?
- Memcache: Nó là một tiện ích mở rộng cho phép bạn làm việc thông qua các giao diện thủ tục và hướng đối tượng (OOP) tiện dụng. Nó được thiết kế để giảm tải cơ sở dữ liệu trong các ứng dụng web động.
- Đã ghi nhớ: Nó là một phần mở rộng sử dụng libmemcached thư viện cung cấp API để liên lạc với máy chủ Memcached. Nó được sử dụng để tăng cường các ứng dụng web động bằng cách giảm tải cơ sở dữ liệu. Đây là API mới nhất.
43) Giải thích mô hình triển khai Xanh lam/Xanh lục
Mẫu màu Xanh lam/Xanh lục giải quyết những thách thức quan trọng nhất gặp phải trong quá trình triển khai tự động. Trong phương pháp Triển khai Xanh lam/Xanh lục, bạn cần đảm bảo hai môi trường sản xuất giống hệt nhau. Tuy nhiên, chỉ có một trong số đó là TRỰC TIẾP tại bất kỳ thời điểm nào. Môi trường TRỰC TIẾP được gọi là Môi trường xanh.
Khi nhóm chuẩn bị bản phát hành tiếp theo của phần mềm, họ tiến hành giai đoạn thử nghiệm cuối cùng trong một môi trường được gọi là Môi trường xanh. Sau khi xác minh, lưu lượng được định tuyến đến Môi trường xanh.
44) Thùng chứa là gì?
Các thùng chứa là từ ảo hóa nhẹ. Họ cung cấp sự cô lập giữa các quy trình.
45) Cuộc họp khám nghiệm tử thi có liên quan đến DevOps là gì?
Cuộc họp khám nghiệm tử thi được thực hiện để thảo luận về những sai sót đã xảy ra và những bước bạn cần thực hiện để tránh thất bại.
46) Phương pháp dễ nhất để xây dựng một đám mây nhỏ là gì?
VMfres là một trong những lựa chọn hiệu quả nhất để tạo đám mây IaaS từ Virtual Box VM ngay lập tức. Tuy nhiên, nếu bạn muốn PaaS nhẹ thì Dokku là một lựa chọn tốt vì tập lệnh bash có thể là PaaS ngoài vùng chứa Dokku.
47) Kể tên hai công cụ được sử dụng cho mạng docker.
Đối với mạng docker, bạn có thể sử dụng Kubernetes và Docker.
48) Kể tên một số lĩnh vực triển khai DevOps
DevOps được sử dụng cho Sản xuất, vận hành CNTT, phản hồi sản xuất và phát triển phần mềm.
49) CBD' là gì?
CBD hoặc Phát triển dựa trên thành phần là một cách độc đáo để tiếp cận việc phát triển sản phẩm. Trong phương pháp này, các nhà phát triển luôn tìm kiếm các thành phần hiện có đã được xác định, kiểm tra và xác minh rõ ràng để soạn và lắp ráp chúng thành một sản phẩm thay vì phát triển từ đầu.
50) Giải thích Lập trình cặp có tham chiếu đến DevOps
Lập trình cặp là một phương pháp thực hành kỹ thuật của Quy tắc lập trình cực đoan. Trong phương pháp này, hai lập trình viên làm việc trên cùng một hệ thống, trên cùng một thiết kế/thuật toán/mã.
Một lập trình viên đóng vai trò là “người điều khiển”. Những người khác đóng vai trò là “người quan sát”, người liên tục theo dõi tiến độ của dự án để xác định vấn đề. Các vai trò có thể được đảo ngược bất kỳ lúc nào mà không cần thông báo trước.
51) Giải thích bài kiểm tra khả năng phục hồi
Kiểm thử đảm bảo phục hồi mà không mất dữ liệu và chức năng sau khi xảy ra lỗi được gọi là kiểm thử Khả năng phục hồi.
52) Kể tên ba KPI DevOps quan trọng
Ba KPI DevOps phổ biến nhất là:
- Trong khi đó để phục hồi thất bại
- Tần suất triển khai
- Tỷ lệ triển khai không thành công
Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn