Java là gì? Cách trả lời các câu hỏi phỏng vấn Java

  By   Administrator   17/09/2020

Java là ngôn ngữ lập trình bậc cao, được biết đến với tính linh hoạt, bảo mật và hiệu suất cao. Nếu bạn đang chuẩn bị ứng tuyển cho vị trí lập trình viên web, lập trình viên Java thì học hỏi trước những cách trả lời câu hỏi phỏng vấn Java là điều cần thiết. Cùng tìm hiểu về loại ngôn ngữ lập trình này và câu hỏi phỏng vấn Java qua bài viết dưới đây của Vieclam123.vn nhé.

1. Java là gì?

1.1. Java là gì?

Java là ngôn ngữ lập trình bậc cao, được sáng tạo bởi Sun Microsystems do James Gosling khởi xướng vào năm 1995. Java chạy trên đa dạng nền tảng như Windows, Mac OS và các phiên bản UNIX như HO-UNIX, Sun Solaris, Redhat Linux, Ubantu, CentOS,..

Java được xem là một Platform, nghĩa là một chương trình chạy có thể chạy trên bất cứ môi trường phần cứng hay phần mềm nào

1.2. Đặc điểm của Java là gì?

Java có một số đặc điểm nổi bật như hướng đối tượng, nền tảng độc lập, đơn giản, bảo mật, kiến trúc trung lập, portable, mạnh mẽ, đa luồng, thông dịch, hiệu suất cao, phân tán, linh động. Khi được nhà tuyển dụng đặt câu hỏi về đặc điểm của Java, bạn có thể liệt kê hết tất cả các đặc điểm hoặc nêu ra 3-5 đặc điểm sau đó giải thích chi tiết về những đặc điểm đó. 

Cụ thể đặc điểm của Java như sau:

+ Hướng đối tượng: Đối với ngôn ngữ lập trình Java, mọi thứ đều là một Object (đối tượng), vì vậy Java có thể dễ dàng mở rộng và bảo trì.

+ Nền tảng độc lập: Khi Java được biên dịch, nó không phụ thuộc vào nền tảng của một máy tính cụ thể mà dựa vào những bye code độc lập. Byte code này được thông dịch bằng Virtual Machine (JVM) trên bất cứ nền tảng máy tính nào mà nó đang chạy, bởi vậy có thể nói nền tảng của Java là nền tảng độc lập.

+ Đơn giản: Một lập trình viên khi đã hiểu cơ bản về khái niệm lập trình thì có thể nắm bắt ngôn ngữ lập trình Java này rất nhanh bởi tính đơn giản và thiết kế dễ học của nó.

+ Bảo mật: Tính năng bảo mật của Java cho phép phát triển những hệ thống không có virus, giả mạo.

+ Đa luồng: Khi thực hiện ngôn ngữ lập trình Java, bạn có thể viết các chương trình với nhiều tác vụ diễn ra đồng thời mà vẫn đảm bảo hoạt động trơn tru.

Câu hỏi phỏng vấn Java

1.3. Ứng dụng của Java

Java được ứng dụng trong ngôn ngữ lập trình ở nhiều nơi như những trang web thương mại điện từ, trên ứng dụng Android hay trên các ứng dụng khoa học.

Đầu tiên, Java được sử dụng nhiều trong các ứng dụng Android. Android sử dụng máy ảo JVM và các package khác nhưng phần code thì được viết bằng ngôn ngữ lập trình Java.

Thứ hai, ngôn ngữ lập trình Java được sử dụng trong các dịch vụ tài chính. Các ngân hàng thường sử dụng ngôn ngữ lập trình này để viết lên các hệ thống giao dịch điện tử, hệ thống xác nhận và kiểm toán, các dự án xử lý dữ liệu và một số công việc khác. Java Swing được dùng phổ biến để tạo ra giao diện người dùng.

Thứ ba, ngôn ngữ lập trình Java được sử dụng trong các ứng dụng web thương mại điện từ 

1.4. Các kiểu của Java App

Có 4 kiểu ứng dụng chính của Java App là Standalone App, Web App, Enterprise App, Mobile App.

  • Standalone App: Standalone App cũng được biết đến như Desktop App hoặc Window-based App. Để tạo ra ứng dụng kiểu này người ta thường sử dụng AWT, Swing hoặc JavaFX framework.

  • Web App: Web App là ứng dụng chạy trên server và tạo được các trang động. Hiện nay, servlet, jsp, struts, jsf, spring... là những công nghệ được sử dụng để tạo Web App trong java.

  •  Enterprise App: Một ứng dụng dạng như Banking App, có lợi thế là tính bảo mật cao, cân bằng tải (load balancing) và clustering. Trong java, EJB được sử dụng để tạo các Enterprise App.

  •  Mobile App: Mobile App là ứng dụng được tạo ra cho các thiết bị di động. Hiện nay Android và Java ME được sử dụng để chạy các ứng dụng này.

1.5. Các nền tảng Java Platforms

Có 4 nền tảng Java chính là Java SE (Java Standard Edition), Java EE (Java Enterprise Edition), Java ME (Java Micro Edition), JavaFX. Trong đó:

  • Java SE: bao gồm các API lập trình Java như java.lang, java.io, java.net, java.util, java.sql, java.math, v.v. Nó bao gồm các chủ đề cốt lõi như OOPs, String, Regex, Exception, Inner classes, Multithreading, I/O Stream, Networking, AWT, Swing, Reflection, Collection.

  • Java EE: Được sử dụng trong doanh nghiệp để phát triển các ứng dụng web, xây dựng trên nền tảng Java SE, bao gồm các chủ đề như Servlet, JSP, Web Services, EJB, JPA.

  • Java ME: Sử dụng chủ yếu để phát triển các ứng dụng di động

  • JavaFX: Nền tảng phần mềm chạy trên nhiều loại thiết bị, hệ điều hành khác nhau. JavaFX là một giải pháp công nghệ cho GUI trên nền tảng Java nhằm tạo giao diện đồ họa người dùng dựa trên Swing và Java 2D.

Câu hỏi phỏng vấn Java

2. Câu hỏi phỏng vấn Java thường gặp

Dưới đây là tổng hợp những câu hỏi phỏng vấn Java và cách trả lời để bạn tham khảo và chuẩn bị tốt nhất cho buổi phỏng vấn của mình.

1. Bạn biết gì về ngôn ngữ lập trình 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 có thể 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.

2. Bạn có thể liệt kê một số nền tảng được hỗ trợ bởi Ngôn ngữ lập trình Java?

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

3. Liệt kê 5 đặc điểm bất kỳ của ngôn ngữ lập trình 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), mạnh mẽ (robust), linh hoạt, đơn giản, bảo mật,..

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

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

5. 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. Trình biên dịch này biến Java Bytecode (một chương trình chứa các chỉ thị cần được thông dịch) thành các chỉ thị có thể được gửi trực tiếp tới bộ xử lý.

6. Tại sao Java được coi là động (Dynamic)?

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

7. Java Virtual Machine là gì và nó có vai trò gì trong đặ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 sang nền tảng máy cụ thể nào, mà được dịch sang 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.

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

Netbeans, Eclipse,...

9. 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,…

10. 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 đối tượng và đóng vai trò như là cơ chế chính để giao tiếp giữa các đối tượng với nhau.

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

Một lớp là một thiết kế (blueprint) từ đó các đối tượng riêng lẻ đượ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.

12. Class có thể chứa những kiểu biến nào?

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

Trong đó, biến local là biến đượ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.

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 khởi tạo khi lớp được tải.

Biến lớp 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.

13. Lớp Singleton là gì?

Lớp Singleton trong Java kiểm soát việc tạo đối tượng, giới hạn số đối tượng là 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 tình huống thay đổi.

14. Giá trị mặc định của kiểu dữ liệu byte trong Java là gì?

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

Câu hỏi phỏng vấn Java

15. 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 trong Python khác với trong C/C++. Mặc định của float là 0.0f và của double là 0.0d.

16. Trong ngôn ngữ lập trình Java, Package được hiểu là gì?

Một Package có thể được định nghĩa như là một nhóm các kiểu (lớp, interface, kiểu liệt kê) có liên quan với nhau, cung cấp bảo vệ truy cập và trình quản lý namespace.

Package được sử dụng trong Java để ngăn ngừa các xung đột khi đặt tên, để điều khiển truy cập, để tìm kiếm và xác định vị trí, và để sử dụng các lớp, Interface, kiểu liệt kê … dễ dàng hơn.

17. Bạn hiểu gì về Đa luồng (Multi-Thread) trong Java?

Một chương trình đa luồng bao gồm hai hoặc nhiều phần mà có thể chạy đồng thời. Mỗi phần của chương trình đó được gọi là một Thread, và một Thread xác định một trình thực thi khác nhau.

Thread có thể được tạo bởi cách triển khai Runnable Interface, kế thừa lớp Thread.

Một Thread là một sự thực thi trong một chương trình, vòng đời của Thread trải qua các trạng thái là Newborn, Runnable, Running, Blocked, Dead.

18. Applet là gì?

Một Applet (vi mã) là một chương trình Java mà chạy trong một trình duyệt Web. Một Applet có thể là một ứng dụng Java đầy đủ tính năng bởi vì nó có toàn bộ Java API trong bố trí của nó.

Một Applet kế thừa lớp java.applet.Applet.

19. Giải thích trình dọn rác (Garbage Collector) trong Java?

Java sử dụng trình dọn rác để giải phóng bộ nhớ bằng việc xóa bỏ các đối tượng mà không còn được sử dụng bởi bất cứ chương trình nào.

20. Liệt kê các kiểu gốc trong Java?

Có 8 kiểu dữ liệu gốc trong Java là byte, char, short, int, long, float, double và Boolean.

Bên cạnh những câu hỏi phỏng vấn Java trên đây, tùy vào từng nhà tuyển dụng có thể thêm cho ứng viên những câu hỏi khác nhau, đi sâu vào các thao tác thực hiện với ngôn ngữ lập trình Java. Chỉ khi quen thuộc với ngôn ngữ lập trình này và thành thạo các thao tác thì bạn mới có thể vượt qua vòng phỏng vấn suôn sẻ. 

Như vậy, trên đây là thông tin cơ bản về ngôn ngữ lập trình Java và một số câu hỏi phỏng vấn Java được Vieclam123.vn tổng hợp để mang đến cho bạn những thông tin hữu ích. Hy vọng các bạn có thể hiểu sâu về ngôn ngữ lập trình Java này để hoàn thành tốt công việc lập trình của mình.

>> Tham khảo thêm tin:

Gia sư nổi bật
no image  Hà Nội
Dieu Nhi Gia sư môn:  Thương lượng
Nguyễn thị thanh huyền  Hà Nội
Nguyễn thị thanh huyền Gia sư môn:  Toán , Tiếng Việt Từ: 150,000 vnđ/buổi
Nguyễn Thị Hoài Phương  Hà Nội
Nguyễn Thị Hoài Phương Gia sư môn:  Toán , Tiếng Việt , Tiếng Anh Từ: 200,000 vnđ/buổi
no image  Hà Nội
Nguyễn Thu Ngân Gia sư môn:  Toán , Tiếng Việt Từ: 200,000 vnđ/buổi
nguyễn nhựt thanh  Bến Tre
nguyễn nhựt thanh Gia sư môn:  Toán , Luyện chữ đẹp , Báo bài Từ: 200,000 vnđ/buổi
Ngô thị sơn  Bắc Ninh
Ngô thị sơn Gia sư môn:  Toán , Tiếng Việt , Luyện chữ đẹp Từ: 200,000 vnđ/buổi
Trần Thị Thu Huyền  Hà Nội
Trần Thị Thu Huyền Gia sư môn:  Toán , Hóa , Tiếng Việt Từ: 150,000 vnđ/buổi
Xem thêm gia sư  

Hotline

0869.154.226

1
Bạn cần hỗ trợ ?