AI viết code gọi một hàm của thư viện mà bạn chưa từng thấy. Bạn kiểm tra nó có thật không bằng cách nào?
Gợi ý trả lời
Người phỏng vấn muốn biết bạn có coi code do AI viết là bản nháp cần kiểm chứng hay không, và bạn có biết những cách kiểm chứng rẻ, nhanh, đáng tin hay chỉ hỏi lại AI.
Cách đáng tin nhất là dùng nguồn mà AI không thể bịa. Bạn tìm tên hàm trong code hoặc file kiểu của thư viện đang cài, ví dụ tìm trong node_modules. Nếu tìm không ra thì hàm không có ở phiên bản đang dùng. Hỏi lại AI "hàm này có thật không" là cách kém tin cậy, vì nó có thể trả lời chắc chắn theo đúng cách đã bịa lúc đầu.
Có ba lớp kiểm chứng, từ rẻ đến kỹ:
- Chạy thử. Bắt được lỗi trên đường chương trình đi qua, nhưng chỉ thấy lỗi từng cái một, và lỗi nằm trong nhánh ít chạy sẽ nằm im tới khi có người dùng thật đụng tới.
- Trình biên dịch hoặc linter. Với TypeScript,
tsc --noEmitđọc cả file và báo mọi lời gọi sai hình dạng trong một lượt. Một lỗi ở đầu chuỗi có thể kéo theo các lỗi hệ quả, nên sửa lỗi đầu rồi chạy lại. - Test. Bắt được hành vi mà bạn đã nghĩ ra để kiểm tra, ví dụ "sửa tin nhắn của người này không đụng tới sổ của người kia".
Ý quan trọng để nêu: cả ba lớp đều không bắt được code đúng hình dạng nhưng sai ý nghĩa. Một hàm có thật nhưng dùng sai, hay tìm trong dữ liệu chung thay vì dữ liệu của riêng từng người, vẫn qua hết. Vì vậy cuối cùng cần đọc tài liệu chính thức cho những điều như "mã này có duy nhất trong phạm vi nào" và tự viết test cho các tình huống quan trọng.
Điểm cộng: kể rằng bạn coi mỗi hàm lạ AI đưa ra là một câu hỏi cần trả lời chứ không phải câu trả lời, và nhắc rằng tên hàm bịa thường mượn từ thư viện tương tự (như hàm của Telegraf trong grammY).