Link to original video by Việt Trí Đạo

010 [Full] Phỏng vấn thử 1 bạn Intern/Fresher Fullstack ReactJS và SpringBoot (Trả lời OK)

Outline Video 010 [Full] Phỏng vấn thử 1 bạn Intern/Fresher Fullstack ReactJS và SpringBoot (Trả lời OK)

Tóm tắt ngắn:

Tóm tắt chi tiết:

Buổi phỏng vấn được chia thành các phần chính:

Phần 1: Giới thiệu bản thân và định hướng nghề nghiệp: Ứng viên tự giới thiệu, cho biết đang là sinh viên năm 4 ngành Công nghệ thông tin, có kiến thức về ReactJS (frontend) và Java SpringBoot (backend), và mong muốn tìm cơ hội thực tập để tích lũy kinh nghiệm.

Phần 2: Kiến thức Java: Người phỏng vấn tập trung vào các khái niệm hướng đối tượng, kiểu dữ liệu nguyên thủy và tham chiếu, String và StringBuilder (nhấn mạnh sự khác biệt về hiệu năng khi nối chuỗi), mảng đa chiều (ví dụ về bài toán tạo thời khóa biểu), class và object, mức độ truy cập (public, private, protected, default), đa hình (overloading, overriding), ép kiểu (casting). Ứng viên trả lời tốt một số câu hỏi nhưng gặp khó khăn với một số khái niệm như upcasting/downcasting, và sự khác biệt giữa việc sử dụng class và object trong quá trình chạy chương trình. Câu nói đáng chú ý: "cuộc sống đâu có đơn giản gì đó".

Phần 3: Kiến thức Spring: Người phỏng vấn hỏi về IoC (Inversion of Control), Dependency Injection, scope của Bean (singleton, prototype), @Autowired, Spring Data JPA (quan hệ One-to-Many, Many-to-One, truy vấn dữ liệu phức tạp), Spring Boot (mục đích, annotation). Ứng viên hiểu cơ bản về IoC và Dependency Injection nhưng chưa hiểu rõ về scope của Bean và một số khía cạnh của Spring Data JPA. Khái niệm @Autowired và cách hoạt động của nó được giải thích chi tiết. Câu nói đáng chú ý: "nó càng tiện thì nó càng khó quản lý".

Phần 4: Kiến thức cơ sở dữ liệu: Người phỏng vấn hỏi về khóa chính, khóa ngoại, quan hệ nhiều-nhiều, kiểu dữ liệu, câu lệnh DELETE và TRUNCATE, và truy vấn SQL phức tạp. Ứng viên thể hiện kiến thức cơ bản nhưng chưa vững về truy vấn SQL và xử lý quan hệ phức tạp trong cơ sở dữ liệu.

Phần 5: Kiến thức ReactJS: Người phỏng vấn hỏi về HTML (innerHtml, innerText, value), CSS, props và state, lifecycle của component, conditional rendering, hooks (useEffect, useState, useCallback, useMemo), và xử lý sự kiện (set focus). Ứng viên hiểu cơ bản về props và state, conditional rendering, và một số hooks nhưng chưa nắm vững lifecycle của component và một số kỹ thuật xử lý sự kiện phức tạp trong React. Câu nói đáng chú ý: "ngu dần đều". Người phỏng vấn nhấn mạnh tầm quan trọng của việc hiểu bản chất của công nghệ thay vì chỉ sử dụng bề nổi của các framework.

Phần 6: Kiến thức về JWT (JSON Web Token): Ứng viên được hỏi về kinh nghiệm sử dụng JWT trong dự án e-commerce, thời gian sống của access token và refresh token, và cơ chế hoạt động của chúng. Ứng viên cho thấy hiểu biết cơ bản nhưng chưa nắm vững chi tiết về cơ chế hoạt động và cách phối hợp giữa access token và refresh token.

Kết luận: Người phỏng vấn đánh giá ứng viên có khả năng tiếp thu tốt nhưng cần trau dồi thêm kiến thức thực tế và kinh nghiệm để đáp ứng yêu cầu công việc. Buổi phỏng vấn kết thúc trong không khí tích cực và khuyến khích ứng viên tiếp tục học tập.