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 (Bảo mật (Security), 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.
01Công ty có ngân sách bảo mật hạn chế. Bạn ưu tiên làm gì trước và đo hiệu quả thế nào?Bảo mật (Security) · Senior
Gợi ý trả lời
Ôn thêm câu hỏi Bảo mật (Security) →Ưu tiên theo rủi ro: chặn những con đường tấn công phổ biến nhất với chi phí thấp nhất trước.
Thứ tự hợp lý:
- Kiểm kê tài sản và dữ liệu quan trọng: không biết có gì thì không bảo vệ được.
- MFA cho email, VPN, tài khoản quản trị, cloud.
- Quản lý bản vá, nhất là hệ thống lộ ra Internet.
- Backup tách rời, có diễn tập khôi phục.
- EDR trên máy trạm và server, log tập trung.
- Đào tạo nhận diện phishing, quy trình báo cáo dễ dàng.
Đo lường: tỷ lệ tài khoản có MFA, thời gian vá lỗ hổng nghiêm trọng, thời gian phát hiện và xử lý sự cố, kết quả diễn tập.
Người phỏng vấn muốn nghe: nói được ngôn ngữ rủi ro kinh doanh với ban lãnh đạo.
02Tam giác CIA trong an toàn thông tin là gì? Cho ví dụ biện pháp bảo vệ từng yếu tố.Bảo mật (Security) · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Bảo mật (Security) →CIA là ba mục tiêu cốt lõi: Confidentiality (bí mật), Integrity (toàn vẹn), Availability (sẵn sàng). Mọi biện pháp bảo mật đều nhằm bảo vệ ít nhất một trong ba.
- Confidentiality: mã hoá dữ liệu khi lưu và truyền, phân quyền theo least privilege, MFA.
- Integrity: hash và chữ ký số, kiểm soát thay đổi, log audit không sửa được.
- Availability: dự phòng, backup, chống DDoS, vá lỗi kịp thời.
Người phỏng vấn muốn nghe: các yếu tố đôi khi xung đột, ví dụ khoá tài khoản sau nhiều lần sai mật khẩu tăng bí mật nhưng có thể bị lạm dụng để làm người dùng thật không đăng nhập được.
03Mã hoá đối xứng, bất đối xứng và hash khác nhau thế nào? Lưu mật khẩu người dùng ra sao?Bảo mật (Security) · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Bảo mật (Security) →Đối xứng dùng một khoá cho cả mã hoá và giải mã (AES), nhanh; bất đối xứng dùng cặp khoá công khai/bí mật (RSA, ECC), dùng cho trao đổi khoá và chữ ký số; hash là hàm một chiều, không giải mã được.
- HTTPS kết hợp cả hai: bất đối xứng để thoả thuận khoá, đối xứng để mã hoá dữ liệu.
- Mật khẩu: lưu bằng hàm hash chậm có salt như Argon2id, bcrypt hoặc scrypt.
Hay sai:
- Lưu mật khẩu bằng MD5/SHA-256 thuần: quá nhanh, dễ bị dò hàng loạt.
- Gọi base64 là "mã hoá".
- Mã hoá mật khẩu (giải ngược được) thay vì hash.
04Overfitting 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
Ôn thêm câu hỏi AI / Machine Learning →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.
05Vì sao phải chia train/validation/test? Data leakage là gì?AI / Machine Learning · Junior
Gợi ý trả lời
Ôn thêm câu hỏi AI / Machine Learning →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.
06Đoạn code
def add(item, items=[])có vấn đề gì?Python · JuniorGợi ý trả lời
Ôn thêm câu hỏi Python →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
itemssẽ 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ảidefault=[].
Hay sai: dùng
if not items:thay choif 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ả.- Áp dụng cho mọi giá trị mặc định mutable:
07SQL injection là gì? Bạn phòng tránh trong code thế nào?Bảo mật (Security) · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Bảo mật (Security) →SQL injection xảy ra khi dữ liệu người dùng được ghép thẳng vào câu SQL, khiến dữ liệu bị hiểu thành lệnh. Cách phòng chính là tách dữ liệu khỏi câu lệnh.
// Sai: ghép chuỗi db.query("SELECT * FROM users WHERE email = '" + email + "'"); // Đúng: tham số hoá db.query("SELECT * FROM users WHERE email = $1", [email]);- Dùng prepared statement hoặc ORM đúng cách; cẩn thận với các hàm cho viết raw SQL.
- Tên cột/bảng động thì kiểm tra theo danh sách cho phép.
- Tài khoản DB của ứng dụng chỉ có quyền tối thiểu.
- WAF và SAST là lớp bổ sung, không thay cho code đúng.
08XSS và CSRF khác nhau thế nào? Biện pháp phòng chống cho từng loại?Bảo mật (Security) · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Bảo mật (Security) →XSS là khi script lạ chạy trong trang của bạn trên trình duyệt người dùng; CSRF là khi trang khác lợi dụng phiên đăng nhập của người dùng để gửi request thay họ.
Phòng XSS:
- Escape đầu ra theo ngữ cảnh (framework hiện đại làm mặc định); cẩn thận với
dangerouslySetInnerHTML,innerHTML. - Sanitize HTML do người dùng nhập bằng thư viện uy tín.
- Content-Security-Policy, cookie phiên đặt
HttpOnly.
Phòng CSRF:
- Cookie
SameSite=LaxhoặcStrict. - CSRF token cho request thay đổi dữ liệu; kiểm tra header
Origin. - Không dùng GET để thay đổi trạng thái.
Hay sai: nghĩ HTTPS chống được XSS hay CSRF.
- Escape đầu ra theo ngữ cảnh (framework hiện đại làm mặc định); cẩn thận với
09When would you be available to start? Do you have a notice period?Phỏng vấn tiếng Anh
Gợi ý trả lời
Ôn thêm câu hỏi Phỏng vấn tiếng Anh →"My current contract requires a 30-day notice period, so I could start about a month after accepting an offer. I'd like to make sure I hand over my work properly to my team. If you need someone sooner, I can discuss with my manager whether an earlier date is possible, but I can't promise that yet."
Mẹo: nói đúng thời gian báo trước theo hợp đồng của bạn, đừng hứa đi làm ngay để lấy điểm. Dùng "notice period", "hand over", "start date". Tránh nói "I can go to work immediately" khi bạn vẫn còn hợp đồng.
10Bạn làm việc thế nào khi áp lực cao hoặc deadline gấp?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á →Cho thấy bạn có cách làm cụ thể, không chỉ nói "em chịu được áp lực".
- Chia nhỏ việc, ưu tiên phần quan trọng nhất cho mục tiêu.
- Báo sớm cho lead/PM nếu thấy không kịp, đề xuất cắt phạm vi hoặc xin hỗ trợ.
- Giữ chất lượng ở phần cốt lõi; ghi lại nợ kỹ thuật để xử lý sau.
- Giữ bình tĩnh, giao tiếp ngắn gọn, rõ ràng với team.
Câu mẫu theo STAR: "Trước buổi demo cho khách, team phát hiện lỗi tích hợp chỉ còn hai ngày. Em liệt kê các phần bị ảnh hưởng, cùng PM chọn luồng nào bắt buộc phải chạy cho demo, phần còn lại hẹn bàn giao tuần sau. Demo diễn ra suôn sẻ và khách đồng ý với lịch mới."
Hay sai: khoe thức trắng nhiều đêm. Người phỏng vấn muốn thấy bạn quản lý được áp lực, không chỉ chịu đựng.
Bạn đã phỏng vấn ở Bosch Global Software Technologies?
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