Việc làm

11/09 · Hồ Chí Minh · Tại văn phòng

Agentic AI Engineer (LLM, Python)

CÔNG TY TNHH NEXLAB IT SOLUTIONS · AI / Machine Learning Engineer

Xem mô tả & ứng tuyển trên ITviecMô tả công việc, lương và ứng tuyển nằm ở ITviec.

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, 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.

  1. 01Xây dựng AI agent có gọi tool (API, database) cần lưu ý gì về độ tin cậy và an toàn?AI / Machine Learning · Senior

    Gợi ý trả lời

    Agent cho LLM tự quyết định gọi tool theo nhiều bước, nên lỗi và rủi ro tăng theo số bước; cần giới hạn quyền và kiểm soát chặt.

    • Tool rõ ràng: mô tả và schema tham số chặt, kiểm tra đầu vào bằng code trước khi thực thi.
    • Quyền tối thiểu: tool chỉ đọc khi có thể; thao tác ghi, xoá, chuyển tiền cần người xác nhận.
    • Prompt injection: nội dung lấy từ web, email, tài liệu là dữ liệu không tin cậy; không để nó điều khiển tool nhạy cảm.
    • Giới hạn số bước, timeout, ngân sách token; xử lý lỗi tool và cho phép thử lại có kiểm soát.
    • Log và tracing toàn bộ chuỗi hành động để audit.
    • Đánh giá theo tỷ lệ hoàn thành tác vụ trên bộ kịch bản.

    Người phỏng vấn muốn nghe: workflow cố định thường đủ; chỉ dùng agent tự do khi thật cần.

    Ôn thêm câu hỏi AI / Machine Learning →
  2. 02Overfitting và underfitting là gì? Bạn phát hiện và khắc phục thế nào?AI / Machine Learning · Junior

    Gợi ý trả lời

    Overfitting là mô hình học thuộc cả nhiễu của tập train nên kém trên dữ liệu mới; underfitting là mô hình quá đơn giản, kém ngay cả trên tập train.

    Phát hiện: so sánh lỗi train và validation. Train tốt mà validation kém là overfit; cả hai đều kém là underfit.

    Khắc phục overfitting:

    • Thêm dữ liệu, data augmentation.
    • Regularization (L1/L2, dropout, weight decay), early stopping.
    • Giảm độ phức tạp mô hình, bớt đặc trưng nhiễu.

    Khắc phục underfitting: mô hình mạnh hơn, đặc trưng tốt hơn, train lâu hơn, giảm regularization.

    Người phỏng vấn muốn nghe: liên hệ với bias-variance trade-off và dùng cross-validation khi dữ liệu ít.

    Ôn thêm câu hỏi AI / Machine Learning →
  3. 03Vì sao phải chia train/validation/test? Data leakage là gì?AI / Machine Learning · Junior

    Gợi ý trả lời

    Train để học tham số, validation để chọn mô hình và siêu tham số, test để ước lượng hiệu năng thật lúc cuối và chỉ dùng một lần.

    Data leakage là khi thông tin không có ở thời điểm dự đoán lọt vào lúc train, khiến kết quả offline đẹp nhưng chạy thật thì kém.

    Ví dụ hay gặp:

    • Chuẩn hoá hoặc chọn đặc trưng trên toàn bộ dữ liệu trước khi chia tập.
    • Dữ liệu chuỗi thời gian chia ngẫu nhiên thay vì theo thời gian.
    • Đặc trưng chứa thông tin từ tương lai hoặc từ chính nhãn (như "ngày huỷ hợp đồng" khi dự đoán khách rời bỏ).
    • Cùng một người dùng xuất hiện ở cả train và test.

    Hay sai: tinh chỉnh nhiều lần dựa trên tập test, biến nó thành validation.

    Ôn thêm câu hỏi AI / Machine Learning →
  4. 04Phân biệt list, tuple, set và dict. Kiểu nào mutable, kiểu nào immutable và vì sao điều đó quan trọng?Python · Junior

    Gợi ý trả lời

    list là dãy có thứ tự, sửa được. tuple có thứ tự nhưng bất biến. set là tập không trùng lặp. dict là cặp key-value, giữ thứ tự chèn từ Python 3.7.

    • Mutable: list, dict, set. Immutable: tuple, str, int, frozenset.
    • Key của dict và phần tử của set phải hashable, nên dùng được tuple nhưng không dùng được list.
    • Kiểm tra x in my_set trung bình O(1), còn x in my_list là O(n). Cần tra cứu nhiều lần thì đổi sang set.
    seen = set()
    for item in items:
        if item.id in seen:
            continue
        seen.add(item.id)
    

    Người phỏng vấn muốn nghe: bạn chọn cấu trúc dữ liệu theo thao tác cần làm, không theo thói quen.

    Ôn thêm câu hỏi Python →
  5. 05Đoạn code def add(item, items=[]) có vấn đề gì?Python · Junior

    Gợi ý trả lời

    Giá trị mặc định được tạo một lần khi định nghĩa hàm, không phải mỗi lần gọi. Mọi lần gọi không truyền items sẽ dùng chung một list, nên dữ liệu bị cộng dồn qua các lần gọi.

    def add(item, items=None):
        if items is None:
            items = []
        items.append(item)
        return items
    
    • Áp dụng cho mọi giá trị mặc định mutable: [], {}, set().
    • Với dataclass, dùng field(default_factory=list).
    • Với Django model field, truyền hàm chứ không truyền object: default=list, không phải default=[].

    Hay sai: dùng if not items: thay cho if items is None:. Khi caller truyền vào list rỗng có chủ đích, hàm lại tạo list mới và caller không nhận được kết quả.

    Ôn thêm câu hỏi Python →
  6. 06Precision, recall và F1 là gì? Với dữ liệu mất cân bằng, vì sao accuracy dễ đánh lừa?AI / Machine Learning · Junior

    Gợi ý trả lời

    Precision là trong các ca mô hình báo dương, bao nhiêu ca đúng; recall là trong các ca dương thật, mô hình bắt được bao nhiêu; F1 là trung bình điều hoà của hai chỉ số.

    Ví dụ phát hiện gian lận với 1% giao dịch gian lận: mô hình đoán "không gian lận" cho mọi giao dịch đạt accuracy 99% nhưng recall bằng 0.

    • Ưu tiên recall khi bỏ sót đắt (bệnh, gian lận); ưu tiên precision khi báo nhầm đắt (chặn nhầm giao dịch).
    • Dùng PR-AUC thay vì chỉ ROC-AUC khi lớp dương rất hiếm.
    • Chọn ngưỡng quyết định theo chi phí nghiệp vụ, không mặc định 0.5.

    Người phỏng vấn muốn nghe: gắn metric với hậu quả kinh doanh.

    Ôn thêm câu hỏi AI / Machine Learning →
  7. 07Giải thích ngắn gọn cơ chế attention và vì sao Transformer thay thế RNN trong NLP.AI / Machine Learning · Junior

    Gợi ý trả lời

    Attention cho mỗi token "nhìn" tất cả token khác và tính trọng số mức liên quan, nhờ đó nắm được phụ thuộc xa trong câu. Mỗi token tạo ra query, key, value; trọng số là softmax của tích query với key (chia cho căn bậc hai số chiều), rồi lấy tổng có trọng số của value.

    Transformer thắng RNN vì:

    • Xử lý song song cả chuỗi khi train, tận dụng GPU tốt; RNN phải đi tuần tự.
    • Ít gặp vấn đề mất thông tin ở chuỗi dài.
    • Mở rộng quy mô tốt, là nền của các LLM hiện nay.

    Đánh đổi: chi phí attention tăng theo bình phương độ dài chuỗi, nên ngữ cảnh dài tốn bộ nhớ và tính toán.

    Ôn thêm câu hỏi AI / Machine Learning →
  8. 08RAG là gì? Mô tả các bước xây dựng một hệ thống hỏi đáp trên tài liệu nội bộ.AI / Machine Learning

    Gợi ý trả lời

    RAG (Retrieval-Augmented Generation) tìm các đoạn tài liệu liên quan rồi đưa vào prompt để LLM trả lời dựa trên đó, giúp dùng dữ liệu riêng, cập nhật mà không cần train lại.

    Các bước:

    1. Nạp và làm sạch tài liệu (PDF, wiki), giữ metadata và quyền truy cập.
    2. Chunking theo cấu trúc (tiêu đề, đoạn), có chồng lấp hợp lý.
    3. Embedding và lưu vào vector DB.
    4. Truy xuất: kết hợp tìm vector và từ khoá (hybrid), rồi rerank.
    5. Sinh câu trả lời với prompt yêu cầu bám nguồn và trích dẫn, trả lời "không biết" khi thiếu thông tin.

    Hay sai: bỏ qua phân quyền, để người dùng nhận được nội dung từ tài liệu họ không được xem.

    Ôn thêm câu hỏi AI / Machine Learning →
  9. 09Shallow copy và deep copy khác nhau thế nào? Phép gán b = a có tạo bản sao không?Python · Junior

    Gợi ý trả lời

    b = a không sao chép gì: hai tên cùng trỏ đến một object. Sửa qua b thì a cũng đổi.

    • Shallow copy (a.copy(), list(a), a[:], copy.copy(a)): tạo container mới nhưng các phần tử bên trong vẫn là object cũ.
    • Deep copy (copy.deepcopy(a)): sao chép đệ quy toàn bộ cấu trúc.
    a = [[1, 2], [3]]
    b = a.copy()
    b[0].append(99)   # a cũng thành [[1, 2, 99], [3]]
    

    Hay sai: tạo ma trận bằng [[0] * 3] * 3. Ba hàng là cùng một list, sửa một ô thì cả cột đổi theo. Viết đúng: [[0] * 3 for _ in range(3)].

    Ôn thêm câu hỏi Python →
  10. 10Vì sao bạn muốn rời công ty hiện tại?Câu hỏi hành vi & văn hoá

    Gợi ý trả lời

    Trả lời thật nhưng hướng về phía trước: nói điều bạn đang tìm kiếm, không kể xấu nơi cũ.

    Lý do chấp nhận được: muốn thử thách mới, muốn làm sản phẩm, dự án kết thúc, công ty tái cấu trúc, thu nhập chưa tương xứng (nói khéo).

    Câu mẫu: "Em đã làm 2 năm ở dự án outsourcing, học được nhiều về quy trình và làm việc với khách nước ngoài. Giờ em muốn gắn bó lâu dài với một sản phẩm để thấy được tác động của những gì mình làm, và vị trí bên mình đúng hướng đó."

    Hay sai: chê sếp, chê đồng nghiệp, kể chuyện drama. Người phỏng vấn sẽ nghĩ bạn cũng sẽ nói về công ty họ như vậy. Nếu nhảy việc nhiều, chuẩn bị lời giải thích cho từng lần.

    Ôn thêm câu hỏi Câu hỏi hành vi & văn hoá →

Bạn đã phỏng vấn ở CÔNG TY TNHH NEXLAB IT SOLUTIONS?

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