Câu hỏi phỏng vấn trong lập trình Java

Giới thiệu nội dung bài viết

Chào các em, sau khi đã học xong công nghệ Java thì đây là những câu hỏi để đánh giá xem mình có nắm được kiến thức nền không? Đây là bộ câu hỏi java khi đi phỏng vấn tại các doanh nghiệp. Bộ câu hỏi được chia ra các level từ Fresher (mới ra trường) đến Mid đến Senior và Expert.

1. Các câu hỏi dành cho Fresher Java ứng tuyển vào công ty

  • JAVA là gì?
  • JDK, JRE, JVM là gì?
  • Thông dịch, biên dịch khác nhau như thế nào?
  • Bộ thu dọn rác (Garbage Collection) là gì?
  • Khi nào Object sẽ được Garbage Collection thu dọn?
  • JAVA là ngôn ngữ thông dịch hay biên dịch?
  • Các kiểu dữ liệu trong java, và giá trị mặc định khi khai báo?
  • Có bao nhiêu loại mệnh đề if?
  • So sánh if và switch-case.
  • Khi nào dùng for, while, do-while?
  • Phân biệt for-i và for-each.
  • Khác nhau giữa while, do-while. Cho ví dụ khi nào dùng?
  • Break, Continue có tác dụng gì trong mệnh đề lặp?
  • Trình bày các cách khởi tạo một mảng trong JAVA?
  • Phần tử của mảng có thể dùng kiểu dữ liệu nào, và có giá trị mặc định là gì?
  • OOP là gì?
  • Phân biệt class và object.
  • Constructor là gì?
  • Cách khai báo constructor và đặc điểm constructor trong JAVA.
  • Phân biệt constructor và method.
  • Tính bao đóng là gì ? Làm sao để thu được tính bao đóng trong java?
  • Tham trị, tham chiếu khác nhau như thế nào
  • Từ khóa static dùng để làm gì?
  • Ràng buộc khi sử dụng static.
  • Các loại biến trong JAVA.
  • Trình bày các loại access modifier, và phạm vi truy cập.
  • Kế thừa trong JAVA là gì?
  • Lớp con kế thừa được những tài sản nào(thuộc tính, phương thức) của lớp cha?
  • Lớp Object là gì?
  • Khái niệm đa hình.
  • Phân biệt Overloading và Overriding.
  • Ép kiểu là gì? các loại ép kiểu?
  • Tính trừu tượng là gì?
  • Phân biệt abstract class và abstract interface.
  • So sánh Array và ArrayList.
  • So sánh ArrayList và LinkedList.
  • Set là gì, các lớp triển khai của Set.
  • Sự khác nhau HashMap và HashTable
  • Iterator là gì ?
  • Generic là gì?
  • Ưu điểm và hạn chế khi dùng generic?
  • Stack là gì? Các phương thức của stack?
  • Queue là gì? Các class triển khai của queue?
  • Phương thức cơ bản của queue?
  • So sánh Comparable và Comparator, khi nào dùng cái nào?
  • Map là gì? Các class triển khai?
  • Cây nhị phân là gì?
  • Trình bày các cách duyệt cây nhị phân.
  • Khái niệm Big O là gì? cho ví dụ
  • Khối lệnh Finally làm gì ? và tầm quan trọng của nó.
  • Sư khác nhau giữa Exception (ngoại lệ) và Error (lỗi) là gì?
  • Expression nghĩa là gì?
  • Sự khác nhau giữa Serialization và Deserialization là gì?

2 Các câu hỏi dành cho vị trí Middle Java ứng tuyển vào công ty

  • Contructor là gì ? Constructor Overload là gì?
  • Java có hỗ trợ đa kế thừa không ?
  • Có những cách nào để tạo ra Thread (đa luồng)
  • Tại sao Collection không extends Interface Cloneable và Serializable?
  • Sự khác nhau giữa Iterator và ListIterator là gì?
  • Sự khác nhau giữa Comparable và Comparator Interface là gì?
  • Sự khác nhau giữa Enumeration và Iterator Interface là gì?
  • Phương thức finalize được gọi thì mục đích chính là làm gì?
  • Cấu trúc bộ nhớ Heap?
  • Sự khác nhau giữa throw và throws là gì?
  • Deadlock là gì?
  • Phương thức HashCode và Equals là làm gì?
  • Sự khác nhau giữa == và equals là gì?
  • Lợi ích của việc dùng getter và setter là gì?
  • Từ khoá transient dùng làm gì?
  • Sự khác nhau của final, finalize và finally là gì?
  • Enum có thể extend được không
  • Java Class Loader dùng để làm gì?
  • Perm Gen trong Heap là gì?
  • Tại sao Spring MVC lại tốt hơn Servlet/JSP
  • Builder Pattern là gì?

3 Các câu hỏi dành cho vị trí Senior Java ứng tuyển vào công ty

  • Sự khác nhau giữa synchonized method và synchonized block là gì?
  • Bằng cách nào mình có thể đảm bảo có N threads (nhiều luồng) cùng truy suất nhiều resource (nhiều tài nguyên) mà không bị deadlock
  • Tại sao người ta thích dùng char[] để lưu password hơn là String?
  • Sự khác nhau giữa HashMap và HashTable là gì?
  • Khi nào dùng LinkedList là tốt hơn ArrayList?
  • Sự khác nhau HashSet và TreeSet
  • ArrayList được sử dụng trong trường hợp nào là ổn hơn so với LinkedList
  • Sự khác nhau SoftReference và WeakReference
  • Chúng ta có thể override private hoặc static method được không?
  • DGC là gì nó hoạt động như thế nào

Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm

Các khoá học lập trình MIỄN PHÍ tại đây


Comments