Phỏng vấn vẫn là vấn đề rất nhiều bạn ra mới ra trường khá sợ và thiếu tự tin, một phần chủ yếu do thiếu khá nhiều kiến thức nền tảng, một phần là bạn chưa có sự chuẩn bị kỹ càng. Việc đọc qua những câu phỏng vấn là một cách khá hay, giúp bạn trau dồi lại kiến thức của mình cũng như làm quen dần với các câu hỏi bạn sẽ gặp trong cuộc phỏng vấn.
Bài này chúng ta cùng tìm hiểu về 20 câu hỏi phỏng vấn Java cuối cùng trong loạt bài.
- Lớp GregorianCalendar là gì?
Lớp GregorianCalendar cung cấp sự hỗ trợ Western Calendar truyền thống.
- Bạn hiểu gì về lớp SimpleTimeZone?
Lớp SimpleTimeZone cung cấp sự hỗ trợ cho một Gregorian Calendar.
- Điểm khác nhau giữa hai tham số size và capacity của một Vector?
Tham số size là số phần tử thực sự được lưu giữ trong Vector đó, trong khi capacity là số phần tử tối đa nó có thể lưu giữ tại một thời điểm nào đó.
- Một Vector có thể chứa các đối tượng hỗn tạp không?
Có, một Vector có thể chứa các đối tượng hỗn tạp. Bởi vì một Vector lưu trữ mọi thứ theo khái niệm Đối tượng.
- Trình bày Enumeration?
Một Enumeration là một Interface chứa các phương thức để truy cập cấu trúc dữ liệu lớp dưới mà từ đó Enumeration được thu nhận. Nó cho phép sự truy cập liên tiếp tới tất cả phần tử được lưu trữ trong Collection đó.
- Path và Classpath khác nhau ở điểm nào?
Cả Path và Classpath đều là các biến môi trường của hệ điều hành. Path là các định nghĩa từ đó hệ thống có thể tìm thấy các file có thể thực thi (với đuôi .exe) và Classpath được sử dụng để xác định vị trí của .class file.
- Một lớp được khai báo là private có thể được truy cập từ bên ngoài package của nó không?
Không.
- Ràng buộc nào phải được tuân theo trên một phương thức static hoặc một khối static?
Một phương thức static không nên tham chiếu tới các biến instance mà không tạo một instance và không thể sử dụng toán tử this để tham chiếu Instance đó.
- Một Interface có thể kế thừa Interface khác không?
Có. Một Interface có thể kế thừa Interface khác, từ đó một Interface có thể kế thừa nhiều hơn một Interface.
- Ghi đè và nạp chồng là dựa trên khái niệm hướng đối tượng nào?
Đó là tính đa hình (Polymorphism)
- Lock của một đối tượng là gì và các đối tượng nào có lock?
Một lock của đối tượng là một kỹ thuật được sử dụng bởi nhiều Thread để thu được truy cập được đồng bộ hóa (synchronized) tới đối tượng đó. Một Thread có thể thực thi một phương thức synchronized của một đối tượng chỉ sau khi nó đã giành được lock của đối tượng đó.
- Khái niệm Downcasting là gì?
Nó là ép kiểu từ một kiểu chung thành một kiểu cụ thể hơn, ví dụ: ép kiểu xuống theo cấu trúc thứ bậc.
- Thứ tự độ ưu tiên và Associativity là gì và cách chúng được sử dụng?
Độ ưu tiên quyết định thứ tự trong đó toán tử được ước lượng trong các biểu thức. Associativity xác định xem một biểu thức là được tính toán từ trái-qua-phải hay từ phải-qua-trái.
- Nếu một phương thức được khai báo là protected, thì phương thức đó có thể được truy cập ở đâu?
Một phương thức protected chỉ có thể được truy cập bởi các lớp hoặc Interface của cùng package hoặc bởi các lớp con của lớp trong đó nó được khai báo.
- Điểm khác nhau giữa Inner Class và Nested Class?
Khi một lớp được định nghĩa bên trong một phạm vi của lớp khác, thì nó trở thành Inner Class. Nếu Access Modifier của Inner Class là static, thì nó trở thành Nested Class.
- Bạn cần chú ý điều gì khi thực hiện ghi đè phương thức?
Các phương thức bị ghi đè phải có cùng tên, danh sách tham số, và kiểu trả về. Phương thức ghi đè không thể giới hạn sự truy cập của phương thức nó ghi đè.
- Chuỗi Constructor (hay Constructor Chaining) là gì và cách thực hiện nó trong Java?
Một Constructor của đối tượng con đầu tiên luôn luôn cần để xây dựng cha của nó. Trong Java, điều này được thực hiện thông qua một lời gọi ngầm định tới constructor (không có tham số) như là lệnh đầu tiên.
- Có thể ép kiểu giá trị double thành một byte được không?
Có.
- Cách một lệnh try quyết định mệnh đề catch nào nên được sử dụng để xử lý một Exception?
Khi một Exception được ném bên trong thân khối lệnh try, thì các mệnh đề catch của lệnh try đó được kiểm tra. Mệnh đề catch đầu tiên nào có khả năng xử lý Exception đó sẽ được thực thi. Các mệnh đề catch còn lại được bỏ qua.
- Các giá trị mặc định của tất cả phần tử trong một mảng khi được định nghĩa như là một biến instance là gì?
Nếu mảng là một mảng các kiểu giá trị gốc, thì tất cả phần tử của mảng đó sẽ được khởi tạo với giá trị mặc định tương ứng với kiểu gốc đó.
Lời kết
Đến đây, bạn đã theo dõi toàn bộ các câu phỏng vấn về Java mà chúng tôi đã trình bày, nhưng mong bạn nên đọc lại một lần nữa, điều đó giúp bạn tự tin hơn. Nếu bạn mới ra trường, thì người phỏng vấn sẽ không mong đợi bạn sẽ trả lời các câu hỏi phức tạp, do đó, điều bạn nên làm là củng cố thật kĩ kiến thức cơ bản của mình.
Một điều nữa cần nói đến là, sẽ không vấn đề gì nếu bạn không thể trả lời một số câu hỏi, vì chẳng phải ai cũng có thể biết và nhớ hết được, nhưng điều bạn cần là sự tự tin với bất kỳ câu trả lời nào. Vì thế, hãy thật tự tin trong cuộc phỏng vấn.