post-image

Top 20 câu hỏi phỏng vấn Agile

Tổng quan

Trong bài viết này, tôi đưa ra các câu hỏi phỏng vấn về Agile Scrum phù hợp nhất với câu trả lời và hy vọng những câu hỏi này sẽ giúp bạn trong khi chuẩn bị các câu hỏi phỏng vấn.

1. Agile hoặc Agile methodology là gì?

Agile là một phương pháp phát triển phần mềm linh hoạt, là một hướng tiếp cận cụ thể cho việc quản lý dự án phần mềm. Nó gồm một quá trình làm việc tương tác và tích hợp để có thể đưa sản phẩm đến tay người dùng càng nhanh càng tốt.

2. Một số chiến lược chất lượng của Agile là gì?

  • Iteration
  • Re-factoring
  • Dynamic code analysis
  • Short feedback cycles
  • Reviews and inspection
  • Standards and guidelines
  • Milestone reviews

3. Tuyên ngôn Agile là gì? Nguyên tắc của nó là gì?

Aigle có 4 tuyên ngôn:

  • Individuals and interactions over processes and tools: Cá nhân và sự tương tác hơn là quy trình và công cụ
  • Working software over comprehensive documentation: Phần mềm chạy tốt hơn là tài liệu đầy đủ
  • Customer collaboration over contract negotiation: Cộng tác với khách hàng hơn là đàm phán hợp đồng
  • Responding to change over following a plan: Phản hồi với sự thay đổi hơn là bám theo kế hoạch

Agile có 12 nguyên tắc:

  • Đáp ứng toàn diện nhu cầu khách hàng thông qua việc giao hàng sớm và sản phẩm có giá trị.
  • Thay đổi yêu cầu được chào đón, thậm chí là rất muộn trong quá trình phát triển.
  • Giao phần mềm chạy được cho khách hàng một cách thường xuyên.
  • Nhà kinh doanh và các kỹ sư phần mềm cần làm việc cùng nhau trong suốt dự án.
  • Xây dựng dự án xung quanh các cá nhân có động lực. Cung cấp sự hỗ trợ cần thiết, môi trường làm việc và niềm tin để hoàn thành công việc.
  • Trao đổi trực tiếp là cách truyền đạt thông tin hiệu quả nhất.
  • Thước đo chính của tiến độ là phần mềm chạy tốt.
  • Phát triển liên tục và bền vững.
  • Cải tiến sự linh hoạt bằng cách quan tâm đến kỹ thuật và thiết kế.
  • Nghệ thuật tối đa hóa lượng công việc chưa xong – Sự đơn giản là cần thiết.
  • Nhóm tự tổ chức
  • Thích ứng thường xuyên với những thay đổi.

4. Nhược điểm của mô hình Agile (SDLC)?

  • Việc hiểu sai tài liệu, mất tài liệu do Agile không yêu cầu tài liệu. Những yêu cầu được gửi đến cho đội sản xuất khi chưa đầy đủ các thông tin cần thiết.
  • Những thay đổi requirement là quá nhiều và dồn dập sẽ gây ra những đánh giá và kế hoạch không đúng đắn.

5. Biểu đồ burn-up và burn-down là gì?

  • Burndown chart giúp nhóm biết lượng công việc còn lại: Khi một nhóm đã chỉ định giá trị story point cho tất cả user stories trong sprint backlog, họ có thể sử dụng burndown chart để quản lý tiến độ của sprint đang triển khai. Burndown chart là một biểu đồ đường đơn giản cho biết có bao nhiêu story points được hoàn thành mỗi ngày trong suốt Sprint. Nó cho mọi người biết rõ ràng về lượng công việc còn lại phải hoàn thành bất cứ lúc nào. Bằng cách sử dụng burn-down chart, mọi người trong nhóm có thể biết được mình cách mục tiêu Sprint bao xa.

Tổng hợp 200+ tài liệu, sách, bài thực hành, video hướng dẫn lập trình… từ cơ bản đến nâng cao

Burndown chart giúp nhóm biết lượng công việc còn lại
  • Burn-up chart thể hiện tiến độ và phạm vi dự án tách biệt với nhau: Một cách khác để theo dõi tiến độ của Sprint là sử dụng burn-up chart. Thay vì trừ con số story points bạn đã hoàn thành, hãy ghi lại tổng số points tích lũy trong suốt Sprint và hiển thị tổng phạm vi công việc trên một đường riêng biệt. Khi stories được thêm vào hoặc xóa khỏi phạm vi công việc, chúng ta có thể thấy rõ bằng cách nhìn vào đường phạm vi. Khi stories được đưa vào cột “Done” trên task board, nhóm cũng dễ dàng nhận thấy điều đó bằng cách xem tổng số points đã được tích lũy (burned up) trong Sprint. Vì phạm vi được theo dõi trên một đường khác với số điểm đã hoàn thành, nên sẽ rõ ràng hơn khi phạm vi thay đổi.
Burn-up chart thể hiện tiến độ và phạm vi dự án tách biệt với nhau

Hai dạng biểu đồ này có thể dễ dàng tạo thủ công bằng bút và giấy, hoặc chúng có thể được tạo bằng cách nhập dữ liệu vào chương trình như excel, hay các công cụ quản lý dự án như Jira,…

TÀI LIỆU HỌC LẬP TRÌNH

6. Bạn có hiểu Daily Stand-Up là gì?

Mỗi thành viên trong nhóm nên lần lượt trả lời ba câu hỏi sau:

  1. Tôi đã làm những gì ngày hôm trước?
  2. Tôi sẽ làm những gì ngày hôm nay?
  3. Những gì cản trở tôi hoàn thành mục tiêu của mình (rào cản, trở ngại, v.v.)?

7. Bạn có hiểu Srum?

Scrum là một framework giúp các nhóm nhanh nhẹn làm việc cùng nhau để phát triển, cung cấp và duy trì sản phẩm phức tạp trong thời gian ngắn nhất. Sản phẩm do nhóm scrum cung cấp trong thời gian ngắn nhất này được gọi là sprint.

8. Các vai trò khác nhau trong Scrum là gì?

  • Chủ sản phẩm(Product Owner)
  • Điều phối viên(Scrum Master)
  • Nhóm phát triển(Development Team)

9. Các trách nhiệm của Scrum Master là gì?

  • Đảm bảo cho quy trình Scrum được tuân thủ
  • Thúc đẩy các sự kiện Scrum theo yêu cầu hoặc khi cần thiết
  • Huấn luyện nhóm phát triển cách tự tổ chức và làm việc liên chức năng
  • Lọai bỏ các trở lực trong quá trình tác nghiệp của nhóm phát triển
  • Phát hiện và giúp nhóm phát triển giải quyết các vấn đề
  • Giúp nhóm phát triển học hỏi từ các kinh nghiệm

TÀI LIỆU HỌC LẬP TRÌNH

10. What are different ceremonies and their importance in Scrum?

To clearly express the Scrum planning, Scrum review, Scrum Daily stand up, and scrum retrospective is the purpose of the ceremony. The importance of these ceremonies is to use sprint as per your project.

11. Bạn biết gì về lệnh cấm Scrum?

Scrumban được giới thiệu như một quy trình đơn giản để quản lý những project phức tạp. Hiện nay Scrumban được áp dụng tốt nhất khi phát triển trên web, software development hoặc maintenance.

12. Bạn hiểu gì về thuật ngữ agile testing?

Agile testing là quy trình kiểm thử phần mềm hoàn toàn dựa trên nguyên tắc phát triển agile. Đây là cách tiếp cận lặp đi lặp lại trong đó câu chuyện của người dùng trở thành kết quả của sự hợp tác giữa chủ sở hữu sản phẩm và nhóm phát triển.

13. Các nguyên tắc chính của kiểm thử agile là gì?

  • Sự hài lòng của khách hàng
  • Giao tiếp mặt đối mặt
  • Phát triển bền vững
  • Phản hồi liên tục
  • Phản hồi nhanh các thay đổi
  • Cải tiến liên tục
  • Tự tổ chức
  • Tập trung vào bản chất
  • Không có lỗi
  • Làm việc tập thể

14. Kỹ năng của một người kiểm thử agile giỏi là gì?

Agile tester là người thực hiện nguyên tắc của các nguyên tắc phát triển phần mềm agile để kiểm thử phần mềm. Một người kiểm tra nhanh nhẹn xuất sắc có các kỹ năng sau:

  • phải quen thuộc với các nguyên tắc và khái niệm của agile.
  • phải có kỹ năng giao tiếp tuyệt vời để giao tiếp với nhóm và khách hàng.
  • có thể đặt mức độ ưu tiên của một nhiệm vụ theo yêu cầu của khách hàng.
  • có thể hiểu đúng yêu cầu của khách hàng.
  • nên hiểu rủi ro của dự án do nhu cầu thay đổi.

15. Name the agile frameworks.

  • Scrum
  • Kanban
  • Feature Driven Development
  • Test Driven Development

16. Có bao giờ đề xuất sử dụng waterfall trên Scrum không? Nếu có, hãy giải thích khi nào.

Có, đôi khi chúng tôi sử dụng mô-đun thác nước trên scrum. Điều này là do khi yêu cầu của khách hàng là đơn giản, nhỏ, được xác định rõ ràng, hiểu đầy đủ, có thể dự đoán được và chủ đề không thay đổi cho đến khi dự án hoàn thành.

17. Kể tên một số phương pháp luận và sự phát triển mà bạn đã sử dụng mô hình Agile.

Trong khi trả lời loại câu hỏi này, hãy nhớ đề cập đến những phương pháp luận mà bạn đã quen thuộc. Một số phương pháp mà agile được sử dụng là:

  • Crystal methodologies
  • Lean software development
  • Dynamic development
  • Feature-driven development

18. Độ dài của các lần chạy sprint trong dự án của bạn là bao nhiêu?

Đó là một câu hỏi phổ biến cho những người có kinh nghiệm. Ý tưởng đằng sau là đánh giá xem bạn đã làm việc trong môi trường nào? Sẽ có câu hỏi tiếp theo là độ dài cố định ngay từ đầu và không bao giờ thay đổi? Bạn đã thử với độ dài nhỏ hơn độ dài này hoặc hơn thế?

19. Sự khác biệt giữa cách làm việc agile và truyền thống là gì?

Cách phát triển truyền thống là theo trình tự nơi thiết kế -> phát triển -> thử nghiệm được thực hiện, trong khi, trong phát triển Agile, tất cả điều này được thực hiện trong mỗi sprint.

20. Tại sao Scrum khuyến khích sử dụng kiểm thử tự động cho các dự án?

Do khả năng phân phối dự án nhanh hơn, quá trình phát triển Scrum khuyến khích sử dụng kiểm tra tự động (hiệu Do khả năng phân phối dự án nhanh hơn, quá trình phát triển Scrum khuyến khích sử dụng thử nghiệm tự động (hiệu suất tự động hoặc hồi quy tự động). Trong khi trả lời câu hỏi này, bạn nên giải thích một số công cụ mà bạn đã sử dụng để kiểm tra tự động.

Chúc bạn thành công.

Các bài viết khác: https://hocspringboot.net/2021/08/24/gioi-thieu-ve-feign/

Leave a Reply

Your email address will not be published.