프론트엔드 개발 · 기초
CSS와 JavaScript 파일을 압축(Minification)하고 번들링(Bundling)하는 것이 웹 성능에 어떤 이점을 주나요?
힌트 · Minification은 불필요한 공백, 주석 등을 제거하여 파일 크기를 줄이고, Bundling은 여러 파일을 하나로 묶어 네트워크 요청 수를 감소시켜 로딩 속도를 향상시킵니다.
HTTP 요청 감소파일 크기 감소로드 시간 단축대역폭 절약캐싱 효율 증가
모범답안
CSS와 JavaScript 파일을 압축하고 번들링하는 것은 웹 성능을 크게 향상시킬 수 있습니다.
압축(Minification)은 파일에서 불필요한 공백, 주석 등을 제거하여 파일 크기를 줄입니다. 이렇게 되면 브라우저가 다운로드해야 할 데이터 양이 줄어들어 로딩 시간이 단축됩니다.
번들링(Bundling)은 여러 개의 CSS 또는 JavaScript 파일을 하나의 파일로 묶는 과정입니다. 웹 페이지가 로드될 때 브라우저는 각 파일에 대해 HTTP 요청을 보내야 하는데, 번들링을 통해 요청 수를 줄여 로딩 속도를 개선할 수 있습니다. HTTP 요청 자체가 오버헤드를 발생시키기 때문입니다.
결론적으로, 압축과 번들링은 파일 크기를 줄이고 HTTP 요청 수를 감소시켜 웹 페이지의 로딩 시간을 단축하고, 대역폭을 절약하며, 캐싱 효율을 높이는 데 기여합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 웹 성능 최적화 면접 질문
- 브라우저 캐싱(Browser Caching)은 웹 성능 최적화에 어떻게 기여하나요? 그 원리에 대해 설명해 주세요.
- CDN(Content Delivery Network)은 웹 성능 향상에 어떤 역할을 하며, 어떤 상황에서 주로 사용되나요?
- 이미지 최적화(Image Optimization)를 위해 어떤 방법들을 사용할 수 있으며, 각각의 장점은 무엇인가요?
- 지연 로딩(Lazy Loading)이란 무엇이며, 어떤 종류의 콘텐츠에 주로 적용되며 웹 성능에 어떤 영향을 미치나요?
- 웹 페이지 렌더링 성능 최적화를 위해 Critical Rendering Path (CRP)를 이해하고 개선하는 것이 중요합니다. CRP의 주요 단계들을 설명하고, 이 경로를 단축하거나 최적화하기 위한 구체적인 방법들을 제시해 보세요.
- `<script>` 태그에 `async`와 `defer` 속성을 사용하는 것이 웹 페이지 성능에 어떤 영향을 미치는지 설명하고, 각각 어떤 상황에서 사용해야 하는지 구체적인 예시와 함께 비교 설명해 주세요.