Bạn có phải là kỹ sư của DevOps hay đang nghĩ đến việc làm DevOps? Nếu là vậy thì tương lai IT đang nằm trong tay bạn. Công ty nghiên cứu hàng đầu - Forrester tuyên bố năm 2018 là ‘Năm của DevOps và ước tính rằng 50% các tổ chức trên toàn thế giới đang vận dụng DevOps’. Dưới đây là danh sách 10 câu hỏi phỏng vấn DevOps thường gặp nhất, cũng là khái quát nhất mà nhà tuyển dụng sẽ hỏi nhằm xem xét khả năng và sự hiểu biết của bạn về DevOps.
Trong bài viết này, GrowUpWork đã liệt kê các câu hỏi có thể mà người phỏng vấn tuyển dụng DevOps thường gặp nhất. Danh sách này đã được xây dựng dựa trên bí quyết của những người training về DevOps, chuyên gia trong ngành với kinh nghiệm của gần 30.000 người học DevOps từ 60 quốc gia.
Điều cốt yếu mà chúng ta cần hiểu chính là DevOps không chỉ đơn thuần được xem như một tập hợp các công nghệ mà là một cách tư duy, một phong cách làm việc. DevOps yêu cầu một sự thay đổi tư duy kết hợp các hoạt động với sự phát triển và đòi hỏi một chuỗi công cụ liên kết của các công nghệ để tạo điều kiện cho sự thay đổi hợp tác. Do khái niệm DevOps vẫn còn ở giai đoạn rất mới, nên việc áp dụng DevOps cũng như băng thông cần thời gian và điều kiện cần thiết để thích nghi tùy theo từng tổ chức. Tuy nhiên, bạn có thể lập ra danh mục các kỹ năng DevOps để chuẩn bị trở thành một ứng cử viên kỹ sư DevOps hoàn hảo cho bất kỳ loại tổ chức nào.
Nhưng trước hết hãy cùng nhìn sơ lại công việc và vai trò của một Kỹ sư DevOps trong một tổ chức.
Để lập ra các vai trò của DevOps, các tổ chức đã tìm kiếm một bộ kỹ năng rõ ràng. Những yếu tố quan trọng nhất trong số này là:
Nếu bạn có các kỹ năng trên, thì bạn đã sẵn sàng để bắt đầu chuẩn bị cho cuộc phỏng vấn ứng tuyển để trở thành Kỹ sư DevOps.
Để cấu trúc các câu hỏi dưới đây dựa vào vị trí của ứng viên. Hầu hết các câu trả lời này được viết từ quan điểm của bạn - một chuyên gia DevOps tiềm năng.
Danh mục này sẽ bao gồm các câu hỏi không liên quan đến bất kỳ giai đoạn DevOps cụ thể nào. Các câu hỏi này nhằm kiểm tra sự hiểu biết của bạn về DevOps thay vì tập trung vào một công cụ cụ thể hoặc một giai đoạn.
Sự khác biệt giữa hai khái niệm được liệt kê trong bảng dưới đây:
Đặc điểm | DevOps | Aglie |
Tốc độ | Nhanh chóng trong cả phát triển và vận hành | Chỉ phát triển sự nhanh chóng |
Quy trình/Tiến trình thực hiện | Liên quan đến các quá trình như CI, CD, CT, v.v. | Liên quan đến các tiến trình như Agile Scrum, Agile Kanban, v.v. |
Giá trị hiệu quả | Tính kịp thời & chất lượng có mức độ ưu tiên như nhau | Tính kịp thời là ưu tiên chính |
Chu kỳ release/Chu trình phát triển | Chu trình phát triển ngắn với feedback ngay lâp tức | Chu trình phát triển ngắn |
Nguồn để Feedback | Tự phản hồi nhờ Công cụ giám sát (Monitoring tools) | Phản hồi từ khách hàng |
Phạm vi công việc | Sự nhanh chóng và sự tự động hóa cần thiết | Sự nhanh chóng |
Có thể bạn quan tâm: Kỹ sư DevOps làm gì? Vai trò và Nhiệm vụ
Theo GrowUpWork, bạn nên bắt đầu trả lời câu hỏi phỏng vấn DevOps này bằng cách giải thích xu hướng chung của thị trường. Thay vì “release” các bộ tính năng lớn, các công ty đang cố gắng xem liệu các tính năng nhỏ có thể mang đến cho khách hàng của họ thông qua một chuỗi các release hay không. Điều này có nhiều lợi thế như phản hồi nhanh từ khách hàng, chất lượng phần mềm tốt hơn, vv dẫn đến sự hài lòng của khách hàng cao hơn. Để đạt được điều này, các công ty bắt buộc phải:
DevOps đáp ứng tất cả các yêu cầu này và giúp đạt được sự liền mạch trong phân phối phần mềm. Bạn có thể đưa ra ví dụ về các công ty như Etsy, Google và Amazon đã áp dụng DevOps để đạt được mức hiệu suất không tưởng ngay cả năm năm trước. Họ đang thực hiện hàng chục, hàng trăm hoặc thậm chí hàng ngàn triển khai mã mỗi ngày trong khi vẫn mang lại sự ổn định, độ tin cậy và bảo mật đẳng cấp thế giới.
Nếu nhà tuyển dụng phải kiểm tra kiến thức của bạn về DevOps, bạn nên biết sự khác biệt giữa Agile và DevOps. Câu hỏi tiếp theo cũng sẽ liên quan đến chủ đề này.
Do có rất nhiều ứng viên nhầm lẫn, nên đây là câu hỏi phỏng vấn DevOps giúp nhà tuyển dụng tìm ra ứng viên thực sự am hiểu về DevOps
GrowUpWork gợi ý bạn trả lời với lời giải thích như sau:
Agile là một tập hợp các giá trị và nguyên tắc về cách sản xuất, tức là phát triển phần mềm. Ví dụ: nếu bạn có một số ý tưởng và bạn muốn biến những ý tưởng đó thành phần mềm hoạt động, bạn có thể sử dụng các giá trị và nguyên tắc Agile như một cách để làm điều đó. Tuy nhiên, phần mềm đó chỉ có thể hoạt động trên máy tính xách tay của nhà phát triển, hoặc trong môi trường thử nghiệm. Bạn muốn có một cách nhanh chóng, dễ dàng và lặp lại phần mềm đó vào cơ sở hạ tầng sản xuất, một cách an toàn và đơn giản. Để làm điều đó, bạn cần các công cụ và kỹ thuật trong phương pháp DevOps.
Bạn có thể tóm tắt bằng cách nói phương pháp Agile tập trung vào phát triển phần mềm, trong khi DevOps chịu trách nhiệm phát triển cũng như triển khai phần mềm theo cách an toàn và đáng tin cậy nhất có thể.
Bạn đã nắm rõ các công cụ DevOps? Và tiếp sau đây là câu hỏi liên quan đến chủ đề này
Khi được nhà tuyển dụng đặt câu hỏi phỏng vấn DevOps này, bạn hãy lần lượt nêu tên và phạm vi chức năng của chúng như dưới đây:
Bạn cũng có thể đề cập đến bất kỳ công cụ nào khác nếu bạn muốn, nhưng hãy đảm bảo bạn bao gồm các công cụ trên trong câu trả lời của mình.
Phần thứ hai của câu hỏi bạn có thể trả lời theo một trong hai trường hợp sau:
Để tiếp nối phần thứ hai của câu hỏi này, nhà tuyển dụng muốn chắc chắn rằng bạn thực sự có kinh nghiệm làm việc với các công cụ, họ sẽ hỏi câu 5
Dưới đây là một chuỗi logic chung mà bạn nên trình bày cho câu hỏi phỏng vấn DevOps này, Đó là chuỗi logic, nơi mọi thứ được tự động hóa để phân phối liền mạch. Tuy nhiên, chuỗi này có thể thay đổi tùy theo yêu cầu, mục tiêu của từng tổ chức.
Đối với câu trả lời này, bạn có thể sử dụng kinh nghiệm trong quá khứ của mình và giải thích cách DevOps giúp bạn trong công việc trước đây. Nếu bạn không có kinh nghiệm như vậy, thì bạn có thể đề cập đến những lợi thế dưới đây.
Lợi ích về mặt kỹ thuật:
Lợi ích về mặt kinh doanh:
Gợi ý trả lời câu hỏi phỏng vấn DevOps này: Điều quan trọng nhất mà DevOps giúp chúng ta đạt được là đưa các thay đổi vào sản xuất càng nhanh càng tốt trong khi giảm thiểu rủi ro trong việc đảm bảo và tuân thủ chất lượng phần mềm. Đây là mục tiêu chính của DevOps.
Ngoài ra, bạn có thể thêm nhiều điểm sáng tích cực khác của DevOps. Ví dụ: giao tiếp rõ ràng hơn và mối quan hệ làm việc tốt hơn giữa các nhóm, tức là cả nhóm Ops và nhóm Dev hợp tác với nhau để cung cấp phần mềm chất lượng tốt, từ đó dẫn đến sự hài lòng của khách hàng cao hơn.
Có nhiều ngành đang sử dụng DevOps để bạn có thể đề cập đến hay bạn cũng có thể tham khảo ví dụ dưới đây:
Etsy là một trang web thương mại điện tử mạng ngang hàng (P2P) tập trung vào các mặt hàng và vật tư thủ công hoặc cổ điển, cũng như các mặt hàng độc đáo sản xuất tại nhà máy. Etsy phải vật lộn với các cập nhật trang web chậm, rắc rối thường xuyên khiến trang web bị sập. Nó ảnh hưởng đến doanh số của hàng triệu người dùng Etsy, đó là những người bán hàng thông qua thị trường trực tuyến.
Với sự giúp đỡ của đội ngũ quản lý kỹ thuật mới, Etsy đã chuyển đổi từ mô hình thác nước (Waterfall Model) của mình, phương pháp mà toàn bộ các triển khai (deployments) được diễn ra bốn giờ hai lần mỗi tuần, sang một cách tiếp cận nhanh nhẹn hơn. Ngày nay, nó có một đường ống triển khai hoàn toàn tự động và các hoạt động phân phối liên tục của nó đã được báo cáo dẫn đến hơn 50 triển khai (deployments) mỗi ngày với ít gián đoạn hơn.
Đối với câu trả lời này, hãy chia sẻ kinh nghiệm trong quá khứ của bạn và cố gắng giải thích mức độ linh hoạt của bạn trong công việc. Hoặc bạn có thể tham khảo ví dụ dưới đây:
Các kỹ sư của DevOps hầu như luôn làm việc trong môi trường trực tuyến kinh doanh quan trọng 24/7. Tôi đã thích nghi với các nhiệm vụ theo yêu cầu và sẵn sàng nhận trách nhiệm hệ thống trực tiếp theo thời gian thực. Tôi thành công các quy trình tự động để hỗ trợ triển khai phần mềm liên tục. Tôi có kinh nghiệm với các public/private clouds, các công cụ như Chef hoặc Puppet, viết script và tự động hóa với các công cụ như Python và PHP và cơ bản về Agile.
Có thể bạn quan tâm: Top 10 tài liệu lập trình Python cơ bản và nâng cao
Một mô hình được sử dụng phổ biến thường được tuân theo. Nếu một mẫu thường được người khác chấp nhận không hoạt động cho tổ chức của bạn và bạn tiếp tục làm theo nó một cách mù quáng, thì về cơ bản, bạn đang áp dụng sai DevOps. Một số quan điểm sai lầm thường gặp nhất như:
Với bộ câu hỏi phỏng vấn DevOps này bạn đã tự tin hơn để diễn đạt khả năng làm việc theo phương pháp mới đang là xu hướng này trước nhà tuyển dụng?! Chúc bạn thành công!
Gợi ý tìm việc:
Tòa nhà TMA, Công viên phần mềm Quang Trung, P. Tân Chánh Hiệp, Quận 12
Fresher DevOps Engineer, Non Experience