Professional Documents
Culture Documents
JAVA Dev INTERVIEW
JAVA Dev INTERVIEW
20221
OracleJDK, OpenJDK
Compile, Interpreter
while, do-while
Operation
break, continue
Class, Object
Attributes, Methods
Constructor
Static - NonStatic
this, final
Khi nào khai báo static cho thuộc tính, hàm và khi nào không
Tại sao các thuộc tính trong class phải cho private và dùng
getter, setter để truy cập, tại sao ko dùng public để truy cập trực
tiếp
Util class
Singleton pattern
Phỏng vấn Có nên tạo private constructor không, vì sao
Builder pattern
Encapsulation
Polimorphism
Inheritance
Khái niệm ORM
Abstraction
Phân biệt JDBC/JPA/Hibernate
ORM framework
Em biết OOP là gì, có tính chất nào ?
Cho ví dụ về ORM và cách sử dụng JPA/Hibernate Em đã áp dụng tính chất đó trong code ở đâu, cho ví dụ ?
Phân biệt Lazy/Eager map/fetch Tính chất đóng gói là gì. Cho ví dụ ?
APIs in JPA/Hibernate Phân biệt interface với abstract class. Khi nào sử dụng
4. OOP Features
First Level Cache, Second Level Cache Trong JAVA có đa thừa kế không. Giải thích và cho ví dụ
Cho ví dụ về thừa kế
Phỏng vấn
Như thế nào là đa hình. Vì sao Java convention khai báo List<T>
Một khóa chính, ngoại có thể chứa nhiều column không list = new ArrayList<>() mà ko phải ArrayList<T> list = new
ArrayList<>()
Khóa chính là gì, Khóa ngoại là gì
Functional Interface là gì ? Khi nào sử dụng
Trigger là gì - Khi nào sử dụng
Làm thế nào để class con không được phép kế thừa từ class
TH người đi làm - Database trong dự án cũ có bao nhiêu cha. VD String, Integer, Double
table, dữ liệu kích cỡ bao nhiêu - Có khi nào gặp performace Class cha là final class. 1 class là final thì nó sẽ là immutable
chưa - Nếu gặp thì đã xử lý thế nào class
Compile-Checked Exception
Có những loại JOIN nào - Phân biệt Database Exception Types extends Exception
Math
22102022 JAVA dev INTERVIEW SimpleDateFormat
JAVA07
TH là có đi làm --> Quy trình làm việc - workflow trong dự án java.util.Date(both)
cũ bạn đang làm là như thế nào giải thích ra
Calender
Phân biệt fetch và clone và pull
DateTime LocalDate(ngày tháng năm)
Phân biệt merge, rebase, fetch và cherry-pick
LocalTime(giờ phút giây)
Branch là gì - Khi nào mình tạo branch - để làm gì
JAVA08 LocalDateTime(both)
Git là gì - Sử dụng như nào 7. Libraries
GIT DateTimeFormatter
Commit là cái gì - khi nào mình commit
TimeZone
Có những cách nào để gộp branch
BigDecimal.value(123,256).setScale(2, RoundUp)
Khi push code lên remote bị reject thì phải xử lý như thế nào
NumberFormat.getInstance
Phân biệt pull và pull --rebase Rounding
DecimalFormat with pattern #,###
Bài tập
Phỏng vấn
HTML/CSS/JS/JQuery Phân biệt String object và String literal
StringBuilder
Cho mảng gồm n phần tử. Viết 1 phương thức có thể tính tổng,
hiệu, tích, thương của n phần tử đó ==> reduce: Stream<T>
PrimitiveStream ==> sum(), sub() .... ==> Strategy Pattern
10. Working with Array(s) Phân biệt mảng và danh sách liên kết
Bubble Sort
Insertion Sort
Selection Sort
Khi nào nên sử dụng Array, List, Set, Map, Stack, Queue
Làm sao, cơ chế để các phần tử trong Set, Map không trùng
nhau - phải override hashcode và equals
Generic Type
Traversable once
12. Stream Tại sao mình không lưu dữ liệu trong Stream sau khi xử lý
mà phải convert sang kiểu khác
Làm thế nào để 5 threads có thể thực thi 1000 tasks, quản lý
thế nào