본문 바로가기

면접대비

[면접대비] 무한 스크롤, 호이스팅

  1. 데이터 10,000개를 가지고 무한 스크롤 구현시에 가장 중요하게 고려해야 할점은 무엇인가요?
    • keyword: 데이터 조회 방식 구현하는 방법이나 구현 시, 사용할 라이브러리를 예시 들기
    • 모든 데이터를 한번에 조회한다면 사용자가 일부만 조회할 수도 있는데도 사용하지 않는 데이터까지 조회하게 됩니다. 이런 경우 메모리의 낭비가 발생하며 대상 자바스크립트를 모두 받고 난 뒤 랜더링이 일어나므로 랜더링 속도가 늦어지게 됩니다. 따라서 조회하는 부분에만 일부 데이터를 랜더링하는 방식으로 무한 스크롤을 구현하는 것이 좋습니다.
    • react-window, react-interSection Observer 등의 라이브러리를 사용할 수 있습니다.
  2. Javascript의 호이스팅에 대해 설명해주세요.
    • 실행 컨텍스트, 변수, 함수선언부가 끌어올려짐
    • 호이스팅은 자바스크립트가 실행될 때 변수, 함수, 클래스, 임포트 선언문을 먼저 선언하여 해당 범위의 맨 위로 끌어올리는 것처럼 보이는 것을 말합니다. 끌어올려진 변수는 초기화되어 undefined를 반환합니다. 만약 var을 사용해서 변수를 사용한 뒤 다시 var을 선언한다면, 이 경우에도 undefined를 반환합니다. 함수 호이스팅은 함수 선언에만 적용되며 함수 표현식에서는 사용할 수 없습니다.