You are on page 1of 1

JAVA 17 >> 09.

20221

1. Setup Environment JDK = JRE + JVM

OracleJDK, OpenJDK

Compile, Interpreter

Memory Management: HEAP, STACK

Primitive Type(int, char, long, double)


Data Type
Object Type(Item, Employee, Stream, Integer, Enum)

Equals Operator => STACK

Pass by value(at stack)


2. Data Structure
for-index, for-each

while, do-while
Operation
break, continue

Trong JAVA có những cấu trúc dữ liệu nào


Phân biệt STACK và HEAP
Khi nào mình sẽ sử dụng int, Integer
int: luôn tồn tại giá trị
Phỏng vấn Integer: có thể có giá trị hoặc không(null)
====> lưu trữ thông tin từ database's column

Class, Object

Attributes, Methods

Constructor

Getter, Setter, ToString

Static - NonStatic

this, final

3. OOP Access Modifier

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

Giải thích ý nghĩa của từ khóa final


Có thể cập nhật giá trị của biến khi để final được không
=> final at stack - không cho cập nhật giá trị ở stack
=> không thể sử dụng toán tử gán =

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ụ

Trong interface, phương thức có thể chứa body được không

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

Phân biệt DDL và DML Runtime-Unchecked Exception


extends RuntimeException
Phân biệt DELETE và TRUNCATE
6. Exception Exception Handler try/catch/finally
Index là gì. Tại sao và khi nào phải đánh index
throw/throws
VIEW là gì
Trong Java có mấy loại exception
Phân biệt Function với Procedure Cách xử lý lỗi khi bị ngoại lệ như thế nào
Trong 1 table có thể có nhiều khóa chính không Phỏng vấn
Phân biệt final và finally

Khái niệm Seriallizable


Random

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 #,###

Hạn chế của ngày tháng năm trong JAVA07

Bài tập
Phỏng vấn
HTML/CSS/JS/JQuery Phân biệt String object và String literal

Phỏng vấn Phân biệt String Immutable và String Mutable


(StringBuffer StringBuilder)

Spring Framework Phân biệt khi nào sử dụng StringBuffer, StringBuilder


StringBuilder - support single thread
StringBuffer - support multiple threads

8. String String Object

String Immutable String Literal

StringBuilder

String Mutable StringBuffer

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

Có thể xóa một phần tử bất kỳ từ mảng không

Mảng có mảng nguyên thủy và mảng đối tượng


Cho mảng đối tượng Item(id, name, price). Làm thế nào
để sắp xếp mảng theo price tăng dần
Phỏng vấn Comparable, Comparator

10. Working with Array(s) Phân biệt mảng và danh sách liên kết

Bubble Sort

Insertion Sort

Thuật toán sắp xếp Quick Sort

Selection Sort

Phân biệt HashSet và LinkedHashSet

Phân biệt HashSet và TreeSet

Khi nào nên sử dụng Array, List, Set, Map, Stack, Queue

Phân biệt ArrayList LinkedList

Phân biệt HashMap và TreeMap

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

Generic Method -- compareTo(T t1, T t2);


11. Collection
Generic Class -- ArrayList<T>

Generic Interface -- List<T> Map<K, V>


Có mấy loại Generic Type
Parameterized Type: E, T, M, K, V -- extends

Willcard: ? -- extends, super

Có thể tự define ra 1 cấu trúc dữ liệu riêng để sử dụng trong


dự án - Có những chức năng cơ bản như add, update,
remove, select, removeIf, removeAll hỗ trợ truyền, gọi tất cả
các kiểu dữ liệu như Collection không. Code ra ===
CustomList<T>

Phân biệt Collection và Stream Hàm thao tác

Lưu trữ dữ liệu

Phân biệt intermediate và terminate operation trong stream

Stream là gì ? Khi nào sử dụng Stream

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

A có nghe nhắc về filter, map - ví dụ code cho a đoạn dùng


hàm đó - vì sao truyền lambda vào

Lambda là gì - Không có lambda code được ko

Thread là gì ? Khi nào sử dụng Thread


13. Thread/Runnable Process
Thread life cycle, cho ví dụ

Phân biệt wait, notify và stop, resume

Phân biệt Thread và Runnable

Cho ví dụ về Thread và sử dụng trong thực tế

Làm thế nào để 5 threads có thể thực thi 1000 tasks, quản lý
thế nào

Thread pool là gì. Cách hoạt động

Sử dụng Thread để phân biệt StringBuilder và StringBuffer

You might also like