tải PDF
1) Giải thích DevOps là gì?
Đây là một thuật ngữ mới xuất hiện trong lĩnh vực CNTT, không có gì khác ngoài một thực tiễn nhấn mạnh sự hợp 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 của các bản phát hành.
2) Đề cập đến các khía cạnh hoặc nguyên tắc quan trọng đằ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 dưới dạng mã
- Triển khai liên tục
- Tự động hóa
- Giám sát
- Bảo vệ
3) Các hoạt động cốt lõi của DevOps với phát triển ứng dụng và với cơ sở hạ tầng là gì?
Các 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
- Cấp phé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 tổ chức thành các tệp được gọi là mẫu
- Mẫu này có thể được triển khai trên AWS devops và sau đó được quản lý dưới dạng ngăn xếp
- Sau đó, 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 một kỹ sư DevOps?
Một ngôn ngữ kịch bản đơn giản hơn sẽ tốt hơn cho một kỹ sư DevOps. Python dường như rất phổ biến.
6) Giải thích DevOps hữu ích như thế nào đối với các nhà phát triển?
DevOps có thể hữu ích cho các nhà phát triển để 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 cho DevOps?
Một số công cụ phổ biến cho DevOps là
- Jenkins
- Nagios
- Monit
- ELK (Elasticsearch, Logstash, Kibana)
- Jenkins
- Docker
- Ansible
- Git
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ột máy từ xa và làm việc trên dòng lệnh. Bên cạnh đó, tôi cũng đã sử dụng nó để truyền vào hệ thống nhằm tạo điều kiện 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ý kiểm soát phiên bản (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ã trên SourceForge hoặc GitHub để mọi người có thể xem nó. Ngoài ra, tôi sẽ đăng danh sách kiểm tra từ lần sửa đổi cuối cùng để đả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à
- ĐƯỢC
- CÁI ĐẦU
- ĐẶT
- BÀI ĐĂNG
- VÁ
- XÓA BỎ
- TRACE
- KẾT NỐI
- TÙY CHỌN
11) Giải thích những gì bạn sẽ kiểm tra Nếu một máy chủ Linux-build đột nhiên bắt đầu chậm hơn?
Nếu một máy chủ bản dựng Linux đột nhiên bắt đầu chạy chậm, bạn sẽ kiểm tra ba điều sau
| Các sự cố liên quan đến RAM, các sự cố đọc ghi vào I / O trên đĩa, các sự cố liên quan đến Dung lượng đĩa, v.v. |
| Kiểm tra tệp nhật ký ứng dụng HOẶC tệp nhật ký máy chủ ứng dụng, các vấn đề về hiệu suất hệ thống, Nhật ký máy chủ web - kiểm tra nhật ký HTTP, tomcat, jboss hoặc WebLogic để xem liệu thời gian nhận / phản hồi của máy chủ ứng dụng có phải là vấn đề gây chậm, Rò rỉ bộ nhớ của bất kỳ ứng dụng |
| Sự cố liên quan đến chống vi-rút, Sự cố liên quan đến tường lửa, Sự cố mạng, Sự cố 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ì?
Các thành phần quan trọng nhất của DevOps là:
- Hội nhập liên tục
- Kiểm tra liên tục
- Giao hàng liên tục
- Giám sát liên tục
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
- Dịch vụ web của Amazon
- Microsoft Azure
14) Cung cấp 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 được phân phối giúp bạn lưu trữ toàn bộ lịch sử của dự án, vì vậy trong trường hợp xảy ra sự cố trong 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 nào đượ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 cam kết đã tạo ra một lỗi bằng cách sử dụng tìm kiếm nhị phân.
16) Bản dựng là gì?
Bản dựng là một phương pháp trong đó mã nguồn được ghép lại 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ì?
Con 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 tác 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 pháp 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 Release'.
Bản phát hành canary là một mẫu làm giảm nguy cơ đư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 nó một cách có kiểm soát cho một tập hợp con người dùng. Trước khi cung cấp cho người dùng hoàn chỉnh.
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 để sản xuất?
Bạn cần tiến hành kiểm tra liên tục để đảm bảo rằng dịch vụ mới đã sẵn sàng để sản xuất.
21) Vagrant là gì?
Vagrant là một công cụ có thể tạo và quản lý các 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) Chef là gì?
Nó là một nền tảng tự động hóa mạnh mẽ, chuyển đổi cơ sở hạ tầng thành mã. Trong công cụ này, bạn có thể sử dụng viết các tập lệnh đượ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 để triển khai DevOps:
- Ít nhất một phần mềm kiểm soát phiên bản
- Giao tiếp thích hợp 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 để DevOps thành công.
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 thực hiện cho 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 khuyết tật được tìm thấy trong các
- Điều quan trọng là phải đo lường thời gian thực tế hoặc thời gian 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 thông bá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 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 của một 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) Liệu card màn hình của bạn có thể chạy Unity hay không, bạn biết không?
Khi bạn sử dụng một lệnh
/usr/lib/Linux/unity_support_test-p
nó sẽ cung cấp đầu ra chi tiết về các yêu cầu của Unity và nếu chúng được đáp ứng, thì card màn hình của bạn có thể chạy thống nhất.
29) Giải thích cách bật âm thanh khởi động trong Ubuntu?
Để bật âm thanh khởi động
- Nhấp vào bánh răng điều khiển và sau đó nhấp vào Ứng dụng khởi động
- Trong cửa sổ Tùy chọn Ứng dụng Khởi động , bấm Thêm để thêm mục nhập
- Sau đó điền thông tin vào các hộp nhận xét như Tên, Lệnh và Nhận xét
/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 thiết bị đầu cuối Ubuntu trong một thư mục cụ thể là gì?
Để mở một thiết bị đầu cuối Ubuntu trong một thư mục cụ thể, bạn có thể sử dụng phím tắt tùy chỉnh.
Để 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 genome - terminal - - working - directory = / 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 màn hình Ubuntu?
Bạn có thể mở ảnh nền trong The Gimp (trình chỉnh sửa ảnh) và sau đó 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 điểm đó.
32) Giải thích cách bạn tạo launcher 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ể sử dụng
ALT + F2 sau đó nhập "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ữ đối tượng bộ nhớ phân tán, mã nguồn mở, miễn phí, hiệu suất cao. Mục tiêu chính của Memcached là tăng cường thời gian phản hồi cho dữ liệu 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 cho
- Mạng xã hội-> Bộ nhớ đệm hồ sơ
- Tổng hợp nội dung-> HTML / Trang Caching
- Nhắm mục tiêu quảng cáo-> Cookie / theo dõi 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í-> Mở rộng truy vấn cơ sở dữ liệu
- Trò chơi và giải trí-> Bộ nhớ đệm phiên
Memcache giúp trong
- Tăng tốc các quy 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 đến cơ sở dữ liệu
- Cắt 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 vào bộ đệm đối tượng lớn
34) Đề cập đến 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 truy xuất từ bộ nhớ cache. 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ã
- getDelayed: Nó làm giảm thời gian trễ của tập lệnh của bạn, vốn đang đợi kết quả trả về 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 ứng dụng khách mới hơn
- Igbinary: Trước đây, một ứng dụng khách luôn 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.
35) Giải thích liệu có thể chia sẻ một phiên bản Memcache giữa nhiều dự án 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 để nói chuyện với một tập hợp các trường hợp 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ủ lưu trữ 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ì bạn cần phải biết từ phiên bản nào để lấy hoặc đưa dữ liệu và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ó bao giờ cố lấy dữ liệu quan trọng 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 về tự động lỗi, bạn có thể định cấu hình cho nhiều nút. Việc chuyển lỗi có thể được kích hoạt trong bất kỳ lỗi cấp độ máy chủ socket hoặc 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 sự cố ngừng hoạt động của máy chủ Memcached?
- Khi một phiên bản không thành công, một số phiên bản trong số đó sẽ bị hỏng và điều này sẽ đặt một tải trọng lớn hơn lên máy chủ cơ sở dữ liệu khi dữ liệu bị mất được tải lại khi một máy khách đư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 việc đóng dấu bộ nhớ cache thì nó sẽ để lại tác động tối thiểu
- Một cách khác là hiển thị một phiên bản của Memcached trên một máy mới bằng cách sử dụng địa chỉ IP của máy bị mất
- Mã là một tùy chọn khác để giảm thiểu sự cố máy chủ vì nó cho phép bạn tự do thay đổi danh sách máy chủ Memcached với công việc tối thiểu
- Đặ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 cho sự cố ngừng hoạt động của máy chủ Memcached. Khi máy chủ Memcached của bạn gặp sự cố, 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 bạn có thể 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 cách
- Chủ động xóa bộ nhớ cache: Xóa bộ nhớ cache khi thực hiện chèn hoặc cập nhật
- Đặt lại bộ nhớ cache: 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 tiếp theo để dữ liệu làm mới bộ nhớ cache, 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ộ nhớ cache hết hạn và các trang web bị truy cập bởi nhiều yêu cầu được thực hiện bởi khách hàng 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 một khóa semaphore. Trong hệ thống này khi giá trị hết hạn, quy trình đầu tiên nhận được 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?
- Cách sử dụng sai phổ biến của Memcached là sử dụng nó như một nơi lưu trữ dữ liệu chứ không phải như một bộ nhớ cache
- 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 cũng 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 trê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 trong mã hóa hoặc xác thực
41) Khi máy chủ ngừng hoạt động, dữ liệu được lưu trữ trong Memcached có còn khả dụng không?
Dữ liệu được lưu trữ trong Memcached không bền, vì vậy 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 trong Memcached sẽ bị xóa.
42) Đề cập đến sự khác biệt giữa Memcache và Memcached là gì?
- Memcache: Nó là một phần 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.
- Memcached : Là một tiện ích mở rộng sử dụng thư viện libmemcached để cung cấp API giao tiếp với các máy chủ Memcached. Nó được sử dụng để tăng các ứng dụng web động bằng cách giảm tải cơ sở dữ liệu. Nó là API mới nhất.
43) Giải thích Mô hình triển khai Xanh lam / Xanh lục
Mẫu tô màu Xanh lam / Xanh lục giải quyết những thách thức quan trọng nhất phải đối mặt trong quá trình triển khai tự động. Trong cách tiếp cận Triển khai Xanh lam / Xanh lá cây, 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ỉ 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 lam.
Khi nhóm chuẩn bị phát hành phần mềm tiếp theo, 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 được xác minh, lưu lượng truy cập được chuyển đến môi trường Xanh.
44) Các thùng chứa là gì?
Các vùng chứa 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 liên quan đến DevOps là gì?
Cuộc họp sau khám nghiệm được thực hiện để thảo luận về những gì đã 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 VMs nhanh chóng. 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 từ các vùng chứa Dokku.
47) Kể tên hai công cụ được sử dụng cho kết nối mạng docker.
Đối với mạng docker, bạn có thể sử dụng Kubernetes và Docker swarm.
48) Kể tên một số khu vực nơi triển khai DevOps
DevOps được sử dụng cho Sản xuất, hoạt động CNTT, phản hồi sản xuất và phát triển phần mềm của nó.
49) CBD 'là gì?
CBD hoặc Phát triển dựa trên thành phần là một cách duy nhất để tiếp cận 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 đã được xác định rõ ràng, được kiểm tra và xác minh để 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 theo cặp với tham chiếu đến DevOps
Lập trình cặp là một 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 hoạt động như một "trình điều khiển". Những người khác hoạt động như một "quan sát viên" liên tục theo dõi tiến độ của một dự án để xác định các vấn đề. Các vai trò có thể được đảo ngược vào bất kỳ thời điểm nào mà không cần bất kỳ mối quan hệ thân thiết nào trước đó.
51) Giải thích Kiểm tra khả năng phục hồi
Kiểm tra đảm bảo khôi phục mà không bị mất dữ liệu và chức năng sau khi bị lỗi được gọi là kiểm tra 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à:
- Thời gian để khôi phục thất bại
- Tần suất triển khai
- Phần trăm triển khai không thành công