Việc làm

01/10 · Hà Nội · Hybrid

AI Engineer (hands-on)

Western Environmental Pty Ltd · 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. 01Giả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 →
  2. 02RAG 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 →
  3. 03Khi nào bạn chọn prompt engineering, RAG hay fine-tuning?AI / Machine Learning

    Gợi ý trả lời

    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.

    Ôn thêm câu hỏi AI / Machine Learning →
  4. 04Decorator hoạt động thế nào? Hãy viết một decorator đo thời gian chạy của hàm.Python

    Gợi ý trả lời

    Decorator là hàm nhận một hàm và trả về hàm mới bọc quanh nó. @timer chỉ là cú pháp ngắn của func = timer(func).

    import functools, time
    
    def timer(func):
        @functools.wraps(func)
        def wrapper(*args, **kwargs):
            start = time.perf_counter()
            try:
                return func(*args, **kwargs)
            finally:
                print(func.__name__, time.perf_counter() - start)
        return wrapper
    
    • functools.wraps giữ lại __name__, docstring của hàm gốc, quan trọng cho log và debug.
    • Decorator có tham số (ví dụ @retry(times=3)) cần thêm một lớp hàm bên ngoài.
    • Ví dụ thực tế: @app.get của FastAPI, @login_required của Django, @functools.lru_cache.

    Hay sai: decorator viết kiểu đồng bộ bọc hàm async def. Kết quả là đo thời gian tạo coroutine chứ không phải thời gian chạy.

    Ôn thêm câu hỏi Python →
  5. 05GIL là gì? Vậy khi nào dùng threading, multiprocessing hay asyncio?Python

    Gợi ý trả lời

    GIL (Global Interpreter Lock) trong CPython chỉ cho một thread chạy bytecode Python tại một thời điểm. Vì vậy threading không tăng tốc tác vụ nặng CPU, nhưng vẫn hữu ích cho I/O vì GIL được nhả ra khi chờ mạng, đĩa.

    • I/O, số lượng vừa phải, thư viện blocking: threading hoặc ThreadPoolExecutor.
    • I/O rất nhiều kết nối đồng thời: asyncio với thư viện async (httpx, asyncpg).
    • Nặng CPU: multiprocessing hoặc ProcessPoolExecutor, hoặc dùng thư viện viết bằng C như NumPy (nhả GIL khi tính toán).

    Từ Python 3.13 có bản build free-threaded (không GIL) tuỳ chọn, nhưng chưa phải mặc định và còn phụ thuộc thư viện hỗ trợ.

    Người phỏng vấn muốn nghe: bạn phân biệt được bài toán I/O-bound và CPU-bound trước khi chọn công cụ.

    Ôn thêm câu hỏi Python →
  6. 06Hallucination 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

    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.

    Ôn thêm câu hỏi AI / Machine Learning →
  7. 07Bạ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

    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.

    Ôn thêm câu hỏi AI / Machine Learning →
  8. 08Bạ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

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

    Ôn thêm câu hỏi AI / Machine Learning →
  9. 09Tell me about a difficult problem you solved.Phỏng vấn tiếng Anh

    Gợi ý trả lời

    "Our report page became very slow as the data grew, sometimes taking more than a minute. I checked the query plans and found that a few queries were scanning entire tables. I added the right indexes, rewrote one query to avoid unnecessary joins, and cached the daily summary. The page then loaded in a few seconds, and the support team stopped receiving complaints about it."

    Mẹo: dùng STAR và thì quá khứ đơn cho cả câu chuyện ("I found", "I added", không phải "I find", "I add"). Đây là lỗi rất hay gặp khi nói nhanh. Kết bằng kết quả cụ thể, đo được nếu có.

    Ôn thêm câu hỏi Phỏng vấn tiếng Anh →
  10. 10Bạn thấy mình ở đâu sau 2–3 năm nữa?Câu hỏi hành vi & văn hoá

    Gợi ý trả lời

    Người phỏng vấn muốn biết mục tiêu của bạn có khớp với hướng phát triển ở công ty và bạn có định gắn bó không.

    • Nêu hướng phát triển cụ thể, thực tế: đi sâu chuyên môn (senior, chuyên gia một mảng) hay quản lý (lead, PM).
    • Kèm kế hoạch: kỹ năng cần học, trách nhiệm muốn nhận thêm.
    • Gắn với cơ hội ở vị trí đang ứng tuyển.

    Câu mẫu: "Trong 2–3 năm tới em muốn trở thành senior có thể tự thiết kế và chịu trách nhiệm một module lớn, đồng thời hướng dẫn được các bạn mới. Em đang học thêm về thiết kế hệ thống và thấy team bên mình có nhiều bài toán ở quy mô lớn, rất hợp để em phát triển theo hướng đó."

    Hay sai: "Em muốn mở công ty riêng" hoặc "em chưa nghĩ tới". Cũng đừng nói muốn ngồi vào chỗ của người đang phỏng vấn.

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

Bạn đã phỏng vấn ở Western Environmental Pty Ltd?

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