Xin chào các bạn, trong bài viết này mình sẽ chia sẻ một số câu hỏi dành cho lập trình đang muốn tìm việc về Java jobs mà mình đã góp nhặt từ các buổi phỏng vấn. Có thể sẽ có những câu bạn gặp qua rồi, cũng có những câu lạ và khó. Cùng mình xem và thảo luận nhé.
1- Làm thế nào Java độc lập nền tảng?
Gợi ý: Bytecode và Máy ảo Java (Java Virtual Machine)
Ngôn ngữ lập trình Java cung cấp tính năng độc lập nền tảng, có nghĩa là chương trình Java có thể chạy trên bất kỳ nền tảng hay hệ điều hành nào. Để trả lời câu hỏi này bạn nên nắm kiến thức như class files, bytecode và Java virtual machine vì cùng với nhau chúng sẽ tạo ra tính độc lập nền tảng cho Java.
Khi compile một Java program nó sẽ tạo .class file là tập hợp của byte code, những byte code này không theo giống mã máy (machine instruction), thay vào đó là dưới dạng mà java virtual machine có thể hiểu được. Vì từng program đều chạt trên Java virtual machine nên cùng byte code có thể chạy trên bất kỳ nền tảng nào. JVM (Java virtual machine) convert byte code thành machine level instructions tùy vào platform bạn sử dụng, chia thành 2 version: JDK và JRE cho windows và Linux.
2- ClassLoader trong Java là gì?
Gợi ý: một phần của JVM mà tải bytecode cho class. Bạn có thể viết cho riêng mình.
3- Viết một chương trình Java để kiểm tra tính chẵn lẻ của một số bất kỳ
4- Sự khác nhau giữa ArrayList và HashSet trong Java?
5- Double checked locking trong Singleton là gì?
6- Tạo thread-safe Singleton trong Java như thế nào?
7- Khi nào thì dùng biến volatile trong Java?
8- Khi nào thì dùng biến transient trong Java?
9- Sự khác nhau giữa biến volatile và biến transient là gì?
10- Phân biệt serializable và Externalizable trong Java
11- Có thể ghi đè (overide) private method trong Java không?
12- Khác nhau giữa Hashtable và HashMap trong Java là gì?
13- Khác nhau giữa List và Set trong Java là gì?
14- Điểm khác biệt giữa ArrayList và Vector trong Java
15- Khác nhau giữa Hashtable và ConcurrentHashMap trong Java là gì
Đừng quên, tạo cv online cho lập trình viên thật chỉnh chu để có những ấn tượng tốt nhất với nhà tuyển dụng nhé. Giờ thì lấy tinh thần, thật tự tin và chiến thôi
1- Làm thế nào Java độc lập nền tảng?
Gợi ý: Bytecode và Máy ảo Java (Java Virtual Machine)
Ngôn ngữ lập trình Java cung cấp tính năng độc lập nền tảng, có nghĩa là chương trình Java có thể chạy trên bất kỳ nền tảng hay hệ điều hành nào. Để trả lời câu hỏi này bạn nên nắm kiến thức như class files, bytecode và Java virtual machine vì cùng với nhau chúng sẽ tạo ra tính độc lập nền tảng cho Java.
Khi compile một Java program nó sẽ tạo .class file là tập hợp của byte code, những byte code này không theo giống mã máy (machine instruction), thay vào đó là dưới dạng mà java virtual machine có thể hiểu được. Vì từng program đều chạt trên Java virtual machine nên cùng byte code có thể chạy trên bất kỳ nền tảng nào. JVM (Java virtual machine) convert byte code thành machine level instructions tùy vào platform bạn sử dụng, chia thành 2 version: JDK và JRE cho windows và Linux.
2- ClassLoader trong Java là gì?
Gợi ý: một phần của JVM mà tải bytecode cho class. Bạn có thể viết cho riêng mình.
3- Viết một chương trình Java để kiểm tra tính chẵn lẻ của một số bất kỳ
4- Sự khác nhau giữa ArrayList và HashSet trong Java?
5- Double checked locking trong Singleton là gì?
6- Tạo thread-safe Singleton trong Java như thế nào?
7- Khi nào thì dùng biến volatile trong Java?
8- Khi nào thì dùng biến transient trong Java?
9- Sự khác nhau giữa biến volatile và biến transient là gì?
10- Phân biệt serializable và Externalizable trong Java
11- Có thể ghi đè (overide) private method trong Java không?
12- Khác nhau giữa Hashtable và HashMap trong Java là gì?
13- Khác nhau giữa List và Set trong Java là gì?
14- Điểm khác biệt giữa ArrayList và Vector trong Java
15- Khác nhau giữa Hashtable và ConcurrentHashMap trong Java là gì
Đừng quên, tạo cv online cho lập trình viên thật chỉnh chu để có những ấn tượng tốt nhất với nhà tuyển dụng nhé. Giờ thì lấy tinh thần, thật tự tin và chiến thôi