Ngày đăng: 20/11/2022 | Không có phản hồi
Ngày cập nhật: 18/11/2022
Là một lập trình viên Java, chắc hẳn bạn đã học rất nhiều kiến thức vô cùng quan trọng để có thể thực hiện các dự án của mình và chuẩn bị cho công việc sau này. Tuy nhiên, liệu những câu hỏi phỏng vấn tại các công ty có giống với những gì bạn đã học.
Hãy cùng đọc bài viết sau của Glints và tìm hiểu các câu hỏi phỏng vấn Java thường gặp để chuẩn bị tốt nhất cho buổi phỏng vấn trong tương lai nhé!
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.
Phương thức main () trong chương trình Java chính là điểm thực thi của chương trình, hay còn là điểm vào (entry point) khi thực hiện một xử lý trong chương trình Java. Phương thức main kết thúc là khi chương trình kết thúc và phương thức main là điều kiện để cho các phương thức khác có thể thực thi.
Lập trình hướng đối tượng (OOP) là một phương pháp lập trình máy tính tổ chức thiết kế phần mềm xung quanh dữ liệu hoặc đối tượng thao tác, thay vì chức năng và logic để thao tác chúng.
Lập trình hướng đối tượng dựa trên các nguyên lý sau:
Java không phải là ngôn ngữ hướng đối tượng hoàn toàn vì Java có sử dụng cả các loại dữ liệu khác như byte, char, float, v.v.
Đọc thêm: Java Developer Là Gì? Mô Tả Công Việc Java Developer
Java độc lập nền tảng là do Java sử dụng JVM, máy ảo Javacung cấp cách thực thi mã Java độc lập với nền tảng.
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.
Lớp wrapper trong Java là lớp đóng gói các kiểu, cung cấp cơ chế chuyển đổi dữ liệu nguyên thủy trở thành kiểu đối tượng, và ngược lại. .
Con trỏ không được sử dụng trong Java vì con trỏ khá phức tạp và không an toàn.
Giống nhau:
Khác nhau:
Cơ sở so sánh | Vector | ArrayList |
Căn bản | Lớp Vector sẽ được đồng bộ hóa. | Lớp ArrayList sẽ không được đồng bộ hóa. |
Lớp kế thừa | Vector là một lớp kế thừa, được thiết kế lại để hỗ trợ lớp Collection. | ArrayList là một lớp Collection tiêu chuẩn. |
Tuyên bố lớp | Vector | ArrayList |
Tái phân bổ | Khi không được chỉ định, Vector tăng lên gấp đôi kích thước | Khi không được chỉ định, ArrayList tăng thêm một nửa kích thước |
Hiệu suất | Khi Vector được đồng bộ hóa,Vector hoạt động chậm hơn ArrayList. | Vì ArrayList không được đồng bộ hóa, ArrayList hoạt động nhanh hơn Vector. |
Bảng liệt kê / lặp | Vector sử dụng Enumutions và giao diện Iterator để duyệt qua các đối tượng được lưu trữ trong Vector. | ArrayList sử dụng giao diện Iterator để duyệt qua các đối tượng được lưu trữ trong ArrayList. |
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:
Ưu điểm của các package:
Về kích thước vùng nhớ
Về đặc điểm vùng nhớ
Lỗi xảy ra với vùng nhớ
Có 4 phạm vi truy cập trong Java là public, private, default và protected.
Đọc thêm: Ngôn Ngữ Java Là Gì? Tìm Hiểu Về Ngôn Ngữ Lập Trình Java
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.
Class đại diện cho các thuộc tính và phương thức chung cho các đối tượng của lớp. Trong Java, class là kiểu dữ liệu do lập trình viên tự tạo ra.
Biến local:
Biến instance:
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.
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.
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.
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.
Đọc thêm: Bộ Câu Hỏi Phỏng Vấn Frontend Dành Cho Mọi Vị Trí Ứng Tuyển
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ề. |
Constructor đượ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. |
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.
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, v.v, trên một dữ liệu nhờ Java Collection.
Các interface của Java Collection: Set, List, Queue, Deque, v.v.
Các class của Java Collection: ArrayList, Vector, LinkedList, HashSet, PriorityQueue, v.v.
Có 4 loại access modifier là: private, default, protected, public. Trong đó:
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.
Final là thuộc tính mà chúng sẽ không thể thay đổi giá trị. Các phương thức final không thể overide ở lớp con và các class final không thể kế thừa.
Không bắt buộc phải khai báo constructor trong lớp. Nếu không khai báo, lớp sẽ dùng default constructor.
Trên đây chúng ta đã cùng tìm hiểu về những câu hỏi phỏng vấn Java thường gặp trong các buổi phỏng vấn. Bạn hãy tham khảo những câu hỏi này để có thể tự tin hơn khi đối diện với nhà tuyển dụng nhé.
Có thể bạn cũng thích
Emotional Salary Là Gì? Có Gì Khi Đặt Giá Trị Tinh Thần & Tiền Lương Lên Bàn Cân?
Huy Kieu - 10/04/2024
Cách Trả Lời Câu Hỏi “Kỳ Vọng Của Bạn Đối Với Công Việc?” Cực Hay
Glints Writers - 06/04/2024
Tuyệt Chiêu Trả Lời Câu Hỏi “Bạn Có Thể Làm Gì Cho Công Ty Chúng Tôi?”
Glints Writers - 06/04/2024
Trả lời