Trước buổi phỏng vấn, bạn thường chuẩn bị những gì?
Ôn lại sơ bộ kiến thức, hỏi những người bạn cùng ngành, hay tham khảo từ những người phỏng vấn trước đó?
Việc xem qua những câu hỏi phỏng vấn giúp bạn kiểm tra lại mình còn thiếu sót ở đâu, phần nào lâu rồi chưa có cơ hội xem lại. Lấp đầy những “kẽ hở li ti” là cách tuyệt vời để trau dồi cũng như nâng cao kiến thức.
Theo kinh nghiệm của Gambaru, người phỏng vấn thường bắt đầu với những khái niệm cơ bản, sau đó tùy biến vào câu trả lời của bạn để hỏi nâng cao.
Mong muốn đầu tiên của người phỏng vấn đó chính là nền tảng kiến thức vững chắc của bạn.
Những câu hỏi thường gặp khi phỏng vấn Java Developer
Dưới đây là những câu hỏi thường gặp trong buổi phỏng vấn vị trí Java Developer:
1. Hướng đối tượng OOP
Hàm get/set trong Object để làm mục đích gì
Encapsulate Data
Dependency Injection
So sánh Abstract và Interface
Extend và Implement
Data Structure hay sử dụng
Khác nhau giữa Association, Aggregation và Composition (Câu hỏi nâng cao)
Vẽ Observer Pattern (Dựa trên level yêu cầu của vị trí)
2. Java
String là bất biến? Đúng hay sai
So sánh Strong và Weak Reference, cho ví dụ cụ thể
Cách chia sẻ biến trong Multi Threads (Nếu trong CV bạn có liệt kê dùng Threads)
Cách sửa lỗi khi memory leak (Nếu trong CV có đề cập vấn đề về bộ nhớ)
Số lượng tối thiểu Threads cần cho một Java Thread deadlock
Giải thích về cách hoạt động của ConcurrentHashMap
3. SQL
Delete và Truncate statements
Drop và Truncate commands
Subsets SQL
Join trong SQL
Char và Varchar2 datatype trong SQL
Phân biệt Clustered and Non-Clustered Index trong SQL
ACID property trong database
4. HTTP
HTTP
Stateless
Stateful
Stateless, Session, Logout Stateless
Cookie và Session khác nhau ở điểm nào
Oauth2, JWT
Sự khác biệt giữa SOAP REST? Cái nào tốt hơn và tại sao
Put, Patch, Delete, Head
Các loại HTTP Status Code
5. Scaling system
Ví dụ: Có 1 server scheduler count down lượt chọn player của 1 game ABC, mỗi user sẽ có 5 lần chọn players mỗi lần user sẽ có 30 giây suy nghĩ để chọn (có thời gian count down).
Làm thế nào để scaling ra 3 nodes cho server scheduler này?
6. Tư duy Logic
Ví dụ:
Cho một non-empty list, trả về k phần tử thường gặp nhất.
Kết quả phải được sắp xếp theo tần số xuất hiện từ cao đến thấp, nếu có 2 phần tử cùng tần số thì trả về phần tử có thứ tự chữ cái thấp hơn (lower alphabetical order).
Explanation: “i” and “love” are the two most frequent words.
Note that “i” comes before “love” due to a lower alphabetical order
Hoặc bạn có thể ôn thêm các ví dụ liên quan đến xử lý chuỗi hay xử lý random.
Và cũng như tất cả các vị trí khác, bạn hãy:
Tập trung liên kết giữa kinh nghiệm làm việc 2 năm gần đây nhất của bạn với những yêu cầu mà công ty đăng tuyển trong Job Description.
Đề cập về dự án mà bạn cảm thấy tâm đắc nhất, hãy luôn nhớ thử thách bạn trải qua trong quá trình làm việc càng khó khăn sẽ càng đề cao những thứ bạn gặt hái được. Tất nhiên, mọi thông tin nên được trung thực.
Chia sẻ những giải pháp và “bài học xương máu” trong quá trình làm việc hay quản lý dự án.
Chuyên sâu phần nào thì hãy đề cập đến vấn đề đó. Nếu thực sự không chuyên, hãy mạnh dạn xin lời khuyên từ người phỏng vấn. Điều này sẽ được đánh giá cao.
Đến đây, bạn tự đánh giá mình được bao nhiêu điểm trên thang điểm 10?
Hy vọng những chia sẻ trên của Gambaru sẽ giúp bạn có được sự chuẩn bị tốt nhất trước mỗi buổi phỏng vấn nhé!