Phỏng vấn ReactJS/Frontend: câu hỏi thường gặp và cách AI giúp chuẩn bị
Mình sắp phỏng vấn vị trí Frontend dùng ReactJS, nên tập trung ôn những gì?
Tóm tắt
Phỏng vấn ReactJS thường chia làm ba nhóm: câu hỏi khái niệm (re-render, hooks, state management), bài tập code trực tiếp (dựng một component hoàn chỉnh trong thời gian giới hạn), và câu hỏi về quyết định kiến trúc (vì sao chọn thư viện này, cách tổ chức state cho ứng dụng lớn). Trọng số giữa ba nhóm phụ thuộc nhiều vào JD cụ thể — một vị trí senior thường thiên về nhóm thứ ba hơn.
Nhóm 1: Câu hỏi khái niệm
Đây là nhóm xuất hiện gần như ở mọi vòng phỏng vấn ReactJS, kể cả vị trí junior:
- Khác biệt giữa
useEffectvàuseLayoutEffect, khi nào dùng cái nào. - Vì sao một component re-render không cần thiết, và cách debug việc này (
React.memo,useMemo,useCallback). - Luồng dữ liệu một chiều và vì sao nó quan trọng khi ứng dụng lớn dần.
- Khác biệt giữa controlled và uncontrolled component.
Những câu hỏi này kiểm tra bạn có hiểu vì sao React hoạt động theo cách nó hoạt động, không chỉ nhớ cú pháp.
Nhóm 2: Bài tập code trực tiếp
Phổ biến nhất là dựng một component nhỏ hoàn chỉnh trong 30-45 phút — ví dụ một ô tìm kiếm có debounce, một danh sách có phân trang, hoặc một form có validate. Người phỏng vấn thường quan tâm:
- Bạn có tách logic ra khỏi phần hiển thị (custom hook) hay dồn tất cả vào một component không.
- Bạn có xử lý các trạng thái biên (loading, lỗi, danh sách rỗng) hay chỉ làm cho trường hợp lý tưởng.
- Bạn có đặt câu hỏi làm rõ yêu cầu trước khi code, hay bắt đầu gõ ngay.
Nhóm 3: Câu hỏi về quyết định kiến trúc
Ở vị trí mid-senior trở lên, trọng tâm chuyển sang lý do đằng sau các lựa chọn:
- Khi nào dùng Context API, khi nào cần một thư viện quản lý state riêng (Redux, Zustand, Jotai), và đánh đổi giữa chúng.
- Cách tổ chức folder/structure cho một ứng dụng frontend lớn, nhiều team cùng làm.
- Cách tiếp cận khi phải tối ưu performance cho một trang có danh sách dài (virtualization, lazy loading).
- Cách đảm bảo một thư viện UI dùng chung không phá vỡ khi nhiều team cùng sửa.
Đây là nhóm khó chuẩn bị nhất bằng cách học thuộc, vì câu trả lời tốt luôn gắn với một tình huống thật bạn đã từng xử lý — không phải lý thuyết sách vở.
Cách chuẩn bị theo đúng JD, không ôn dàn trải
Trọng số giữa ba nhóm trên thay đổi rất nhiều theo JD. Một JD nhấn mạnh "tối ưu performance cho ứng dụng quy mô lớn" báo hiệu nhóm 3 sẽ chiếm phần lớn buổi phỏng vấn. Một JD cho vị trí junior, nhấn mạnh "thành thạo React cơ bản", báo hiệu nhóm 1 và 2 quan trọng hơn. Đọc kỹ JD trước khi quyết định dành bao nhiêu thời gian cho mỗi nhóm — xem thêm cách làm việc này trong Đối chiếu CV với job description trước phỏng vấn.
Nếu vòng phỏng vấn còn bao gồm một phần thiết kế hệ thống cho ứng dụng frontend quy mô lớn, bài Chuẩn bị technical interview: AI giúp được gì ngoài luyện code có cách chuẩn bị riêng cho phần đó.
Khám phá thêm: Case interview là gì và cách chuẩn bị · Chuẩn bị phỏng vấn
Đối chiếu đúng JD Frontend của bạn với dữ liệu phỏng vấn thật
EmpSignal AI đọc job description và CV bạn đưa vào, chỉ ra công ty này có khả năng hỏi sâu về hooks, performance, hay kiến trúc state — dựa trên trải nghiệm phỏng vấn thật đã kiểm duyệt cho vị trí tương tự.
THỬ INTERVIEW PREP AI →Bài viết liên quan