10 câu hỏi có thể gặp khi phỏng vấn
Chọn theo kỹ năng và cấp của tin (AI / Machine Learning, C# & .NET, Python). Gợi ý trả lời do Drama Công Ty biên soạn để bạn ôn nhanh, không phải đề của công ty.
01Khi nào bạn chọn prompt engineering, RAG hay fine-tuning?AI / Machine Learning
Gợi ý trả lời
Ôn thêm câu hỏi AI / Machine Learning →Bắt đầu từ cách rẻ và nhanh nhất, chỉ nâng cấp khi đo được là chưa đủ.
- Prompting: thử đầu tiên; chỉ dẫn rõ, ví dụ mẫu (few-shot), định dạng đầu ra có cấu trúc.
- RAG: khi mô hình thiếu kiến thức (tài liệu nội bộ, dữ liệu thay đổi thường xuyên), cần trích dẫn nguồn.
- Fine-tuning: khi cần đổi hành vi ổn định (văn phong, định dạng, tác vụ hẹp lặp lại), hoặc muốn dùng mô hình nhỏ rẻ hơn thay mô hình lớn. Kỹ thuật như LoRA giảm chi phí.
Fine-tuning không phải cách tốt để nhồi kiến thức mới hay thay đổi liên tục; RAG hợp hơn.
Người phỏng vấn muốn nghe: có bộ đánh giá trước để so sánh các phương án bằng số liệu.
02Hallucination của LLM là gì? Bạn giảm thiểu nó trong sản phẩm thế nào?AI / Machine Learning
Gợi ý trả lời
Ôn thêm câu hỏi AI / Machine Learning →Hallucination là khi mô hình sinh ra nội dung nghe hợp lý nhưng sai hoặc không có căn cứ. Không loại bỏ hoàn toàn được, chỉ giảm và kiểm soát.
- Cung cấp ngữ cảnh đúng qua RAG, yêu cầu chỉ trả lời dựa trên nguồn và trích dẫn.
- Cho phép và khuyến khích trả lời "không đủ thông tin".
- Dùng đầu ra có cấu trúc (JSON schema) và kiểm tra hợp lệ bằng code.
- Với số liệu, tra cứu hoặc tính toán qua tool/API thay vì để mô hình tự nhớ.
- Kiểm tra sau sinh: đối chiếu câu trả lời với nguồn.
- Thiết kế UX hiển thị nguồn; tác vụ rủi ro cao có người duyệt.
Người phỏng vấn muốn nghe: đo tỷ lệ hallucination bằng bộ đánh giá, không chỉ dựa vào cảm giác.
03Bạn triển khai một mô hình ML lên production và theo dõi nó thế nào?AI / Machine Learning
Gợi ý trả lời
Ôn thêm câu hỏi AI / Machine Learning →Mô hình lên production là một phần mềm cần đóng gói, phiên bản hoá, giám sát và cập nhật như mọi dịch vụ khác.
- Đóng gói: lưu mô hình kèm phiên bản dữ liệu, code, siêu tham số (model registry).
- Phục vụ: API online hoặc chạy batch tuỳ yêu cầu độ trễ; dùng chung code tính đặc trưng giữa train và serve để tránh lệch.
- Triển khai an toàn: shadow hoặc canary, so sánh với mô hình cũ.
- Giám sát: độ trễ, lỗi; data drift (phân phối đầu vào thay đổi); chất lượng dự đoán khi có nhãn thật.
- Cập nhật: train lại định kỳ hoặc khi drift vượt ngưỡng, có rollback.
Hay sai: training-serving skew, xử lý đặc trưng ở hai nơi bằng hai đoạn code khác nhau.
04Lỗi N+1 query trong Entity Framework Core là gì và xử lý thế nào?C# & .NET
Gợi ý trả lời
Ôn thêm câu hỏi C# & .NET →N+1 là khi lấy danh sách N bản ghi bằng 1 query, rồi mỗi bản ghi lại phát sinh thêm 1 query để lấy dữ liệu liên quan, thường do lazy loading hoặc truy vấn trong vòng lặp.
Cách xử lý:
- Eager loading:
.Include(o => o.Items). - Tốt hơn nữa là projection chỉ lấy cột cần:
.Select(o => new OrderDto(o.Id, o.Items.Count)). - Include nhiều collection gây "cartesian explosion" thì dùng
.AsSplitQuery(). - Màn hình chỉ đọc thì thêm
.AsNoTracking()để giảm chi phí change tracking.
Để phát hiện, bật log SQL của EF Core khi phát triển, hoặc dùng công cụ APM xem số query mỗi request.
Người phỏng vấn muốn nghe: bạn kiểm tra SQL thực sự được sinh ra thay vì tin LINQ trông gọn là chạy nhanh.
- Eager loading:
05Garbage Collector của .NET hoạt động thế nào? Khi nào cần IDisposable?C# & .NET
Gợi ý trả lời
Ôn thêm câu hỏi C# & .NET →GC quản lý heap theo thế hệ: object mới ở Gen 0, sống sót qua lần thu gom thì lên Gen 1, Gen 2. Phần lớn object chết trẻ nên thu gom Gen 0 rất rẻ. Object lớn (khoảng từ 85 KB) vào Large Object Heap và chỉ được thu cùng Gen 2.
GC chỉ thu hồi bộ nhớ managed. Tài nguyên khác như file, socket, kết nối DB cần giải phóng chủ động qua
IDisposable:await using var conn = new NpgsqlConnection(cs); using var stream = File.OpenRead(path);- Finalizer chỉ là lưới an toàn, chạy không xác định thời điểm và tốn chi phí.
Hay sai: tạo mới
HttpClientcho mỗi request rồi dispose, dễ cạn socket. Hãy dùngIHttpClientFactoryhoặc một instance dùng chung.06Context manager (
with) là gì? Làm sao tự viết một context manager?PythonGợi ý trả lời
Ôn thêm câu hỏi Python →Context manager đảm bảo việc "mở" và "dọn dẹp" luôn đi cùng nhau, kể cả khi có exception: đóng file, trả connection, nhả lock, rollback transaction.
Cách nhanh nhất là dùng
contextlib.contextmanager:from contextlib import contextmanager @contextmanager def db_transaction(conn): try: yield conn conn.commit() except Exception: conn.rollback() raise- Cách đầy đủ: viết class có
__enter__và__exit__(self, exc_type, exc, tb). Nếu__exit__trả vềTruethì exception bị nuốt. - Bản async:
async with,__aenter__/__aexit__hoặcasynccontextmanager.
Hay sai: quên
raiselại exception trong khốiexcept, khiến lỗi bị che mất và code phía sau tưởng mọi thứ đã thành công.- Cách đầy đủ: viết class có
07Bạn đánh giá chất lượng một ứng dụng LLM (chatbot, RAG) thế nào trước khi ra mắt và mỗi lần thay đổi prompt?AI / Machine Learning · Senior
Gợi ý trả lời
Ôn thêm câu hỏi AI / Machine Learning →Xây một bộ đánh giá (eval set) đại diện cho câu hỏi thật, chạy tự động như test hồi quy mỗi khi đổi prompt, mô hình hay cách truy xuất.
- Dữ liệu: câu hỏi thật đã ẩn danh, trường hợp khó, câu hỏi ngoài phạm vi, câu cố tình phá.
- Đánh giá truy xuất: tài liệu đúng có nằm trong top-k không (recall@k).
- Đánh giá câu trả lời: đúng sự thật, bám nguồn, đầy đủ, đúng định dạng; dùng kiểm tra bằng code khi được, LLM-as-judge có rubric rõ, và người chấm mẫu để hiệu chỉnh.
- Sau ra mắt: thu phản hồi người dùng, log và soi các ca thất bại để bổ sung bộ eval.
Hay sai: chỉ thử vài câu bằng tay rồi kết luận "ổn".
08Chi phí và độ trễ của ứng dụng LLM quá cao. Bạn tối ưu thế nào?AI / Machine Learning · Senior
Gợi ý trả lời
Ôn thêm câu hỏi AI / Machine Learning →Đo trước: chi phí và độ trễ đến từ số token vào/ra, kích thước mô hình, số lần gọi trong một yêu cầu.
- Chọn mô hình: định tuyến, việc dễ cho mô hình nhỏ, việc khó mới gọi mô hình lớn.
- Giảm token: prompt gọn, truy xuất ít đoạn nhưng chính xác hơn (rerank), giới hạn độ dài đầu ra.
- Prompt caching cho phần prompt cố định lặp lại; cache câu trả lời cho câu hỏi trùng.
- Streaming để người dùng thấy chữ sớm, cải thiện độ trễ cảm nhận.
- Gộp việc không gấp thành batch.
- Tự host: quantization, batching động, engine suy luận tối ưu.
Người phỏng vấn muốn nghe: mọi tối ưu đều kiểm tra lại bằng bộ eval để chắc chất lượng không giảm.
09Chatbot RAG trả lời sai dù tài liệu có thông tin đúng. Bạn debug thế nào?AI / Machine Learning · Senior
Gợi ý trả lời
Ôn thêm câu hỏi AI / Machine Learning →Tách lỗi theo từng khâu của pipeline, kiểm tra từ dưới lên.
- Dữ liệu: tài liệu đã được nạp chưa, trích xuất từ PDF/bảng có bị vỡ không, có phiên bản cũ mâu thuẫn không.
- Chunking: thông tin cần thiết có bị cắt đôi giữa hai chunk không.
- Truy xuất: log các chunk lấy về cho câu hỏi đó; đúng chunk có nằm trong top-k không. Thử hybrid search, rerank, viết lại câu hỏi.
- Sinh: chunk đúng đã có trong prompt mà vẫn sai thì xem prompt, thứ tự đặt ngữ cảnh, quá nhiều ngữ cảnh nhiễu.
- Thêm ca này vào bộ eval để tránh tái diễn.
Người phỏng vấn muốn nghe: có tracing để xem từng bước, không đoán mò.
10Kể về một lần bạn bất đồng với đồng nghiệp hoặc trưởng nhóm. Bạn xử lý thế nào?Câu hỏi hành vi & văn hoá
Gợi ý trả lời
Ôn thêm câu hỏi Câu hỏi hành vi & văn hoá →Dùng STAR: Situation (bối cảnh), Task (nhiệm vụ), Action (bạn làm gì), Result (kết quả). Phần Action nên chiếm nhiều nhất.
Câu mẫu:
- S: "Lead muốn dùng một thư viện mới cho module báo cáo, em thấy thư viện đó còn ít người dùng và lo về bảo trì."
- T: "Em cần nêu rủi ro mà không làm chậm tiến độ."
- A: "Em gặp riêng anh, đưa so sánh hai phương án và đề xuất làm thử một bản nhỏ trong hai ngày để đánh giá."
- R: "Kết quả thử cho thấy thư viện cũ đáp ứng đủ, anh đồng ý giữ lại. Từ đó team có thói quen làm bản thử trước khi đổi công nghệ."
Người phỏng vấn muốn nghe: bạn tranh luận bằng dữ liệu, tôn trọng người khác, và chấp nhận quyết định cuối cùng kể cả khi không theo ý mình.
Bạn đã phỏng vấn ở Simpson Strong-Tie Vietnam?
Kể lại các vòng và câu hỏi đã gặp (ẩn danh) để người sau ôn đúng trọng tâm.
Chia sẻ kinh nghiệm phỏng vấn