Tổng hợp những câu hỏi phỏng vấn Java (P1)

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 viết này chúng ta cùng tìm hiểu về 30 câu hỏi phỏng vấn Java đầu tiên.

lap-trinh-java-2

  1. Bạn biết gì về Java?

Java là một ngôn ngữ lập trình cấp cao, được phát triển đầu tiên bởi Sun Microsystems và được công bố năm 1995. Java chạy trên các nền tảng đa dạng, như Windows, Mac OS, và các phiên bản UNIX đa dạng.

  1. Các nền tảng được hỗ trợ bởi Ngôn ngữ lập trình Java?

Java chạy trên các nền tảng đa dạng, như Windows, Mac OS, và các phiên bản UNIX đa dạng như HP-Unix, Sun Solaris, Redhat Linux, Ubuntu, CentOS, …

  1. Liệt kê 5 đặc điểm bất kỳ của Java?

Một số đặc điểm của Java là Hướng đối tượng, Độc lập nền tảng, Thông dịch, Đa luồng (Multi-thread), Robust (mạnh mẽ), Portable (khả chuyển).

  1. Tại sao Java là độc lập cấu trúc?

Nó là Compiler tạo ra một định dạng file độc lập cấu trúc, mà làm cho code được biên dịch có thể thực thi trên bất kỳ Processor nào, với sự có mặt của hệ thống Java runtime.

  1. Hiệu suất cao (High Performance) được kích hoạt như thế nào trong Java?

Java sử dụng Just-In-Time compiler để kích hoạt hiệu năng cao. Bộ biên dịch này là một chương trình mà bật Java Bytecode, mà là một chương trình chứa các chỉ thị phải được thông dịch thành các chỉ thị có thể được gửi trực tiếp tới Processor.

  1. Tại sao Java được xem như là Dynamic?

Nó được thiết kế để thích nghi với môi trường phát triển. Các chương trình Java có thể mang một lượng lớn thông tin run-time có thể được sử dụng để kiểm tra và xử lý các truy cập tới các đối tượng tại runtime.

  1. Java Virtual Machine là gì và cách nó được xem xét trong ngữ cảnh của đặc điểm độc lập nền tảng của Java?

Khi Java được biên dịch, nó không được biên dịch vào trong nền tảng máy cụ thể, thay vào đó là vào trong Bytecode độc lập nền tảng. Bytecode này được phân phối thông qua Web và được thông dịch bởi Java Virtual Machine (JVM) trên bất kỳ nền tảng nào nó đang chạy.

  1. Liệt kê hai JDE của Java?

Netbeans, Eclipse, …

  1. Liệt kê một số từ khóa trong Java (không giống từ khóa trong C, C++)?

Một số từ khóa trong Java là import, super, finally, …

  1. Bạn hiểu gì về Đối tượng?

Đối tượng là một thực thể tại runtime, trạng thái của nó được lưu trữ trong các trường và hành vi được thể hiện thông qua các phương thức. Các phương thức vận hành trên trạng thái nội tại của một đối tượng và đóng vai trò như là kỹ thuật sơ cấp để giao tiếp giữa các đối tượng với nhau.

  1. Định nghĩa Lớp (class)?

Một lớp là một blueprint từ đó các đối tượng đơn được tạo. Một lớp có thể chứa các trường và các phương thức để miêu tả hành vi của một đối tượng.

  1. Kiểu biến nào một lớp có thể chứa?

Một lớp có thể gồm biến local, biến instance, và biến lớp.

  1. Biến local hay biến cục bộ là gì?

Các biến được định nghĩa bên trong phương thức, constructor hoặc các khối được gọi là biến local. Biến này sẽ được khai báo và khởi tạo bên trong phương thức và nó sẽ bị hủy khi phương thức kết thúc.

  1. Biến instance là gì?

Biến instance là các biến bên trong một lớp nhưng bên ngoài bất cứ phương thức nào. Những biến này được thuyết minh khi lớp được tải.

  1. Biến lớp là gì?

Đây là các biến được khai báo với một lớp, bên ngoài bất cứ phương thức nào, với từ khóa static.

  1. Lớp Singleton là gì?

Lớp Singleton trong Java điều khiển việc tạo đối tượng, giới hạn số đối tượng về một nhưng nó cũng linh động khi cho phép bạn tạo nhiều đối tượng hơn nếu trạng thái thay đổi.

  1. Bạn có thể nói gì về Contructor?

Contructor được triệu hồi khi một đối tượng mới được tạo. Mỗi lớp có một Constructor. Nếu chúng ta không viết một constructor một cách tường minh cho một lớp, thì Java Compiler sẽ xây dựng một Constructor mặc định cho lớp đó.

  1. Liệt kê ba bước để tạo một đối tượng cho một lớp?

Đầu tiên, một đối tượng được khai báo, sau đó thuyết minh và cuối cùng là khởi chạy.

  1. Giá trị mặc định của kiểu dữ liệu byte trong Java?

Giá trị mặc định của kiểu dữ liệu byte là 0.

  1. Giá trị mặc định của kiểu dữ liệu float và double trong Java?

Giá trị mặc định của kiểu dữ liệu float và double là khác với trong C/C++. Mặc định của float là 0.0f và của double là 0.0d.

  1. Sự khác nhau giữa hai lớp StringBuffer và StringBuilder?

Sử dụng StringBuilder bất cứ khi nào có thể bởi vì nó nhanh hơn StringBuffer. Nhưng, nếu an toàn luồng (Thread Safety) là cần thiết, thì bạn nên sử dụng các đối tượng StringBuffer.

  1. Package nào được sử dụng để so khớp mẫu (Pattern Matching) với Regular Expression trong Java?

Để sử dụng cho mục đích này, bạn dùng java.util.regex.

  1. regex gồm các lớp nào?

java.util.regex gồm ba lớp: lớp Pattern, lớp Matcher và lớp PatternSyntaxException.

  1. Phương thức finalize() làm gì?

Có thể định nghĩa một phương thức mà sẽ được gọi ngay trước khi hủy đối tượng bởi Garbage Collector (Trình dọn rác). Phương thức này được gọi là finalize(), và nó có thể được sử dụng để bảo đảm rằng đã hoàn toàn kết thúc một đối tượng.

  1. Exception (Ngoại lệ) là gì?

Một Exception là một vấn đề được tạo ra trong khi thực thi một chương trình. Các Exception được bắt bởi Handler được xác định cùng với lời gọi phương thức của Thread.

  1. Bạn biết gì về Checked Exception?

Đặc trưng của loại Exception này là một lỗi người dùng hoặc một vấn đề không thể biết trước bởi lập trình viên. Ví dụ, nếu một file đã được mở, nhưng không tìm thấy file đó, thì một Exception xuất hiện. Những Exception này không thể được bỏ qua một cách đơn giản tại thời điểm biên dịch.

  1. Giải thích Runtime Exception?

Nó là một Exception mà có thể được tránh bởi lập trình viên. Trái ngược với Checked Exception, các Runtime Exception bị bỏ qua tại thời điểm biên dịch.

  1. Lớp Exception có hai lớp con nào?

Lớp Exception có hai lớp con chính là: lớp IOException và lớp RuntimeException.

  1. Khi nào từ khoá throws được sử dụng?

Nếu một phương thức không xử lý một Checked Exception, phương thức phải được khai báo với từ khóa throws. Từ khóa throws xuất hiện ở phần cuối một phương thức.

  1. Khi nào từ khóa throw được sử dụng?

Một Exception có thể được ném, hoặc bởi được thuyết minh hoặc một Exception mà bạn vừa bắt, bởi sử dụng từ khóa throw.

Cám ơn các bạn đã đọc bài viết này, hẹn gặp lại bạn ở các bài tiếp theo!

Nhận xét