Việc làm

26/09 · Hồ Chí Minh · Hybrid

Product Engineer (Fresher/Junior)

Flexspace Technologies Inc. · Fullstack 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, System Design & Kiến trúc, Tester / QA). 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. 01Overfitting 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 →
  2. 02Vì 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 →
  3. 03Precision, 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 →
  4. 04Monolith và microservices: khi nào nên tách? Cái giá phải trả là gì?System Design & Kiến trúc

    Gợi ý trả lời

    Microservices giải quyết vấn đề tổ chức: nhiều team cần deploy độc lập và scale riêng từng phần. Nó không tự làm hệ thống nhanh hơn.

    Nên cân nhắc tách khi:

    • Nhiều team đụng nhau trong cùng codebase, deploy phải chờ nhau.
    • Một phần có tải hoặc yêu cầu công nghệ rất khác phần còn lại.
    • Ranh giới nghiệp vụ (bounded context) đã rõ ràng và ổn định.

    Cái giá: gọi mạng thay vì gọi hàm (độ trễ, lỗi một phần), nhất quán dữ liệu phân tán, cần tracing, service discovery, CI/CD và vận hành phức tạp hơn.

    Người phỏng vấn muốn nghe: "modular monolith" là bước khởi đầu hợp lý: chia module rõ ràng trong một ứng dụng, sau này tách theo đúng ranh giới đó. Tách sai ranh giới tạo ra "distributed monolith", tệ hơn cả monolith.

    Ôn thêm câu hỏi System Design & Kiến trúc →
  5. 05Thiết kế cache: các chiến lược cache-aside, write-through và cách xử lý cache invalidation.System Design & Kiến trúc

    Gợi ý trả lời

    Cache giảm độ trễ và tải cho DB, đổi lại phải chấp nhận dữ liệu có thể cũ trong một khoảng thời gian.

    • Cache-aside (phổ biến nhất): đọc cache, miss thì đọc DB rồi ghi vào cache kèm TTL. Khi cập nhật thì ghi DB rồi xoá key cache.
    • Write-through: ghi qua cache rồi cache ghi xuống DB, dữ liệu cache luôn mới nhưng ghi chậm hơn.
    • Write-behind: ghi cache trước, đẩy xuống DB sau; nhanh nhưng có thể mất dữ liệu.

    Các vấn đề cần xử lý:

    • Cache stampede: key nóng hết hạn, hàng nghìn request cùng đánh vào DB. Giải pháp: lock hoặc single-flight, làm mới sớm, thêm độ lệch ngẫu nhiên cho TTL.
    • Cache penetration: truy vấn key không tồn tại liên tục. Giải pháp: cache cả kết quả rỗng, dùng bloom filter.

    Hay sai: cập nhật cache thay vì xoá, dễ ghi đè giá trị cũ khi hai request chạy song song.

    Ôn thêm câu hỏi System Design & Kiến trúc →
  6. 06Một bug report tốt cần có những gì? Severity và Priority khác nhau ra sao?Tester / QA · Junior

    Gợi ý trả lời

    Bug report tốt giúp dev tái hiện được ngay mà không cần hỏi lại.

    • Tiêu đề ngắn, nói rõ chỗ lỗi và hiện tượng.
    • Môi trường: build/version, trình duyệt hoặc thiết bị, tài khoản test.
    • Các bước tái hiện, kết quả thực tế, kết quả mong đợi.
    • Bằng chứng: ảnh, video, log, request/response.
    • Severity, Priority, tần suất (luôn xảy ra hay thỉnh thoảng).

    Severity là mức ảnh hưởng kỹ thuật (crash, mất dữ liệu là Critical). Priority là mức gấp cần sửa theo góc nhìn business. Ví dụ: logo sai màu ở trang chủ có severity thấp nhưng priority cao trước buổi demo khách hàng; app crash ở một màn hình gần như không ai dùng có severity cao nhưng priority có thể thấp hơn.

    Hay sai: tự đặt Priority thay cho PO/PM mà không trao đổi.

    Ôn thêm câu hỏi Tester / QA →
  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. 09Have you worked with foreign clients or teams in different time zones? How did it go?Phỏng vấn tiếng Anh

    Gợi ý trả lời

    "Yes, for the last two years I've worked with a client in Europe, so we only had about three overlapping hours a day. To make the most of that time, we kept a short daily call and I prepared questions in advance. For everything else, I wrote clear updates in Jira and Slack so they could reply when they started their day. This helped us avoid waiting a whole day for answers."

    Mẹo: nhấn vào cách bạn giao tiếp chủ động và viết rõ ràng. Dùng "overlapping hours", "asynchronous communication", "I kept them updated". Tránh nói "I have worked with them since 2 years", đúng là "for two years".

    Ôn thêm câu hỏi Phỏng vấn tiếng Anh →
  10. 10Bạn nghĩ sao về việc làm thêm giờ (OT)?Câu hỏi hành vi & văn hoá

    Gợi ý trả lời

    Trả lời thẳng thắn và cân bằng: sẵn sàng khi thật sự cần, nhưng không coi OT kéo dài là bình thường.

    Câu mẫu: "Em sẵn sàng làm thêm khi có việc gấp như sự cố production hay trước một đợt release quan trọng. Nhưng nếu OT diễn ra thường xuyên, em nghĩ cần xem lại cách estimate hoặc phạm vi, và em sẽ chủ động nêu điều đó với team. Em cũng muốn hỏi thêm: ở team mình OT thường xảy ra trong trường hợp nào và được tính như thế nào ạ?"

    Đây cũng là lúc bạn tìm hiểu ngược: OT có được trả lương hoặc nghỉ bù theo quy định không, tần suất ra sao. Câu trả lời của họ cho bạn biết nhiều về văn hoá công ty.

    Hay sai: hứa "OT thoải mái" để lấy điểm, rồi vào làm mới thấy không chịu nổi.

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

Bạn đã phỏng vấn ở Flexspace Technologies Inc.?

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