Java là một ngôn ngữ lâu đời, mạnh mẽ, được nhiều nhà trường đưa vào giảng dạy. Vì thế nó có thể là một trong những điểm đến của việc làm cho các sinh viên vừa mới ra trường. Ở việt nam hiện tại rất nhiều công việc về Java với đãi ngộ tốt. Tuy nhiên theo quan điểm cá nhân mình nghĩ thì nếu chỉ học các kiến thức ở trong trường là chưa đủ để chinh phục nhà trường tuyển dụng. Các bạn sinh viên phải nỗ lực hơn để tìm tòi các vấn đề khác trong Java. Dưới đây là tổng hợp 100 câu hỏi để các bạn ôn luyện, nếu không trả lời được hoặc vẫn chưa hiểu rõ về nó thì hãy tìm hiểu thêm các bạn nhé. Và lưu ý rằng nhà tuyển dụng sẽ không hỏi các câu hỏi được liệt kê trong danh sách này, thông thường họ sẽ đưa ra vấn đề và nhiệm vụ của bạn là lật tung một đống câu hỏi đó để xem kiến thức nào là phù hợp để trả lời câu hỏi. Ngoài ra, trước khi đến với câu hỏi phỏng vấn Java chuyên môn, nhà tuyển dụng sẽ đặt những câu hỏi về thông tin cá nhân, và câu hỏi về kỹ năng mềm. Ví dụ như: OK, cùng xem 100 câu nào. Lưu ý các phần bên dưới câu hỏi chỉ là gợi ý, các bạn có thể dựa vào đó để phân tích sâu hơn. 1. JVM là gì? Tại sao Java được gọi là ngôn ngữ lập trình không phụ thuộc vào nền tảng (Platform Independent Programming Language)? Java Virtual Machine (JVM) là quy trình máy ảo có thể thực thi các Java bytecode. Mỗi một Java source file được biên dịch ra một bytecode file. Java được thiết kế để các chương trình ứng dụng có thể chạy trên bất kỳ nền tảng nào mà không cần phải viết lại chương trình nhờ vào Java JMV. Cũng chính vì vậy mà các ứng dụng Java còn được gọi là WORA (Write Once Run Anywhere – Viết một lần chạy mọi nơi). 2. Bạn hãy cho biết sự khác nhau giữa JDK và JRE The Java Runtime Environment (JRE) là trình triển khai của Java Virtual Machine (JVM) nơi mà chương trình Java của bạn được thực thi. Nó cũng bao gồm các plugins trình duyệt để thực thi các applet. Java Development Kit (JDK) là công nghệ cốt lõi của Software Development Kit của Java. Nó bao gồm JRE, trình biên dịch và các công cụ như JavaDoc, Java Debugger. JDK dùng để phát triển, biên dịch và thực thi các ứng dụng Java 3. Từ khóa Static có nghĩa là gì? Bạn có thể ghi đè (override) private hay static method trong Java không? Từ khóa static trong Java được sử dụng chính để quản lý bộ nhớ. Chúng ta có thể áp dụng từ khóa static với các biến, các phương thức, các khối, các lớp lồng nhau(nested class). Từ khóa static thuộc về lớp chứ không thuộc về instance(thể hiện) của lớp. Trong java, Static có thể là: Bạn không thể ghi đè static method trong Java. 4. Bạn có thể truy cập một biến non-static trong một ngữ cảnh static (static context) được không? Một biến static phụ thuộc vào lớp của nó và giá trị của nó sẽ tồn tại (giữ) cho tất cả các thực thể của lớp đó. Biến static được tạo ra khi lớp chứa đó được tải (load) bởi JVM. Nếu cố gắng truy cập vào một biến non-static (trong hàm static) mà không có trong thực thể (instance) nào thì trình biên dịch sẽ báo lỗi, bởi vì những biến non-static đó chưa được khởi tạo và chúng không có ràng buộc với bất kỳ thực thể nào. 5. Có những kiểu dữ liệu nào trong Java. Autoboxing và Unboxing là gì? Có 8 kiểu dữ liệu cơ bản được Java hỗ trợ: Autoboxing là quá trình mà trình biên dịch của Java tự động chuyển đổi giữa kiểu dữ liệu cơ bản (Primitive type) về đối tượng tương ứng với lớp (Wrapper class) của kiểu dữ liệu đó. Ví dụ, trình biên dịch sẽ chuyển đổi kiểu dữ liệu int sang Integer, kiểu double sang Double, …Và ngược lại là unboxing. Đây là tính năng mới của Java 5. Bạn hãy tải tài liệu PDF ở phía trên nhé!Tổng hợp 100 câu hỏi phỏng vấn