패스잇
프론트엔드 개발 · 심화

대규모 전자상거래 웹사이트에서 Core Web Vitals 지표 중 특히 LCP(Largest Contentful Paint)와 INP(Interaction to Next Paint)가 저조하게 측정될 때, 이를 진단하고 개선하기 위한 심층적인 접근 방식과 구체적인 해결 전략을 제시해주세요. 단순한 이미지 최적화를 넘어선 복합적인 원인 분석과 해결 방안(예: JavaScript 번들 최적화, 폰트 로딩 전략, 서드파티 스크립트 관리)을 포함하여 설명해야 합니다.

힌트 · LCP는 리소스 로딩 우선순위, 서버 응답 시간, 렌더 블로킹 리소스 등을, INP는 메인 스레드 블로킹, 긴 작업, 이벤트 핸들러 최적화 등을 언급하며 복합적인 원인과 해결책을 제시합니다.

LCP 최적화INP 개선JavaScript 번들링폰트 로딩서드파티 스크립트

모범답안

만약 대규모 전자상거래 웹사이트에서 LCP와 INP가 저조하게 측정된다면, 저는 다음과 같은 단계로 접근하여 진단하고 개선하겠습니다.

먼저, LCP 개선을 위해 가장 큰 콘텐츠 요소가 무엇인지 파악하고, 해당 요소의 로딩을 최적화합니다. 이미지 최적화는 기본이고, 필요하다면 CDN을 활용하거나 이미지 포맷을 WebP로 변경하는 것을 고려합니다. 또한, Critical CSS를 적용하여 렌더링을 차단하는 CSS를 최소화하고, 서버 응답 시간을 단축하기 위해 캐싱 전략을 점검합니다.

INP 개선을 위해서는 Lighthouse나 Web Vitals 확장 도구를 사용하여 어떤 상호작용이 가장 느린지 분석합니다. 긴 작업(Long Tasks)을 분할하고, 불필요한 JavaScript 실행을 줄이기 위해 코드 스플리팅을 적용합니다. 이벤트 핸들러 최적화도 중요하며, 디바운싱이나 스로틀링을 사용하여 이벤트 발생 빈도를 조절할 수 있습니다. 서드파티 스크립트는 비동기적으로 로딩하고, 필요하지 않은 스크립트는 제거하거나 지연 로딩하는 것을 고려합니다. 폰트 로딩 시에는 font-display: swap;을 사용하여 텍스트가 보이지 않는 시간을 최소화합니다.

이러한 개선 사항들을 적용한 후에는 지속적으로 성능을 모니터링하고, 필요에 따라 추가적인 최적화를 진행할 것입니다.

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

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

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

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