Bộ câu hỏi phỏng vấn Java phần 1

Các kiểu biến trong Java phân loại theo scope ? Vòng đời của từng kiểu biến trong Java


Phạm vi sử dụng biến có 3 kiểu biến:

  • Biến cục bộ (biến local): Khai báo trong một phương thức ,các hàm tạo hoặc một khối chỉ sử dụng bên trong phương thức hoặc khối tạo ra nó , nó sẽ bị hủy khi kết thúc phương thức hoặc khối lệnh không có giá trị mặc định khi vừa khởi tạo
  • Biến toàn cục (instance): các biến được khai báo trong một lớp nhưng không gán giá trị thì nó sẽ có giá trị mặc định .đối với kiểu số thì mặc định là 0,kiểu boolean mặc định false, object=null các biến này có thể được sử dụng trong bất kỳ phương thức, hàm tạo, hay khối lệnh nào thuộc lớp chứa nó
  • Biến tĩnh (static): Được khai báo bên trong lớp ,nhưng ko nằm trong bất kỳ phương thức , một hàm tạo hay khối lệnh nào cả các biến khởi tạo khi khởi tạo nếu ko gán giá trị thì nó sẽ có giá trị mặc định Kiểu số mặc định là 0 , đối với kiểu boolean mặc định false , đối với kiểu trả về đối tượng null các biến static được tạo khi chương trình chạy và chỉ hủy khi dùng chương trình được khai báo với từ khóa static nếu static cùng tên với biến cục bộ thì phương thức, hàm tạo hay khối lệnh sẽ ưu tiên sử dụng biến cục bộ "

JVM là gì? Tại sao Java được gọi là "Platform Independent Programming Language"?


Máy ảo Java (JVM) là một máy ảo tiến trình có thể thực thi Java bytecode.

Mỗi tệp nguồn Java được biên dịch thành tệp bytecode, tệp này được thực thi bởi JVM.

Java được thiết kế để cho phép các chương trình ứng dụng được xây dựng có thể chạy trên bất kỳ nền tảng nào mà không cần lập trình viên phải viết lại hoặc biên dịch lại cho từng nền tảng riêng biệt.

Máy ảo Java làm cho điều này có thể thực hiện được, vì nó nhận thức được độ dài lệnh cụ thể và các đặc điểm khác của nền tảng phần cứng bên dưới.

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


java.util.regex gồm ba lớp:

  • Lớp Pattern
  • Lớp Matcher
  • Lớp PatternSyntaxException.

Nêu đặ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)

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.

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.

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


Đố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.

Lớp Exception có các lớp con nào?


Lớp Exception có hai lớp con chính là:

  • Lớp IOException
  • Lớp RuntimeException.

So sánh sự khác nhau String vs StringBuffer vs StringBuilder?


  • Khác biệt về khả năng thay đổi: String không thể bị thay đổi, nếu bạn cố gắng thay đổi nó, thì đối tượng mới sẽ được tạo ta, trong khi đó StringBufferStringBuilder có thể bị thay đổi giá trị.
  • Khác biệt về Thread-Safe: Khác biệt giữa StringBufferStringBuilderStringBuffer có tính chất thread-safe. Vì thế khi ứng dụng cần chạy chỉ trên một luồng, sẽ an toàn hơn nếu dùng StringBuilder. StringBuilder hiệu quả hơn nhiều so với StringBuffer.
  • Tình huống:
    • Nếu một chuỗi không thay đổi, hãy dùng lớp String vì đối tượng String không thể bị thay đổi.
    • Nếu string có thể bị thay đổi (ví dụ: áp dụng rất nhiều logic và bước để tạo ra string) và chỉ được truy xuất bởi một luồng, hãy sử sử dụng StringBuilder
    • Nếu một chuỗi có thể thay đổi, và sẽ bị truy cập bởi nhiều thread, sử dụng StringBuffer bởi vì StringBuffer là synchronous nên sẽ có thread-safe."

Các tính chất của lập trình hướng đối tượng trong Java?


Có 4 tính chất:

  • Tính trừu tượng
  • Tính đóng gói
  • Tính kế thừa
  • Tính đa hìnhCó 4 tính chất:

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.

Phương thức finalize() trong Java 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.

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.

Trang JSP là gì?


Java Server Page (JSP) là một tài liệu văn bản chứa hai loại văn bản:

  • Static data và
  • JSP elements

Static data có thể được thể hiện ở bất kỳ định dạng nào dựa trên văn bản, chẳng hạn như HTML hoặc XML. JSP là công nghệ kết hợp nội dung tĩnh (static content) với nội dung được tạo động (dynamically-generated content).

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.

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.

Exception trong Java là gì?


Trong Java, Exception là một sự kiện mà phá vỡ luồng chuẩn của chương trình. Nó là một đối tượng mà được ném tại Runtime. Một exception (ngoại lệ) trong Java là một vấn đề xảy ra trong quá trình thực hiện của chương trình. Một ngoại lệ có thể xảy ra với nhiều lý do khác nhau, như dưới đây:

  • Người dùng nhập dữ liệu không hợp lệ.
  • Một file cần được mở nhưng không thể tìm thấy.
  • Kết nối mạng bị ngắt trong quá trình thực hiện giao tiếp hoặc JVM hết bộ nhớ.

Một vài những ngoại lệ xảy ra bởi lỗi của người dùng, một số khác bởi lỗi của lập trình viên và số khác nữa đến từ lỗi của nguồn dữ liệu vật lý.

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.

Avatar Techmely Team
VIẾT BỞI

Techmely Team