패스잇
프론트엔드 개발 · 중급

웹 페이지 렌더링 성능 최적화를 위해 Critical Rendering Path (CRP)를 이해하고 개선하는 것이 중요합니다. CRP의 주요 단계들을 설명하고, 이 경로를 단축하거나 최적화하기 위한 구체적인 방법들을 제시해 보세요.

힌트 · HTML 파싱, CSSOM, 렌더 트리 생성 과정을 설명하고, 렌더링 차단 리소스 제거, 비동기 로딩 등을 언급하세요.

DOM 트리CSSOM 트리렌더 트리레이아웃페인트

모범답안

Critical Rendering Path (CRP)는 브라우저가 HTML, CSS, JavaScript를 파싱하여 화면에 픽셀을 그리는 데 필요한 일련의 단계입니다. 주요 단계는 다음과 같습니다.

  1. DOM 트리 구축: HTML을 파싱하여 DOM 트리를 생성합니다.
  2. CSSOM 트리 구축: CSS를 파싱하여 CSSOM 트리를 생성합니다.
  3. 렌더 트리 구축: DOM 트리와 CSSOM 트리를 결합하여 렌더 트리를 생성합니다. 렌더 트리는 화면에 표시될 노드만 포함합니다.
  4. 레이아웃: 렌더 트리를 기반으로 각 노드의 정확한 위치와 크기를 계산합니다.
  5. 페인트: 계산된 레이아웃 정보를 사용하여 화면에 픽셀을 그립니다.

CRP를 최적화하는 방법은 다음과 같습니다.

  • 렌더링 차단 리소스 제거/최소화: <script> 태그를 async 또는 defer 속성과 함께 사용하거나, CSS를 인라인 스타일로 삽입하여 초기 렌더링을 차단하는 리소스를 줄입니다.
  • CSS 최적화: 사용하지 않는 CSS 규칙을 제거하고, CSS 선택자를 간소화하여 CSSOM 트리 구축 시간을 단축합니다.
  • 이미지 최적화: 이미지 크기를 줄이고, 적절한 이미지 포맷을 사용합니다.
  • 브라우저 캐싱 활용: 정적 자산에 대한 캐싱 정책을 설정하여 반복적인 로딩을 방지합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 웹 성능 최적화 면접 질문

← 웹 성능 최적화 면접 질문 전체 보기