Việc làm

24/09 · Đà Nẵng · Hà Nội · Tại văn phòng

Applied AI Engineer

Everfit · Backend Developer

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, JavaScript & TypeScript). 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. 01Vì 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 →
  2. 02Precision, 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 →
  3. 03Giả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 →
  4. 04Shallow 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 →
  5. 05Generator và yield là gì? Khác gì với list comprehension?Python · Junior

    Gợi ý trả lời

    Generator sinh giá trị lười (lazy): mỗi lần được hỏi mới tính phần tử tiếp theo, rồi tạm dừng tại yield. Nhờ vậy nó không phải giữ toàn bộ dữ liệu trong bộ nhớ.

    def read_lines(path):
        with open(path) as f:
            for line in f:
                yield line.rstrip()
    
    total = sum(len(l) for l in read_lines("big.log"))
    
    • List comprehension [x * 2 for x in data] tạo cả list ngay. Generator expression (x * 2 for x in data) thì không.
    • Hợp với file lớn, dữ liệu stream, phân trang API, pipeline xử lý nhiều bước.

    Hay sai: duyệt một generator hai lần. Lần thứ hai không có gì vì nó đã cạn; cần duyệt lại thì tạo generator mới hoặc chuyển thành list.

    Ôn thêm câu hỏi Python →
  6. 06this trong JavaScript được xác định thế nào? Arrow function khác function thường ở điểm nào?JavaScript & TypeScript · Junior

    Gợi ý trả lời

    Với function thường, this phụ thuộc vào cách gọi, không phải nơi định nghĩa:

    • obj.method(): this là obj.
    • Gọi hàm trơn fn(): undefined trong strict mode (module và class luôn là strict).
    • new Fn(): object mới được tạo.
    • fn.call(x), fn.apply(x), fn.bind(x): this là x.

    Arrow function không có this riêng; nó lấy this của phạm vi bao ngoài. Arrow function cũng không có arguments và không dùng được với new.

    const btn = { label: "OK", click() { setTimeout(() => console.log(this.label)); } };
    

    Hay sai: truyền obj.method làm callback (setTimeout(obj.method)) rồi mất this. Cách sửa: bind, hoặc bọc trong arrow function.

    Ôn thêm câu hỏi JavaScript & TypeScript →
  7. 07RAG 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 →
  8. 08Khi 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 →
  9. 09Could you describe the project you're currently working on?Phỏng vấn tiếng Anh

    Gợi ý trả lời

    "I'm working on an e-commerce platform that handles orders for several retail brands. The system is built with microservices on Node.js, using PostgreSQL and Redis, deployed on AWS. My team has six people and we work in two-week sprints. I'm mainly in charge of the order and payment services. Recently, I led the integration with a new payment gateway, from reading the API docs to handling edge cases like timeouts and duplicate callbacks."

    Mẹo: đi từ tổng quan (sản phẩm làm gì, cho ai) tới vai trò của riêng bạn. Nói "my team" và "I" rõ ràng để người nghe biết phần nào bạn làm. Không cần kể tên khách hàng nếu bị ràng buộc bảo mật.

    Ôn thêm câu hỏi Phỏng vấn tiếng Anh →
  10. 10Mức lương mong muốn của bạn là bao nhiêu?Câu hỏi hành vi & văn hoá

    Gợi ý trả lời

    Tìm hiểu trước mặt bằng lương cho vị trí và số năm kinh nghiệm (dữ liệu lương trên Drama Công Ty, bạn bè cùng ngành), rồi đưa ra một khoảng có căn cứ.

    • Nói rõ gross hay net. Gross là lương trước khi trừ bảo hiểm bắt buộc và thuế thu nhập cá nhân; net là số thực nhận.
    • Hỏi tổng thu nhập: lương tháng 13 (không bắt buộc theo luật), thưởng, chu kỳ review lương, bảo hiểm sức khoẻ.
    • Lương thử việc theo luật tối thiểu bằng 85% lương chính thức; nhiều công ty trả 100%, cứ hỏi rõ.

    Câu mẫu: "Dựa trên kinh nghiệm và mặt bằng thị trường, em mong muốn khoảng X đến Y triệu gross. Em cũng muốn hiểu thêm về thưởng và review lương bên mình."

    Hay sai: nói "tuỳ công ty" (dễ bị trả thấp), hoặc khai khống lương hiện tại.

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

Bạn đã phỏng vấn ở Everfit?

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