Chuyển đến nội dung chính
Hướng dẫn AI

Hướng dẫn dự án phỏng vấn AI Coding thực tế: từ phân tích yêu cầu đến bàn giao đúng hạn

Dựa trên ba dự án phỏng vấn thực tế đã được ẩn danh, hướng dẫn này trình bày cách cố định phạm vi, kiểm tra repository, thiết kế trạng thái và runtime, phân tách nhiệm vụ AI, đồng thời hoàn tất bàn giao đáng tin cậy qua kiểm thử, trình diễn và tài liệu.

Hướng dẫn dự án phỏng vấn AI Coding thực tế đến bàn giao đúng hạn

Tổng quan dự án

Repository này tổng hợp ba bài dự án AI Coding từ quy trình tuyển dụng thực tế, đồng thời rút ra một phương pháp chung phù hợp cho bài kiểm tra có thời hạn, Take-home Assignment và lập trình đôi trực tiếp. Nội dung đề bài đã được ẩn danh và cấu trúc lại, không bao gồm tên công ty, người phỏng vấn, nhân viên tuyển dụng hay khách hàng.

Bản thân repository chủ yếu lưu phần tổng kết đề bài và phương pháp luận. Ba lời giải cá nhân tương ứng nằm trong các repository độc lập, bao gồm mã nguồn, tài liệu thiết kế, kiểm thử và ghi chép bàn giao thực tế.

Những dự án này thực sự đánh giá không chỉ khối lượng mã viết ra, mà còn khả năng hiểu yêu cầu, xác định ranh giới kiến trúc, kiểm soát quy trình, cung cấp bằng chứng nghiệm thu và đưa ra đánh đổi.

Ba bài dự án đánh giá những gì

01: Computer Use Agent Dashboard

Bài đầu tiên yêu cầu xây dựng một hệ thống kết hợp Web, Agent và desktop隔离, tập trung đánh giá Computer Use, vòng lặp gọi công cụ, cách ly phiên, khả năng quan sát và độ tin cậy của runtime.

Khi xử lý dạng dự án này, không thể chỉ hoàn thành việc gọi API mô hình và hiển thị giao diện. Cần quan tâm đến cách Agent gọi công cụ, cách ly các phiên khác nhau, cũng như khả năng quan sát và khôi phục trạng thái lỗi.

02: Agent hành động React Native từ ảnh chụp màn hình

Bài thứ hai là một dự án React Native/iOS trong 48 giờ. Dự án sử dụng ảnh chụp màn hình làm đầu vào, tập trung đánh giá khả năng hiểu đa phương thức, Action có cấu trúc, Human-in-the-loop, công cụ native và Memory.

Điểm then chốt của dạng bài này là tạo thành một vòng khép kín: hiểu ảnh chụp màn hình, tạo hành động có cấu trúc, cho người dùng xác nhận và thực thi thông qua năng lực native phù hợp, thay vì chỉ xuất ra một đoạn đề xuất bằng ngôn ngữ tự nhiên.

03: Hệ thống quản lý nhiệm vụ kiểu Jira

Bài thứ ba yêu cầu hoàn thành một Web MVP trong một ngày, chủ yếu đánh giá khả năng lựa chọn yêu cầu, CRUD, kéo thả bảng công việc, lưu trữ cục bộ, dòng thời gian và chất lượng bàn giao tổng thể.

Dự án này còn lưu lại 24 lượt hội thoại AI Coding thực tế từ PRD đến Repo Wiki, có thể dùng để quan sát cách yêu cầu, triển khai và tài liệu được thúc đẩy từng bước.

Xem 24 lượt hội thoại thực tế của ForceTrack

Phương pháp cốt lõi: hoàn thành dự án AI Coding qua sáu bước

Phương pháp chung cho dự án AI Coding chia toàn bộ quy trình thành sáu giai đoạn. Dù đề bài là Agent, ứng dụng di động hay hệ thống CRUD, bạn đều có thể thực hiện theo thứ tự này.

Bước 1: Làm rõ yêu cầu và cố định phạm vi

Trước tiên, chuyển mô tả mơ hồ thành phạm vi P0 có thể kiểm chứng. Phân biệt nội dung bắt buộc hoàn thành, có thể trì hoãn và rõ ràng không thực hiện, nhằm tránh liên tục mở rộng yêu cầu trong dự án có thời hạn.

Có thể bắt đầu bằng một ma trận yêu cầu đơn giản:

Yêu cầu: Người dùng có thể thực hiện thao tác gì?
Nghiệm thu: Làm thế nào để chứng minh thao tác thành công?
Ưu tiên: Có thuộc P0 không?
Trạng thái: Chưa bắt đầu, đang thực hiện hay đã xác minh?
Rủi ro: Phụ thuộc, quyền hạn, đường dẫn lỗi hoặc chi phí thời gian là gì?

Điểm quan trọng của ma trận không nằm ở định dạng, mà ở việc mỗi hạng mục công việc đều gắn với bằng chứng nghiệm thu rõ ràng.

Bước 2: Kiểm tra Starter hoặc repository hiện có

Nếu bên phỏng vấn cung cấp Starter, đừng lập tức viết lại. Trước tiên hãy kiểm tra cấu trúc thư mục, dependency, cách build, mô hình dữ liệu và các component có thể tái sử dụng, sau đó quyết định phần nào cần giữ lại, mở rộng hoặc thay thế.

  • Xác nhận dự án có thể cài đặt, build và chạy bình thường.
  • Xác định giải pháp quản lý trạng thái, lưu trữ và kiểm thử hiện có.
  • Kiểm tra các ràng buộc về nền tảng, quyền hạn và runtime.
  • Ghi lại các mục bị chặn để tránh cho AI tiếp tục tạo mã dựa trên giả định sai.

Bước 3: Thiết kế dữ liệu, trạng thái, công cụ và runtime

Các đề bài khác nhau sẽ nhấn mạnh những ranh giới khác nhau: dự án Agent cần cân nhắc vòng lặp công cụ, cách ly phiên và khôi phục lỗi; dự án di động cần cân nhắc Action có cấu trúc, xác nhận của người dùng và công cụ native; hệ thống nhiệm vụ cần chú trọng CRUD, trạng thái kéo thả, lưu trữ cục bộ và dòng thời gian.

Khi thiết kế, cần xác định rõ trạng thái bình thường, trạng thái tải, trạng thái lỗi và phương thức khôi phục. Chỉ có luồng chính mà không có điều kiện biên thường chưa đủ để tạo thành một vòng bàn giao hoàn chỉnh.

Bước 4: Phân tách nhiệm vụ AI bằng các lát cắt dọc

Không nên yêu cầu AI tạo toàn bộ hệ thống trong một lần. Cách chắc chắn hơn là tiến hành theo các lát cắt dọc, để mỗi lát cắt bao gồm dữ liệu, logic, giao diện và bước xác minh cần thiết.

Hợp đồng nhiệm vụ giao cho AI ít nhất nên nêu rõ các nội dung sau:

Mục tiêu: Kết quả có thể quan sát cần hoàn thành trong lượt này
Phạm vi: Các module được phép chỉnh sửa
Ràng buộc: Công nghệ, thời gian và yêu cầu tương thích
Nghiệm thu: Các thao tác hoặc kiểm tra bắt buộc phải vượt qua
Mục cấm: Các chức năng không nên mở rộng trong lượt này

Cách phân tách này giúp giảm trôi ngữ cảnh và thuận tiện cho việc rà soát thủ công qua từng lượt.

Bước 5: Review thủ công và xác minh tự động

AI có thể tăng tốc độ triển khai, nhưng phán đoán kỹ thuật vẫn thuộc về developer. Sau mỗi lượt chỉnh sửa, cần kiểm tra mã có phù hợp với yêu cầu hay không, có phá vỡ hành vi hiện có không và các đường dẫn lỗi đã được xử lý chưa.

  • Chạy các bài kiểm thử và quy trình build hiện có.
  • Kiểm tra thủ công các luồng người dùng cốt lõi.
  • Kiểm tra trạng thái, quyền hạn, lưu trữ và điều kiện biên.
  • Xác nhận nội dung hiển thị trên giao diện khớp với kết quả chạy thực tế.
  • Ghi lại kết quả nghiệm thu, thay vì chỉ ghi “đã tạo mã”.

Bước 6: Lựa chọn trong thời hạn, trình diễn và bàn giao cuối cùng

Khi thiếu thời gian, cần chủ động loại bỏ phạm vi có giá trị thấp và ưu tiên bảo đảm vòng khép kín P0. Bàn giao cuối cùng không chỉ bao gồm mã nguồn, mà còn phải dùng kết quả build, kiểm thử, trình diễn và tài liệu để chứng minh dự án thực sự có thể chạy.

Một checklist bàn giao ngắn gọn có thể viết như sau:

Luồng cốt lõi đã hoàn chỉnh chưa?
Dự án có thể build và khởi động không?
Các đường dẫn lỗi quan trọng đã được xử lý chưa?
Dữ liệu hoặc trạng thái có được lưu theo yêu cầu không?
Các bước trình diễn có ổn định và có thể tái hiện không?
Tài liệu có nêu rõ phạm vi, đánh đổi và giới hạn đã biết không?

Cách bắt đầu sử dụng repository này

Đây là repository tổng kết đề bài và phương pháp luận, không phải một ứng dụng cần cài dependency và khởi động thống nhất. Vì vậy, công việc chuẩn bị chủ yếu là đọc tài liệu, sao chép template và lập kế hoạch thực hiện riêng cho từng đề bài.

  1. Clone hoặc tải repository hiện tại từ trang GitHub.
  2. Đọc lần lượt ba bài dự án để hiểu mục tiêu kỹ thuật và trọng tâm nghiệm thu của từng dạng.
  3. Đọc phương pháp chung, sao chép ma trận yêu cầu, hợp đồng nhiệm vụ và checklist bàn giao.
  4. Chọn một bài và thu gọn yêu cầu thành phạm vi P0 có thể hoàn thành trong thời hạn.
  5. Nếu cần nghiên cứu chi tiết triển khai, hãy vào repository lời giải cá nhân tương ứng để xem mã nguồn, tài liệu thiết kế và kiểm thử.

README khuyến nghị thứ tự đọc ba bài trước, sau đó đọc phương pháp chung. Khi thực hiện thực tế, không cần sao chép đầy đủ mọi template; hãy lược bớt theo quy mô và thời hạn của dự án.

Ví dụ thực hành cơ bản

Giả sử bạn đang luyện tập hệ thống quản lý nhiệm vụ kiểu Jira, trước tiên có thể giới hạn mục tiêu trong một ngày vào vòng cốt lõi có thể kiểm chứng: triển khai và nghiệm thu CRUD, kéo thả bảng công việc, lưu trữ cục bộ và dòng thời gian. Sau mỗi phần hoàn thành, hãy đồng thời xác minh kết quả cập nhật trạng thái và lưu trữ, thay vì chờ hoàn thành tất cả trang rồi mới kiểm thử một lần.

Nếu luyện tập Agent hành động từ ảnh chụp màn hình, có thể tổ chức các lát cắt dọc xoay quanh “đầu vào ảnh chụp màn hình, hiểu đa phương thức, Action có cấu trúc, xác nhận người dùng, công cụ native”. Mỗi giai đoạn đều phải giữ lại bước xác nhận và xác minh thủ công, tránh xem đầu ra của mô hình là kết quả thực thi đáng tin cậy ngay lập tức.

Đối với Computer Use Agent Dashboard, nên ưu tiên xác minh vòng lặp công cụ, cách ly phiên, khả năng quan sát và độ tin cậy của runtime. Giao diện chỉ là một phần của hệ thống; khả năng truy vết quá trình chạy và cách xử lý sau khi lỗi cũng thuộc phạm vi nghiệm thu.

Kỹ thuật nâng cao

Đặt bằng chứng nghiệm thu lên trước số lượng chức năng

Trong dự án có thời hạn, ba chức năng hoàn chỉnh đã được kiểm thử và trình diễn thường thuyết phục hơn mười trang không thể chạy ổn định. Mỗi chức năng P0 cần có thể được chứng minh qua thao tác, kiểm thử, kết quả build hoặc tài liệu.

Để AI tăng tốc triển khai, không thay thế quyết định

AI phù hợp với các nhiệm vụ có ranh giới rõ ràng, nhưng việc phân chia phạm vi, lựa chọn kiến trúc, đánh giá rủi ro và Review cuối cùng vẫn cần do developer kiểm soát. Nhiệm vụ càng mơ hồ, rủi ro phải làm lại khi tạo lượng lớn mã trong một lần càng cao.

Ưu tiên kiểm tra trạng thái và đường dẫn khôi phục

Mặc dù ba bài có hình thức khác nhau, cả ba đều liên quan đến trạng thái, lỗi, khôi phục, quyền hạn, lưu trữ hoặc điều kiện biên. Trước khi trình diễn, cần chủ động kiểm thử đầu vào bất thường, lỗi công cụ, chuyển đổi trạng thái và hành vi khi vào lại ứng dụng.

Dùng lịch sử hội thoại thực tế để tổng kết cách cộng tác

24 lượt hội thoại thực tế của ForceTrack phù hợp để phân tích hoạt động kiểm soát quy trình AI Coding. Khi đọc, có thể chú ý cách mục tiêu hội tụ qua từng lượt, cách nhiệm vụ được phân tách và cách kết quả dần được tích lũy từ PRD vào Repo Wiki.

Kết luận

Giá trị của tài liệu này không chỉ nằm ở việc cung cấp ba bài luyện tập, mà còn ở việc trình bày một cách tiếp cận bàn giao AI Coding có thể tái sử dụng: trước tiên hiểu yêu cầu và cố định phạm vi, sau đó kiểm tra môi trường, thiết kế ranh giới, phân tách nhiệm vụ, review thủ công, cuối cùng hoàn tất nghiệm thu bằng kiểm thử, build, trình diễn và tài liệu.

Đề bài, thời hạn và yêu cầu bảo mật trong quy trình tuyển dụng thực tế có thể khác nhau. Khi sử dụng các phương pháp này, hãy luôn lấy tài liệu chính thức nhận được làm chuẩn và chủ động lược bỏ phạm vi có giá trị thấp theo thời gian.