Please enable JavaScript.
Coggle requires JavaScript to display documents.
Java Interview Questions 12022023 Created by QP - J4TDN - Coggle Diagram
Java Interview
Questions 12022023
Created by QP - J4TDN
GIT
Phân biệt git fetch và git clone
Phân biệt git rebase và git merge
Các bước khi bạn nhận task từ dự án
Phân biệt fetch và pull
Khái niệm pull request
Branch là gì - Khi nào mình tạo branch - để làm gì
Git là gì - Sử dụng như nào
Khi push code lên remote bị reject thì phải xử lý như thế nào
Phân biệt pull và pull --rebase
JAVA 17
Phân biệt JDK, JRE, JVM
Tại sao Java write once run anywhere
Có bao nhiêu loại KDL trong Java
Cách thức quản lý, lưu trữ, khởi tạo của KDL nguyên thủy và đối tượng - Phân biệt
Enum là gì, khi nào sử dụng Enum
Mục đích của khai báo final cho biến trong Java.
Những vị trí có thể đặt từ khóa final
Mục đích, ý nghĩa của từ khóa static
Có thể khai báo private constructor được ko. Vì sao ?
Phân biệt class và object
Tại sao phải khai báo private cho các thuộc tính của class, truy cập thông qua getter, setter
Có thể truy cập các thuộc tính, phương thức private từ phạm vi bên ngoài class được không. Ví dụ ?
Phân biệt constructor và setter
Phân biệt this và super
Những tính chất của hướng đối tượng. Cho ví dụ áp dụng được ở đâu
Phân biệt abstract class và interface
Giải thích functional interface
Tính chất đa hình - phương thức đối tượng
Có mấy loại exception
Phân biệt CompileException(check) và RuntimeException(Uncheck)
Cách xử lý exception
Phân biệt final và finally
Phân biệt String Literal và String Object
Phân biệt StringBuilder và StringBuffer
Khái niệm immutable và mutable
Khi nào sử dụng StringBuilder
Đặc điểm của CTDL Array - Fixed Length
Phân biệt Stack Queue DeQueue
Phân biệt Array và ArrayList và LinkedList
Khi nào nên khởi tạo capacity
So sánh tốc độ xử lý thêm sửa xóa của ArrayList và LinkedList
Cấu trúc dữ liệu Set dùng để làm gì
Làm sao để các đối tượng trong Set không trùng nhau
Phân biệt HashSet, LinkedHashSet, TreeSet
Phân biệt, cách sử dụng Comparable, Comparator
Cấu trúc dữ liệu Map để làm gì
Phân biệt HashMap, LinkHashMap, TreeMap
Stream là gì, mục đích của Stream
Vì sao khi xử lý xong thường mình sẽ trả về KDL khác chứ ko lưu trong stream
Phân biệt intermediate và terminal operation
Functional Interface là gì
Lambda expression
Thread, Process là gì
Số lượng Thread, Process có thể xử lý của OS là bao nhiêu
Thread được áp dụng ở đâu, như thế nào, cho ví dụ
Có 1000 tasks thì tạo mấy thread để xử lý ==> Amount of CPU core(s)
Làm sao để x Thread xử lý N tasks ==> thread pool, executor service
Làm sao để đảm bảo đồng bộ dữ liệu từ CPU cache về memery chính xác ==> volatile
Làm sao để 1 function tại 1 thời điểm chỉ được phép 1 thread truy cập
Design pattern
Singleton
Builder
Factory
Strategy
MVC
Algorithm
Sorting: Bubble, Insertion, Selection, Merge, Quick
Logic ==> number, distinct
Data Structure ==> Tree
Khái niệm Generic
Phân biệt parameterized type T, E với wildcard ?
Khi nào sử dụng generic, cho ví dụ sử dụng
Phân biệt từ khóa extends và super trong generic
Tạo ra 1 cấu trúc dữ liệu giống ArrayList, HashSet
Phân biệt List<T> và List<Object>
RDBMS - SQL
Các loại JOIN trong SQL
Phân biệt chúng. Cho ví dụ
Khái niệm self-join
Khi thiết kế CSDL. Nếu các bảng có liên kết với nhau
theo 11 1n nn thì CSDL vật lý xử lý thế nào
Có bắt buộc 1 bảng phải có 1 khóa chính không.
Vì sao
Mục đích của khóa chính, khóa ngoại
Một table có thể có nhiều khóa chính, ngoại không
Index là gì. Khi nào cần tạo index
Có khi nào gặp vấn đề low performance khi truy vấn chưa
Cách giải quyết ==> execution plan để kiểm tra thời gian
Khái niệm partition, view
Khái niệm trigger trong SQL, cho ví dụ
Phân biệt cách sử dung function và procedure
Khái niệm CTE, SubQuery
Phân biệt DELETE và TRUNCATE
ORM Framework
JPA/Hibernate
Khái niệm ORM
Phân biệt JDBC/JPA/Hibernate
Cho ví dụ về ORM và cách sử dụng
Phân biệt Lazy/Eager map/fetch
APIs in JPA/Hibernate
First Level Cache, Second Level Cache
Phân biệt getCurrentSession và openSession
HTML/CSS/JS/BT/JQ
Spring Framework