Tổng hợp các câu hỏi phỏng vấn Java thường gặp, câu hỏi phỏng vấn java core, lập trình java từ cơ bản đến nâng cao và gợi ý trả lời chuẩn nhất.
➤➤➤ Xem thêm: 1001 câu hỏi phỏng vấn thường gặp và cách trả lời hay nhất - Kinh nghiệm phỏng vấn ViecLamVui
Các câu hỏi phỏng vấn Java cơ bản
Sau đây là các câu hỏi phỏng vấn Java cơ bản kèm gợi ý câu trả lời chi tiết nhất.
Trình biên dịch JIT là gì?
Thuật ngữ "trình biên dịch" dùng để chỉ trình dịch từ tập lệnh của một máy ảo Java (JVM) tới tập lệnh của một CPU cụ thể, Trình biên dịch JIT (Just-In-Time) được sử dụng để tăng hiệu suất biên dịch chương trình, trình JIT biên dịch từng phần của byte code có chức năng giống nhau tại cùng một thời điểm, do đó sẽ giảm được thời gian biên dịch.
Tính chất "viết một lần chạy nhiều nơi" của java là gì?
Java code được biên dịch thành một byte code, là ngôn ngữ trung gian giữa mã nguồn và mã máy. Byte code này không phải là nền tảng cụ thể và do đó có thể được thông dịch cho bất kỳ nền tảng nào.
JDK, JRE và JVM là gì?
JDK là viết tắt của Java Development Kit – Bộ công cụ phát triển Java. JDK là một bộ công cụ phát triển phần mềm được dùng để phát triển ứng dụng trong Java.
JRE là viết tắt của Java Runtime Environment – Môi trường thực thi Java. JRE bao gồm JVM, thư viện và các thành phần bổ sung để chạy các ứng dụng viết bằng ngôn ngữ Java.
JVM là viết tắt của Java Virtual Machine – Máy ảo Java. JVM là máy ảo được sử dụng để chạy các chương trình Java. Cách hoạt động của JVM: Khi chương trình Java được chạy, trình biên dịch sẽ dịch Java code thành bytecode và sau đó JVM sẽ thực hiện nhiệm vụ của mình: thông dịch bytecode thành mã máy cho máy tính thực hiện lệnh.
Thế nào là tính trừu tượng?
Tính trừu tượng là ẩn các chi tiết triển khai và chỉ hiển thị các tính năng với người dùng. Tính chất này cho phép loại bỏ các tính chất phức tạp của đối tượng, chỉ cần đưa ra các tính chất cần thiết trong lập trình giúp tập trung vào những cốt lõi của đối tượng. Nó được thể hiện thông qua interface và abstract class.
Thế nào là tính kế thừa?
Tính thừa kế là khả năng tái sử dụng lại thuộc tính và phương thức của một lớp. Thể hiện thông qua từ khóa extend.
Thế nào là static?
Những hàm, phương thức có từ khóa static sẽ thuộc về lớp có thể được truy cập trực tiếp từ Class mà không cần phải tạo đối tượng.
Từ khóa static trong Java là gì?
Static trong Java là từ khóa dùng để quản lý bộ nhớ và truy cập trực tiếp thông qua lớp khi không cần khởi tạo.
Thế nào là final?
Những thuộc tính final sẽ không thể thay đổi giá trị của nó Những phương thức final sẽ không thể overide ở lớp con Những class final sẽ không thể kế thừa được.
Từ khóa final trong Java là gì?
Từ khóa final trong Java là từ khóa được dùng để hạn chế số lượng người dùng. Lập trình viên có thể sử dụng ở nhiều ngữ cảnh: phương thức, biến, lớp.
Từ khóa super trong Java
Super trong Java là một biến tham chiếu, dùng để tham chiếu đến đối tượng của lớp cha gần nhất một cách trực tiếp.
Thế nào là lập trình hướng đối tượng?
Lập trình hướng đối tượng là một phương pháp lập trình dựa trên khái niệm về lớp và đối tượng. Nó tập trung vào các đối tượng thao tác hơn là logic để thao tác chúng, giúp code dễ quản lý, tái sử dụng được và dễ bảo trì.
Thế nào là tính đa hình?
Tính đa hình là khi một hành động có thể được thực hiện theo nhiều cách khác nhau. Nó được thể hiện thông qua override và overload.
Thế nào là lớp?
Một class đại diện cho 1 loại đối tượng. Nó có thể được hiểu giống như 1 bản định nghĩa của đối tượng.
Các tính chất của hướng đối tượng là gì?
Lập trình hướng đối tượng bao gồm 4 tính chất:
- Tính đóng gói
- Tính kế thừa
- Tính trừu tượng
- Tính đa hình
Classloader trong java là gì?
Classloader là một hệ thống con của JVM được sử dụng để tải các lớp và các interface. Có rất nhiều loại Classloader ví dụ: Bootstrap classloader, Extension classloader, System classloader, Plugin classloader…
Câu hỏi phỏng vấn Java nâng cao
Sau đây là các câu hỏi phỏng vấn Java nâng cao kèm gợi ý trả lời khá chi tiết vô cùng hữu ích dành cho các lập trình viên Java.
Có mấy loại access modifier? Phân biệt sự khác nhau giữa chúng?
Có 4 loại access modifier là: private, protected, default, public. Trong đó:
- Private: Chỉ có thể truy cập trong cùng class.
- Default: Có thể truy cập trong cùng class và cùng package.
- Protected: Có thể truy cập trong cùng class, package và ngoài package bởi lớp con.
- Public: Có thể truy cập ở bất cứ đâu.
Platform là gì?
Bất cứ môi trường phần cứng hoặc phần mềm nào mà trong đó có một chương trình chạy, thì được hiểu như là một Platform. Với môi trường runtime riêng cho mình (JRE) và API, Java được gọi là Platform.
Phân biệt override và overload?
Overide là việc lớp con ghi đè phương thức của lớp cha. Overload là việc một class sử dụng được cùng một phương thức nhưng khác nhau biến truyền vào hàm.
Constructors trong Java là gì?
Constructors (Hàm ảo) trong Java là một phương thức được sử dụng để khởi tạo, trả về các đối tượng của lớp. Thông thường, một Constructors sẽ trùng tên với lớp mà nó được định nghĩa.
Tại sao không sử dụng con trỏ trong Java?
Con trỏ không được sử dụng trong Java vì con trỏ khá phức tạp và không an toàn.
Package trong Java là gì? Liệt kê những ưu điểm của các package
Package trong Java là một nhóm các lớp (class), giao diện (interface) và các package con tương tự. Package thường được chia thành 2 loại:
- Package được dựng sẵn
- Package do người dùng định nghĩa
Ưu điểm của các package:
- Tổ chức file (class, interface) theo một hệ thống để dễ dàng phân loại file.
- Phân quyền truy cập giúp xem các class thuộc package nào khi được gọi ở phần access modifier.
- Dễ dàng chọn lọc khi import. Dùng lệnh import java.sql khi import tất cả các class. Dùng lệnh import.util.regex khi sử dụng class nằm trong package regex.
Các loại phạm vi truy cập trong Java là gì?
Có 4 phạm vi truy cập trong Java là public, private, default và protected.
- Public: Có thể truy cập mọi lúc mọi nơi
- Private: Chỉ có thể truy cập bên trong lớp
- Default: Có thể truy cập từ trong lớp khai báo, các lớp cùng một gói với lớp khai báo
- Protected: Có thể truy cập trong lớp khai báo, các lớp con của lớp khai báo, các lớp cùng một gói với lớp khai báo
Constructor là gì?
Constructor trong java là một dạng đặc biệt của phương thức được sử dụng để khởi tạo các đối tượng.
Java Constructor được gọi tại thời điểm tạo đối tượng. Nó khởi tạo các giá trị để cung cấp dữ liệu cho các đối tượng, đó là lý do tại sao nó được gọi là constructor.
Trình biên dịch JIT trong Java là gì?
Trình biên dịch JIT trong Java hay còn được biết đến với tên gọi Just-In-Time – là một kỹ thuật biên dịch các phần mã byte có các chức năng tương tự trong cùng một thời gian, qua đó giảm thời gian biên dịch cần thiết.
Sự khác biệt giữa mảng và ArrayList là gì?
- Array (Mảng) là cấu trúc dữ liệu có kích thước cố định.
- ArrayList là lớp collection có thể thay đổi kích thước.
Sự khác biệt giữa từ khóa break và continue
- Từ khóa break dùng để thoát ra khỏi vòng lặp ngay lập tức và chuyển sang câu lệnh tiếp theo, ở ngoài vòng lặp vừa kết thúc.
- Từ khóa continue được dùng để chỉ việc vòng lặp kế tiếp sẽ được thực hiện.
Tính đa hình là gì?
Polymorphism – Tính đa hình. Các đối tượng được thiết kế để chia sẻ các hành vi và chúng có thể có nhiều dạng. Chương trình sẽ xác định ý nghĩa hoặc cách sử dụng nào là cần thiết cho mỗi lần thực thi đối tượng đó từ lớp cha, giúp giảm nhu cầu sao chép mã.
Sau đó, một lớp con được tạo ra để mở rộng chức năng của lớp cha. Tính đa hình cho phép các loại đối tượng khác nhau đi qua cùng một giao diện.
Sự khác nhau giữa phương thức static và phương thức instance?
Phương thức static | Phương thức instance |
1. Một phương thức được khai báo với từ khóa static được gọi là phương thức static. | Một phương thức không được khai báo với từ khóa static được gọi là phương thức instance. |
2. Không cần tạo đối tượng cũng gọi được phương thức static thông qua class. | Phải tạo đối tượng để gọi phương thức instance. |
3. Biến non-static không được truy cập trực tiếp trong phương thức static (hoặc khối static). | Biến static và non-static được truy cập trực tiếp trong phương thức instance. |
4. Ví dụ: public static int cube(int n){ return n*n*n;} | Ví dụ: public void msg(){...}. |
Tại sao không thể ghi đè phương thức static?
Bởi vì phương thức static là một phần của lớp và nó bị ràng buộc với lớp, trong khi phương thức instance là bị ràng buộc với đối tượng, static được lưu trong vùng nhớ Class và instance được lưu trong bộ nhớ heap.
Khác biệt giữa constructor và phương thức trong Java
Constructor | Phương thức |
Được sử dụng để khởi tạo trạng thái của đối tượng. | Được sử dụng để thể hiện hành động của đối tượng. |
Không có kiểu trả về. | Có kiểu trả về |
Construction được gọi ngầm | Phương thức được gọi tường minh. |
JIT tạo ra constructor mặc định nếu bạn không có constructor nào. | Phương thức không được tạo ra bởi JIT. |
Tên của constructor phải giống tên lớp. | Tên phương thức có thể giống hoặc khác tên lớp. |
Collection trong Java là gì, liệt kê các interface và class của nó
- Collection trong Java là khuôn khổ cung cấp kiến trúc lưu trữ và thao tác tới nhóm đối tượng. Bạn có thể thực hiện tất cả các hoạt động như tìm kiếm, chèn, phân loại,...trên một dữ liệu nhờ Java Collection.
- Các interface của Java Collection: Set, List, Queue, Deque,...
- Các class của Java Collection: ArrayList, Vector, LinkedList, HashSet, PriorityQueue,...
1001 CÂU HỎI PHỎNG VẤN
- 101 câu hỏi phỏng vấn .NET thường gặp và gợi ý trả lời
- 101 câu hỏi phỏng vấn JavaScript hay có hướng dẫn trả lời chi tiết
- 101 câu hỏi phỏng vấn ReactJS thường gặp và gợi ý trả lời
- Tổng hợp 101 câu hỏi phỏng vấn Front End Developer
- 101 câu hỏi phỏng vấn SQL thường gặp có hướng dẫn trả lời chi tiết
- 101 câu hỏi phỏng vấn tester thường gặp và gợi ý trả lời
- Tuyển tập 101 câu hỏi phỏng vấn Nodejs thường gặp
- 101 câu hỏi phỏng vấn PHP có hướng dẫn trả lời chi tiết
- 101 câu hỏi phỏng vấn AngularJS thường gặp và cách trả lời thuyết phục
- 101 câu hỏi phỏng vấn Vuejs có hướng dẫn trả lời chi tiết
- 101 câu hỏi phỏng vấn HTML CSS thường gặp và gợi ý trả lời
- 101 câu hỏi phỏng vấn Spring Boot thường gặp và cách trả lời thuyết phục
- 101 câu hỏi phỏng vấn OOP thường gặp và gợi ý trả lời thuyết phục, đúng chuyên môn
- Tuyển tập 101 câu hỏi phỏng vấn công nghệ thông tin mới nhất
- 101 câu hỏi phỏng vấn Designer thường gặp và cách trả lời thuyết phục
- 101 câu hỏi phỏng vấn Content Marketing mới nhất
- 101 câu hỏi phỏng vấn Marketing và gợi ý cách trả lời ấn tượng
- Những câu hỏi phỏng vấn tiếng Nhật thường gặp và cách trả lời thuyết phục
- Infographic ViecLamVui: Bộ câu hỏi phỏng vấn tuyển dụng nhân viên kinh doanh
- Các câu hỏi phỏng vấn hành chính nhân sự và cách trả lời thuyết phục
- Các câu hỏi phỏng vấn qua điện thoại thường gặp và gợi ý cách trả lời thông minh
- Tổng hợp các câu hỏi phỏng vấn về ô nhiễm môi trường mới nhất
- Các câu hỏi phỏng vấn cho người có kinh nghiệm và cách trả lời ấn tượng
- Các câu hỏi phỏng vấn ngân hàng và gợi ý cách trả lời thông minh nhất
- 101 câu hỏi phỏng vấn python thường gặp
- 101 câu hỏi phỏng vấn lễ tân có gợi ý trả lời thông minh, thuyết phục
- Các câu hỏi phỏng vấn nhà hàng khách sạn và gợi ý cách trả lời thông minh nhất
- Tổng hợp những câu hỏi phỏng vấn xin việc tiếng Hàn phổ biến nhất
- Các câu hỏi phỏng vấn ngành Logistics có gợi ý trả lời
- 101 câu hỏi phỏng vấn kiểm toán thường gặp và gợi ý cách trả lời
- Top những câu hỏi thường gặp khi phỏng vấn ngành điện
- 101 câu hỏi phỏng vấn nhân viên quản trị mạng mới nhất
- Các câu hỏi khó trong phỏng vấn và gợi ý cách trả lời thông minh
- Trọn bộ câu hỏi phỏng vấn ngành điện tử viễn thông mới nhất
- Các câu hỏi khi phỏng vấn thực tập sinh thường gặp và gợi ý trả lời
- 101 câu hỏi phỏng vấn vị trí nhân viên tuyển dụng và gợi ý trả lời
- Các câu hỏi phỏng vấn ngành Y tế và gợi ý cách trả lời
- Các câu hỏi test IQ khi phỏng vấn và gợi ý cách trả lời thông minh
- Các câu hỏi phỏng vấn bằng tiếng Trung thường gặp và gợi ý cách trả lời
- Tổng hợp 101 câu hỏi phỏng vấn Samsung hấp dẫn nhất
- Những câu hỏi phỏng vấn Vinmart thường gặp có gợi ý cách trả lời
- Các câu hỏi phỏng vấn Viettel thường gặp và gợi ý cách trả lời
- 101 câu hỏi phỏng vấn điều dưỡng hay gặp nhất
- Câu hỏi về lương khi phỏng vấn - Cách trả lời câu hỏi phỏng vấn về lương khéo léo
- Những câu hỏi khi đi phỏng vấn QC và gợi ý trả lời
- Tổng hợp những câu hỏi phỏng vấn về học tập
- Top 101 câu hỏi tình huống phỏng vấn thư ký thường gặp và gợi ý trả lời
- 101 câu hỏi phỏng vấn thu ngân và cách trả lời hay nhất
- Top 101 câu hỏi phỏng vấn chuyên viên quan hệ khách hàng và gợi ý cách trả lời
- Tổng hợp những câu hỏi phỏng vấn về dịch vụ khách hàng
- 101 câu hỏi phỏng vấn ngành công nghiệp thực phẩm
- Bộ câu hỏi phỏng vấn tiếp viên hàng không thường gặp và gợi ý cách trả lời
Trên đây là 101 câu hỏi phỏng vấn Java thường gặp và gợi ý trả lời ViecLamVui - chuyên trang tìm việc làm miễn phí - gửi đến bạn. Hy vọng tài liệu trên có thể hỗ trợ các bạn thật hiệu quả.
#CauHoiPhongVanJava #ViecLamVui