MySQL mcq câu hỏi Ấn ĐộBIX

DevOps là một trong những từ thông dụng nhất trong công nghệ hiện nay, mặc dù nó không chỉ là buzz. Đó là sự hợp tác giữa nhóm phát triển và nhóm vận hành, nơi họ làm việc cùng nhau để cung cấp sản phẩm nhanh hơn và hiệu quả hơn. Trong vài năm qua, danh sách công việc dành cho kỹ sư DevOps đã tăng lên rất nhiều. Các công ty đa quốc gia, như Google, Facebook và Amazon, thường có nhiều vị trí tuyển dụng kỹ sư DevOps Chuyên gia. Tuy nhiên, thị trường việc làm có tính cạnh tranh cao và các câu hỏi được đặt ra trong cuộc phỏng vấn kỹ sư DevOps có thể bao gồm rất nhiều chủ đề khó.  

Nếu bạn đã hoàn thành Khóa học DevOps của mình và bắt đầu chuẩn bị cho các vai trò vận hành và phát triển trong ngành CNTT, thì bạn biết rằng đó là một lĩnh vực đầy thách thức sẽ cần có sự chuẩn bị thực sự để thâm nhập. Dưới đây là một số câu hỏi và câu trả lời phỏng vấn DevOps phổ biến nhất có thể giúp ích cho bạn trong quá trình chuẩn bị cho vai trò DevOps trong ngành

Bây giờ chúng ta hãy bắt đầu với một số câu hỏi và câu trả lời phỏng vấn DevOps chung

Tìm hiểu các khái niệm - Khái niệm cơ bản đến nâng cao

Chương trình Caltech trong DevOps Chương trình Khám phá

Câu hỏi phỏng vấn DevOps chung

1. Bạn biết gì về DevOps?

Câu trả lời của bạn phải đơn giản và dễ hiểu. Bắt đầu bằng cách giải thích tầm quan trọng ngày càng tăng của DevOps trong ngành CNTT. Thảo luận cách tiếp cận như vậy nhằm mục đích phối hợp các nỗ lực của nhóm phát triển và vận hành để đẩy nhanh việc cung cấp các sản phẩm phần mềm, với tỷ lệ lỗi tối thiểu. Bao gồm cách DevOps là một phương pháp thực hành giá trị gia tăng, nơi các kỹ sư vận hành và phát triển chung tay trong suốt vòng đời của sản phẩm hoặc dịch vụ, ngay từ giai đoạn thiết kế đến điểm triển khai

2. DevOps khác với phương pháp Agile như thế nào?

DevOps là một nền văn hóa cho phép nhóm phát triển và nhóm vận hành làm việc cùng nhau. Điều này dẫn đến việc phát triển, thử nghiệm, tích hợp, triển khai và giám sát phần mềm liên tục trong suốt vòng đời.

Agile là một phương pháp phát triển phần mềm tập trung vào các bản phát hành phần mềm lặp đi lặp lại, gia tăng, nhỏ và nhanh chóng, cùng với phản hồi của khách hàng. Nó giải quyết các khoảng trống và xung đột giữa khách hàng và nhà phát triển

DevOps giải quyết các lỗ hổng và xung đột giữa Nhà phát triển và Hoạt động CNTT

3. Đâu là một số công cụ DevOps phổ biến nhất?

Các công cụ DevOps phổ biến nhất bao gồm

  1. selen
  2. con rối
  3. đầu bếp
  4. Git
  5. Jenkins
  6. ansible
  7. docker

Tìm hiểu các khái niệm - Khái niệm cơ bản đến nâng cao

Chương trình Caltech trong DevOps Chương trình Khám phá

4. Các giai đoạn khác nhau trong DevOps là gì?

Các giai đoạn khác nhau của vòng đời DevOps như sau

  • Kế hoạch - Ban đầu, cần có kế hoạch cho loại ứng dụng cần phát triển. Có được một bức tranh sơ bộ về quá trình phát triển luôn là một ý tưởng hay
  • Mã - Ứng dụng được mã hóa theo yêu cầu của người dùng cuối.  
  • Xây dựng - Xây dựng ứng dụng bằng cách tích hợp các mã khác nhau được hình thành trong các bước trước
  • Kiểm tra - Đây là bước quan trọng nhất của quá trình phát triển ứng dụng. Kiểm tra ứng dụng và xây dựng lại, nếu cần
  • Tích hợp - Nhiều mã từ các lập trình viên khác nhau được tích hợp thành một
  • Triển khai - Mã được triển khai vào môi trường đám mây để sử dụng thêm. Đảm bảo rằng mọi thay đổi mới không ảnh hưởng đến hoạt động của một trang web có lưu lượng truy cập cao
  • Vận hành - Các thao tác được thực hiện trên mã nếu được yêu cầu
  • Màn hình - Hiệu suất ứng dụng được theo dõi. Các thay đổi được thực hiện để đáp ứng yêu cầu của người dùng cuối

Hình trên biểu thị vòng đời DevOps

5. Đề cập đến một số lợi ích cốt lõi của DevOps

Các lợi ích cốt lõi của DevOps như sau

lợi ích kỹ thuật

  • Cung cấp phần mềm liên tục
  • Các vấn đề ít phức tạp hơn để quản lý
  • Phát hiện sớm và sửa lỗi nhanh hơn

Lợi ích kinh doanh

  • Cung cấp các tính năng nhanh hơn
  • Môi trường hoạt động ổn định
  • Cải thiện giao tiếp và hợp tác giữa các nhóm

cũng đọc. Làm cách nào để trở thành Kỹ sư DevOps?

6. Bạn sẽ tiếp cận một dự án cần triển khai DevOps như thế nào?

Các cách tiếp cận tiêu chuẩn sau đây có thể được sử dụng để triển khai DevOps trong một dự án cụ thể

Giai đoạn 1

Đánh giá quy trình hiện tại và việc triển khai trong khoảng hai đến ba tuần để xác định các lĩnh vực cần cải thiện để nhóm có thể lập lộ trình thực hiện

giai đoạn 2

Tạo bằng chứng về khái niệm [PoC]. Sau khi được chấp nhận và phê duyệt, nhóm có thể bắt đầu triển khai thực tế và triển khai kế hoạch dự án

Giai đoạn 3

Dự án hiện đã sẵn sàng để triển khai DevOps bằng cách sử dụng kiểm soát phiên bản/tích hợp/thử nghiệm/triển khai/phân phối và giám sát theo từng bước

Bằng cách làm theo các bước thích hợp để kiểm soát phiên bản, tích hợp, thử nghiệm, triển khai, phân phối và giám sát, dự án hiện đã sẵn sàng để triển khai DevOps.  

7. Sự khác biệt giữa phân phối liên tục và triển khai liên tục là gì?

Phân phối liên tụcTriển khai liên tụcĐảm bảo mã có thể được triển khai an toàn vào sản xuấtMọi thay đổi vượt qua các bài kiểm tra tự động sẽ được triển khai tự động vào sản xuấtĐảm bảo các ứng dụng và dịch vụ kinh doanh hoạt động như mong đợiLàm cho quy trình phát triển và phát hành phần mềm nhanh hơn và mạnh mẽ hơnCung cấp mọi thay đổi cho môi trường giống như sản xuất thông qua tự động hóa nghiêm ngặt

8. Vai trò của quản lý cấu hình trong DevOps là gì?

  • Cho phép quản lý và thay đổi nhiều hệ thống
  • Chuẩn hóa cấu hình tài nguyên, từ đó quản lý cơ sở hạ tầng CNTT
  • Nó giúp quản trị và quản lý nhiều máy chủ và duy trì tính toàn vẹn của toàn bộ cơ sở hạ tầng

Giành được chứng chỉ DevOps được thèm muốn nhất

Chương trình thạc sĩ kỹ sư DevOps Chương trình khám phá

9. Làm thế nào để giám sát liên tục giúp bạn duy trì toàn bộ kiến ​​trúc của hệ thống?

Giám sát liên tục trong DevOps là một quá trình phát hiện, xác định và báo cáo bất kỳ lỗi hoặc mối đe dọa nào trong toàn bộ cơ sở hạ tầng của hệ thống

  • Đảm bảo rằng tất cả các dịch vụ, ứng dụng và tài nguyên đang chạy trên máy chủ đúng cách
  • Theo dõi trạng thái của máy chủ và xác định xem các ứng dụng có hoạt động chính xác hay không
  • Cho phép kiểm toán liên tục, kiểm tra giao dịch và giám sát có kiểm soát

10. Vai trò của AWS trong DevOps là gì?

AWS có vai trò sau trong DevOps

  • Dịch vụ linh hoạt - Cung cấp các dịch vụ linh hoạt, sẵn sàng sử dụng mà không cần cài đặt hay thiết lập phần mềm
  • Được xây dựng để mở rộng quy mô - Bạn có thể quản lý một phiên bản riêng lẻ hoặc mở rộng quy mô lên hàng nghìn người bằng các dịch vụ AWS
  • Tự động hóa - AWS cho phép bạn tự động hóa các tác vụ và quy trình, giúp bạn có thêm thời gian để đổi mới
  • An toàn – Bằng cách sử dụng AWS Identity and Access Management [IAM], bạn có thể đặt các quyền và chính sách của người dùng
  • Hệ sinh thái đối tác lớn - AWS hỗ trợ một hệ sinh thái đối tác rộng lớn tích hợp và mở rộng các dịch vụ AWS

11. Kể tên ba KPI DevOps quan trọng

Ba KPI quan trọng như sau

  • Thời gian chờ để khôi phục lỗi - Đây là thời gian trung bình cần thiết để khôi phục lỗi
  • Tần suất triển khai - Tần suất triển khai diễn ra.  
  • Tỷ lệ triển khai không thành công - Số lần triển khai không thành công

12. Giải thích thuật ngữ "Cơ sở hạ tầng dưới dạng mã" [IaC] vì nó liên quan đến quản lý cấu hình

  • Viết mã để quản lý cấu hình, triển khai và cung cấp tự động
  • Quản lý trung tâm dữ liệu bằng các tệp định nghĩa mà máy có thể đọc được, thay vì cấu hình phần cứng vật lý
  • Đảm bảo tất cả các máy chủ của bạn và các thành phần cơ sở hạ tầng khác được cung cấp một cách nhất quán và dễ dàng.  
  • Quản trị môi trường điện toán đám mây, còn được gọi là cơ sở hạ tầng dưới dạng dịch vụ [IaaS]

13. IaC được triển khai bằng AWS như thế nào?

Bắt đầu bằng cách nói về các cơ chế viết lệnh lâu đời vào các tệp tập lệnh và kiểm tra chúng trong một môi trường riêng biệt trước khi triển khai và cách tiếp cận này được thay thế bởi IaC. Tương tự như các mã được viết cho các dịch vụ khác, với sự trợ giúp của AWS, IaC cho phép các nhà phát triển viết, kiểm tra và duy trì các thực thể cơ sở hạ tầng theo cách mô tả, sử dụng các định dạng như JSON hoặc YAML. Điều này cho phép phát triển dễ dàng hơn và triển khai nhanh hơn các thay đổi cơ sở hạ tầng

14. Tại sao DevOps lại trở nên nổi bật trong vài năm qua?

Trước khi nói về sự phổ biến ngày càng tăng của DevOps, hãy thảo luận về kịch bản hiện tại của ngành. Bắt đầu với một số ví dụ về cách những người chơi lớn như Netflix và Facebook đang đầu tư vào DevOps để tự động hóa và tăng tốc triển khai ứng dụng cũng như cách điều này đã giúp họ phát triển doanh nghiệp của mình. Lấy Facebook làm ví dụ, bạn sẽ chỉ ra các mô hình sở hữu mã và triển khai liên tục của Facebook và cách những mô hình này đã giúp nó mở rộng quy mô nhưng đồng thời đảm bảo chất lượng trải nghiệm. Hàng trăm dòng mã được triển khai mà không ảnh hưởng đến chất lượng, tính ổn định và bảo mật

Trường hợp sử dụng tiếp theo của bạn phải là Netflix. Công ty video theo yêu cầu và phát trực tuyến này tuân theo các thông lệ tương tự với các quy trình và hệ thống hoàn toàn tự động. Đề cập đến cơ sở người dùng của hai tổ chức này. Facebook có 2 tỷ người dùng trong khi Netflix truyền phát nội dung trực tuyến tới hơn 100 triệu người dùng trên toàn thế giới

Đây là những ví dụ tuyệt vời về cách DevOps có thể giúp các tổ chức đảm bảo tỷ lệ phát hành thành công cao hơn, giảm thời gian thực hiện giữa các lần sửa lỗi, hợp lý hóa và phân phối liên tục thông qua tự động hóa cũng như giảm tổng chi phí nhân lực

Bây giờ chúng ta sẽ xem xét bộ Câu hỏi phỏng vấn DevOps tiếp theo bao gồm - Git, Selenium, Jenkins

15. Sự khác biệt cơ bản giữa DevOps & Agile là gì?

Sự khác biệt chính giữa Agile và DevOps được tóm tắt bên dưới

Đặc trưng

nhanh nhẹn

DevOps

Phạm vi công việc

Chỉ nhanh nhẹn

Tự động hóa cần thiết cùng với Agility

Khu vực lấy nét

Ưu tiên chính là Thời gian và thời hạn

Quản lý chất lượng và thời gian được ưu tiên như nhau

Nguồn phản hồi

Nguồn phản hồi chính - khách hàng

Nguồn phản hồi chính - bản thân [công cụ được sử dụng để giám sát]

Thực tiễn hoặc quy trình được tuân theo

Các thực hành như Agile Kanban, Scrum, v.v. , được theo dõi

Các quy trình và thực tiễn như Phát triển liên tục [CD], Tích hợp liên tục [CI], v.v. , được theo dõi

Sprint phát triển hoặc chu kỳ phát hành

Chu kỳ phát hành thường nhỏ hơn

Chu kỳ phát hành nhỏ hơn, cùng với phản hồi ngay lập tức

nhanh nhẹn

Chỉ có sự nhanh nhẹn phát triển

Cả trong hoạt động và phát triển, sự nhanh nhẹn được tuân theo

16. Các anti-pattern của DevOps là gì?

Các mẫu là các thông lệ phổ biến thường được các tổ chức tuân theo. Một mô hình chống đối được hình thành khi một tổ chức tiếp tục mù quáng đi theo một mô hình được áp dụng bởi những người khác nhưng không hiệu quả với họ. Một số huyền thoại về DevOps bao gồm

  • Không thể thực hiện DevOps → Chọn nhầm người
  • DevOps ⇒ Quản lý sản xuất được thực hiện bởi nhà phát triển
  • Giải pháp cho mọi vấn đề của tổ chức ⇒ DevOps
  • DevOps == Quy trình
  • DevOps == Linh hoạt
  • Không thể thực hiện DevOps → Tổ chức là duy nhất
  • Cần tạo một nhóm riêng cho DevOps

17. Lợi ích của việc sử dụng kiểm soát phiên bản là gì?

Dưới đây là những lợi ích của việc sử dụng Kiểm soát Phiên bản

  • Tất cả các thành viên trong nhóm được tự do làm việc trên bất kỳ tệp nào vào bất kỳ lúc nào với Hệ thống kiểm soát phiên bản [VCS]. Sau này, VCS sẽ cho phép nhóm tích hợp tất cả các sửa đổi vào một phiên bản duy nhất
  • VCS yêu cầu cung cấp một bản tóm tắt ngắn gọn về những gì đã thay đổi mỗi khi chúng tôi lưu phiên bản mới của dự án. Chúng tôi cũng có thể kiểm tra chính xác những gì đã được sửa đổi trong nội dung của tệp. Kết quả là, chúng tôi sẽ có thể xem ai đã thực hiện những thay đổi nào đối với dự án
  • Bên trong VCS, tất cả các biến thể và phiên bản trước được lưu trữ đúng cách. Chúng tôi sẽ có thể yêu cầu bất kỳ phiên bản nào vào bất kỳ lúc nào và chúng tôi sẽ có thể truy xuất ảnh chụp nhanh của toàn bộ dự án trong tầm tay
  • Một VCS được phân phối, chẳng hạn như Git, cho phép tất cả các thành viên trong nhóm truy xuất toàn bộ lịch sử của dự án. Điều này cho phép các nhà phát triển hoặc các bên liên quan khác sử dụng kho Git cục bộ của bất kỳ thành viên nào trong nhóm ngay cả khi máy chủ chính gặp sự cố bất kỳ lúc nào

18. Mô tả các chiến lược phân nhánh bạn đã sử dụng

Để kiểm tra kiến ​​thức của chúng tôi về mục đích của việc phân nhánh và kinh nghiệm của chúng tôi về việc phân nhánh tại một công việc trước đây, câu hỏi này thường được đặt ra.  

Các chủ đề bên dưới có thể giúp trả lời câu hỏi phỏng vấn DevOps này -

  • Phân nhánh phát hành - Chúng tôi có thể sao chép nhánh phát triển để tạo nhánh Phát hành sau khi nhánh đó có đủ chức năng cho một bản phát hành. Nhánh này bắt đầu chu kỳ phát hành tiếp theo, do đó không có tính năng mới nào có thể được đóng góp sau thời điểm này. Những thứ có thể đóng góp là tạo tài liệu, sửa lỗi và các nhiệm vụ khác liên quan đến phát hành. Bản phát hành được hợp nhất thành bản chính và được cung cấp số phiên bản sau khi sẵn sàng xuất xưởng. Nó cũng nên được hợp nhất trở lại nhánh phát triển, nhánh này có thể đã phát triển kể từ lần phát hành đầu tiên
  • Phân nhánh tính năng - Mô hình phân nhánh này duy trì tất cả các sửa đổi cho một tính năng cụ thể có trong một nhánh. Nhánh được hợp nhất thành nhánh chính sau khi tính năng này đã được kiểm tra và phê duyệt hoàn toàn bằng cách sử dụng các thử nghiệm tự động

Phân nhánh nhiệm vụ - Trong mô hình phân nhánh này, mọi nhiệm vụ được triển khai trong nhánh tương ứng của nó. Khóa nhiệm vụ được đề cập trong tên chi nhánh. Chúng ta chỉ cần nhìn vào khóa tác vụ trong tên nhánh để khám phá mã nào thực hiện tác vụ nào

19. Bạn có thể giải thích khái niệm “Chuyển sang trái để giảm thất bại” trong DevOps không?

Dịch chuyển sang trái là một ý tưởng DevOps để cải thiện bảo mật, hiệu suất và các yếu tố khác. Chúng ta hãy lấy một ví dụ. nếu chúng tôi xem xét tất cả các quy trình trong DevOps, chúng tôi có thể nói rằng bảo mật đã được kiểm tra trước bước triển khai. Chúng ta có thể thêm bảo mật trong giai đoạn phát triển, ở bên trái, bằng cách sử dụng phương pháp dịch chuyển trái. [sẽ được mô tả trong sơ đồ] Chúng tôi có thể tích hợp với tất cả các giai đoạn, bao gồm trước khi phát triển và trong quá trình thử nghiệm, không chỉ phát triển. Điều này rất có thể làm tăng mức độ bảo mật bằng cách phát hiện lỗi ở giai đoạn đầu

20. Mô hình Triển khai Xanh dương/Xanh lá cây là gì?

Đây là phương pháp triển khai liên tục được sử dụng phổ biến để giảm thời gian chết. Đây là nơi lưu lượng truy cập được chuyển từ phiên bản này sang phiên bản khác. Để bao gồm phiên bản mã mới, chúng tôi phải thay thế mã cũ bằng phiên bản mã mới.  

Phiên bản mới tồn tại trong môi trường xanh lục và phiên bản cũ tồn tại trong môi trường xanh lam. Sau khi thực hiện các thay đổi đối với phiên bản trước, chúng tôi cần một phiên bản mới từ phiên bản cũ để thực thi phiên bản mới hơn của phiên bản

21. Thử nghiệm liên tục là gì?

Kiểm tra liên tục cấu thành việc chạy các kiểm tra tự động như một phần của quy trình phân phối phần mềm để cung cấp phản hồi tức thì về các rủi ro kinh doanh có trong bản phát hành gần đây nhất. Để ngăn ngừa sự cố khi chuyển đổi từng bước trong vòng đời phân phối Phần mềm và để cho phép các nhóm Phát triển nhận được phản hồi ngay lập tức, mọi bản dựng đều được kiểm tra liên tục theo cách này. Điều này giúp tăng đáng kể tốc độ trong năng suất của nhà phát triển vì nó loại bỏ yêu cầu chạy lại tất cả các thử nghiệm sau mỗi lần cập nhật và xây dựng lại dự án

22. Kiểm thử tự động là gì?

Tự động hóa kiểm tra hoặc kiểm tra thủ công Tự động hóa là quá trình tự động hóa một quy trình thủ công để kiểm tra một ứng dụng hoặc hệ thống. Kiểm thử tự động đòi hỏi phải sử dụng các công cụ kiểm thử độc lập cho phép bạn phát triển các kịch bản kiểm thử có thể chạy lặp lại mà không cần sự tương tác của con người

23. Lợi ích của Kiểm thử tự động hóa là gì?

Một số ưu điểm của Kiểm thử tự động là -

  • Giúp tiết kiệm tiền và thời gian
  • Thực hiện không giám sát có thể được thực hiện dễ dàng
  • Ma trận kiểm tra lớn có thể được kiểm tra dễ dàng
  • Thực thi song song được kích hoạt
  • Giảm các lỗi do con người tạo ra, dẫn đến độ chính xác được cải thiện
  • Thực thi nhiệm vụ kiểm tra lặp đi lặp lại được hỗ trợ

24. Làm cách nào để tự động hóa Thử nghiệm trong vòng đời DevOps?

Các nhà phát triển có nghĩa vụ cam kết tất cả các thay đổi mã nguồn vào kho lưu trữ DevOps được chia sẻ

Mỗi khi có thay đổi trong mã, các công cụ Tích hợp liên tục giống như Jenkins sẽ lấy nó từ kho lưu trữ chung này và triển khai nó để Kiểm tra liên tục, được thực hiện bởi các công cụ như Selenium

25. Tại sao Thử nghiệm liên tục lại quan trọng đối với DevOps?

Mọi sửa đổi đối với mã có thể được kiểm tra ngay lập tức bằng Kiểm tra liên tục. Điều này ngăn chặn những lo ngại như vấn đề chất lượng và sự chậm trễ phát hành có thể xảy ra bất cứ khi nào thử nghiệm vụ nổ lớn bị trì hoãn cho đến khi kết thúc chu kỳ. Bằng cách này, Thử nghiệm liên tục cho phép phát hành chất lượng cao và thường xuyên hơn

26. Các yếu tố chính của công cụ Kiểm tra liên tục là gì?

Các yếu tố chính của Kiểm thử liên tục là

  • Tối ưu hóa thử nghiệm - Nó đảm bảo rằng các thử nghiệm tạo ra kết quả đáng tin cậy và thông tin có thể thực hiện được. Quản lý dữ liệu thử nghiệm, Quản lý tối ưu hóa thử nghiệm và Bảo trì thử nghiệm là những ví dụ về các khía cạnh
  • Phân tích nâng cao - Để tránh các vấn đề xảy ra ngay từ đầu và để đạt được nhiều hơn trong mỗi lần lặp lại, nó sử dụng tự động hóa trong các lĩnh vực như đánh giá/ưu tiên phạm vi, phân tích hiệu ứng thay đổi và phân tích mã tĩnh
  • Phân tích chính sách - Nó đảm bảo rằng tất cả các quy trình đều phù hợp với nhu cầu kinh doanh đang thay đổi của tổ chức và tất cả các yêu cầu tuân thủ đều được đáp ứng
  • Đánh giá rủi ro - Tối ưu hóa phạm vi kiểm tra, nợ kỹ thuật, nhiệm vụ giảm thiểu rủi ro và đánh giá chất lượng đều được đề cập để đảm bảo bản dựng sẵn sàng chuyển sang giai đoạn tiếp theo
  • Ảo hóa dịch vụ - Đảm bảo có sẵn các kịch bản thử nghiệm trong thế giới thực. Trực quan hóa dịch vụ cung cấp quyền truy cập vào bản trình bày ảo của các giai đoạn thử nghiệm cần thiết, đảm bảo tính khả dụng của nó và giảm thời gian thiết lập môi trường thử nghiệm
  • Truy xuất nguồn gốc yêu cầu - Nó đảm bảo rằng không cần làm lại và đáp ứng các tiêu chí thực tế. Để xác định nhu cầu nào cần xác thực bổ sung, đang gặp nguy hiểm và hoạt động như mong đợi, một đánh giá đối tượng được sử dụng

Giải phóng sự nghiệp được trả lương cao trong DevOps

Chương trình Caltech trong DevOps Chương trình Khám phá

Câu hỏi phỏng vấn DevOps về quản lý mã nguồn — Git

27. Giải thích sự khác biệt giữa hệ thống kiểm soát phiên bản tập trung và phân tán [VCS]

Hệ thống kiểm soát phiên bản tập trung

  • Tất cả các phiên bản tệp được lưu trữ trên một máy chủ trung tâm
  • Không nhà phát triển nào có bản sao của tất cả các tệp trên hệ thống cục bộ
  • Nếu máy chủ trung tâm gặp sự cố, tất cả dữ liệu từ dự án sẽ bị mất

Hệ thống điều khiển phân tán

  • Mọi nhà phát triển đều có một bản sao của tất cả các phiên bản mã trên hệ thống của họ
  • Cho phép các thành viên trong nhóm làm việc ngoại tuyến và không dựa vào một vị trí duy nhất để sao lưu
  • Không có mối đe dọa nào, ngay cả khi máy chủ gặp sự cố

28. Lệnh git tải bất kỳ kho lưu trữ nào từ GitHub về máy tính của bạn là gì?

Lệnh git tải bất kỳ kho lưu trữ nào từ GitHub về máy tính của bạn là git clone

29. Làm cách nào để đẩy một tệp từ hệ thống cục bộ của bạn lên kho lưu trữ GitHub bằng Git?

Đầu tiên, kết nối kho lưu trữ cục bộ với kho lưu trữ từ xa của bạn

git remote add origin [địa chỉ web đã sao chép]

// Bán tại. git remote add origin https. //github. com/Simplilearn-github/kiểm tra. git

Thứ hai, đẩy tệp của bạn vào kho lưu trữ từ xa

chủ nguồn gốc git đẩy

30. Kho lưu trữ trống khác với cách khởi tạo kho lưu trữ Git tiêu chuẩn như thế nào?

Sử dụng phương pháp tiêu chuẩn

git init

  • Bạn tạo một thư mục làm việc với git init
  • Một. thư mục con git được tạo với tất cả lịch sử sửa đổi liên quan đến git

Sử dụng con đường trần trụi

git init --bare

  • Nó không chứa bất kỳ bản sao nào đang hoạt động hoặc đã kiểm tra của các tệp nguồn
  • Kho lưu trữ trống lưu trữ lịch sử sửa đổi git trong thư mục gốc của kho lưu trữ của bạn, thay vì thư mục. thư mục con git

31. Lệnh CLI nào sau đây có thể được sử dụng để đổi tên tệp?

  1. git rm
  2. git mv
  3. git rm -r
  4. Không có điều nào ở trên

Câu trả lời đúng là B] git mv

32. Quá trình hoàn nguyên một cam kết đã được đẩy và công khai là gì?

Có hai cách để bạn có thể hoàn nguyên một cam kết.  

  1. Xóa hoặc sửa tệp xấu trong một lần xác nhận mới và đẩy tệp đó vào kho lưu trữ từ xa. Sau đó cam kết nó vào kho lưu trữ từ xa bằng cách sử dụng.

    git commit –m "thông báo cam kết"

  2. Tạo một cam kết mới hoàn tác tất cả các thay đổi đã được thực hiện trong cam kết không hợp lệ. Sử dụng lệnh sau.

    git revert

Ví dụ. git hoàn nguyên 56de0938f

Đào tạo GIT MIỄN PHÍ

Tìm hiểu kiến ​​thức cơ bản về GIT Đăng ký ngay

33. Giải thích sự khác biệt giữa git fetch và git pull

Git fetchGit pullGit fetch chỉ tải xuống dữ liệu mới từ một kho lưu trữ từ xaGit pull cập nhật nhánh HEAD hiện tại với những thay đổi mới nhất từ ​​máy chủ từ xaKhông tích hợp bất kỳ dữ liệu mới nào vào các tệp làm việc của bạn Tải xuống dữ liệu mới và tích hợp nó với các tệp làm việc hiện tạiNgười dùng có thể chạy tìm nạp Git

Lệnh - git lấy nguồn gốc

git lấy –-all

Lệnh - git pull Origin master

34. Git stash là gì?

Một nhà phát triển đang làm việc với một nhánh hiện tại muốn chuyển sang một nhánh khác để làm việc khác, nhưng nhà phát triển không muốn cam kết thay đổi công việc còn dang dở của bạn. Giải pháp cho vấn đề này là Git stash. Git stash lấy các tệp được theo dõi đã sửa đổi của bạn và lưu chúng vào một chồng các thay đổi chưa hoàn thành mà bạn có thể áp dụng lại bất kỳ lúc nào

35. Giải thích khái niệm phân nhánh trong Git

Giả sử bạn đang làm việc trên một ứng dụng và bạn muốn thêm một tính năng mới vào ứng dụng. Bạn có thể tạo một nhánh mới và xây dựng tính năng mới trên nhánh đó

  • Theo mặc định, bạn luôn làm việc trên nhánh chính
  • Các vòng tròn trên nhánh đại diện cho các cam kết khác nhau được thực hiện trên nhánh
  • Sau khi bạn hoàn thành tất cả các thay đổi, bạn có thể hợp nhất nó với nhánh chính

36. Sự khác biệt giữa Git Merge và Git Rebase là gì?

Giả sử bạn đang làm việc trên một tính năng mới trong một nhánh chuyên dụng và một thành viên khác trong nhóm cập nhật nhánh chính với các cam kết mới. Bạn có thể sử dụng hai chức năng này

Hợp nhất Git

Để kết hợp các cam kết mới vào nhánh tính năng của bạn, hãy sử dụng hợp nhất Git

  • Tạo một cam kết hợp nhất bổ sung mỗi khi bạn cần kết hợp các thay đổi
  • Tuy nhiên, nó làm ô nhiễm lịch sử nhánh tính năng của bạn

Git Rebase

Là một giải pháp thay thế cho việc hợp nhất, bạn có thể khởi động lại nhánh tính năng để làm chủ

  • Kết hợp tất cả các xác nhận mới trong nhánh chính
  • Nó tạo các cam kết mới cho mọi cam kết trong nhánh ban đầu và viết lại lịch sử dự án

37. Làm cách nào để bạn tìm thấy danh sách các tệp đã được thay đổi trong một cam kết cụ thể?

Lệnh để lấy danh sách các tệp đã được thay đổi trong một cam kết cụ thể là

git diff-tree –r {cam kết băm}

Ví dụ. git diff-tree –r 87e673f21b

  • -r cờ hướng dẫn lệnh liệt kê các tệp riêng lẻ
  • hàm băm cam kết sẽ liệt kê tất cả các tệp đã được thay đổi hoặc thêm vào trong lần xác nhận đó

38. Xung đột hợp nhất trong Git là gì và làm cách nào để giải quyết?

Xung đột hợp nhất Git xảy ra khi bạn có các nhánh hợp nhất cạnh tranh cho các cam kết và Git cần bạn trợ giúp để quyết định những thay đổi nào sẽ được đưa vào hợp nhất cuối cùng

Chỉnh sửa tệp xung đột theo cách thủ công để chọn những thay đổi mà bạn muốn giữ lại trong lần hợp nhất cuối cùng

Giải quyết bằng trình chỉnh sửa xung đột GitHub

Điều này được thực hiện khi xảy ra xung đột hợp nhất sau khi cạnh tranh để thay đổi dòng. Ví dụ: điều này có thể xảy ra khi mọi người thực hiện các thay đổi khác nhau đối với cùng một dòng của cùng một tệp trên các nhánh khác nhau trong kho lưu trữ Git của bạn

  • Giải quyết xung đột hợp nhất bằng trình chỉnh sửa xung đột
  • Bên dưới tên kho lưu trữ của bạn, hãy nhấp vào "Kéo yêu cầu. "

  • Trong trình đơn thả xuống "Yêu cầu kéo", hãy nhấp vào yêu cầu kéo có xung đột hợp nhất mà bạn muốn giải quyết
  • Gần cuối yêu cầu kéo của bạn, hãy nhấp vào "Giải quyết xung đột. "

 

  • Quyết định xem bạn chỉ muốn giữ các thay đổi của nhánh của mình, các thay đổi của nhánh khác hay thực hiện một thay đổi hoàn toàn mới, có thể kết hợp các thay đổi từ cả hai nhánh
  • Delete the conflict markers  and make changes you want in the final merge.

  • Nếu bạn có nhiều xung đột hợp nhất trong tệp của mình, hãy cuộn xuống nhóm đánh dấu xung đột tiếp theo và lặp lại các bước bốn và năm để giải quyết xung đột hợp nhất của bạn
  • Khi bạn đã giải quyết tất cả xung đột trong tệp, hãy nhấp vào Đánh dấu là đã giải quyết

  • Nếu bạn có nhiều tệp bị xung đột, hãy chọn tệp tiếp theo bạn muốn chỉnh sửa ở phía bên trái của trang trong "tệp xung đột" và lặp lại các bước từ bốn đến bảy cho đến khi bạn giải quyết xong tất cả các xung đột hợp nhất của yêu cầu kéo của mình

  • Khi bạn đã giải quyết xung đột hợp nhất của mình, hãy nhấp vào Cam kết hợp nhất. Điều này hợp nhất toàn bộ nhánh cơ sở vào nhánh đầu của bạn

  • Để hợp nhất yêu cầu kéo của bạn, nhấp vào Hợp nhất yêu cầu kéo

  • Xung đột hợp nhất được giải quyết bằng dòng lệnh
  • Mở Git Bash
  • Điều hướng vào kho lưu trữ Git cục bộ chứa xung đột hợp nhất

  • Tạo danh sách các tệp mà xung đột hợp nhất ảnh hưởng. Trong ví dụ này, file styleguide. md có xung đột hợp nhất

  • Mở bất kỳ trình soạn thảo văn bản nào, chẳng hạn như Sublime Text hoặc Atom và điều hướng đến tệp có xung đột hợp nhất
  • Để xem phần đầu của xung đột hợp nhất trong tệp của bạn, hãy tìm kiếm tệp cho điểm đánh dấu xung đột "

Chủ Đề