Trình duyệt chạy qua 5 bước cố định:
1. Parse HTML → DOM: đọc byte HTML thành cây node.
2. Parse CSS → CSSOM: mọi stylesheet được tải và parse thành cây style.
3. Render tree: ghép DOM + CSSOM, bỏ node không hiển thị (display: none, <head>).
4. Layout (reflow): tính vị trí và kích thước từng box theo viewport.
5. Paint + Composite: vẽ pixel vào các layer rồi ghép layer lại, phần này thường do GPU làm.
Hai điểm chặn cần nhớ khi phỏng vấn:
- CSS chặn render: chưa có CSSOM thì không dựng được render tree, nên <link rel="stylesheet"> trong <head> làm trắng màn hình cho tới khi tải xong.
- <script> đồng bộ chặn parser: gặp thẻ script không có defer/async, trình duyệt dừng dựng DOM, tải và chạy script rồi mới đi tiếp.
Tối ưu đường này = giảm số resource chặn render, nén CSS quan trọng vào đầu trang, và đẩy JS không cần thiết xuống sau.