경험 중심 1인칭 답변
팀 프로젝트에서 모바일 화면에서 스크롤 시 버벅임이 생기는 성능 문제를 맡아 개선한 경험이 있습니다. 먼저 Chrome DevTools 성능 탭으로 렌더링 병목이 어디서 생기는지 프로파일링했습니다. 문제는 리스트에서 아이템을 수백 개 한꺼번에 렌더링하고 있었고, 스크롤할 때마다 전체 리스트가 다시 그려지고 있었습니다.
가상 스크롤(virtual scroll) 방식을 도입해 화면에 보이는 아이템만 DOM에 유지하도록 변경했습니다. 추가로 이미지 로딩은 Intersection Observer로 뷰포트에 진입할 때만 로드되도록 lazy load를 적용했습니다. 적용 후 Lighthouse 성능 점수가 62점에서 84점으로 올라갔고, 스크롤 시 버벅임이 사라졌다는 팀원 피드백을 받았습니다. 이 경험에서 성능 최적화는 "느릴 것 같은 곳"이 아니라 "실제로 느린 곳"을 먼저 측정하는 것에서 시작해야 한다는 것을 배웠습니다.