성능 최적화
FlatList 최적화, memo, useMemo/useCallback, Hermes, 프로파일링, 번들 크기
24 면접 질문·
Senior
1React Native 성능 최적화에서 React.memo의 주요 역할은 무엇입니까?
1
React Native 성능 최적화에서 React.memo의 주요 역할은 무엇입니까?
답변
React.memo는 함수형 컴포넌트의 렌더링 결과를 메모이제이션하는 고차 컴포넌트(Higher-Order Component)입니다. 현재 props를 이전 props와 비교(기본적으로 shallow comparison)하여 불필요한 리렌더링을 방지합니다. props가 변경되지 않았다면 React는 컴포넌트를 다시 렌더링하는 대신 메모이제이션된 결과를 재사용하므로, 리스트나 복잡한 컴포넌트 트리에서 성능이 크게 향상됩니다.
2아이템의 크기를 미리 제공하여 스크롤을 크게 최적화하는 FlatList 속성은 무엇입니까?
2
아이템의 크기를 미리 제공하여 스크롤을 크게 최적화하는 FlatList 속성은 무엇입니까?
답변
getItemLayout은 각 요소의 높이, 너비, offset을 미리 계산할 수 있게 해주는 FlatList의 선택적 속성입니다. 이를 통해 React Native가 각 아이템을 동적으로 측정할 필요가 없어지므로, 특히 scrollToIndex로 특정 인덱스로 이동할 때 스크롤 성능이 크게 향상됩니다. 이 최적화는 모든 아이템의 크기가 동일할 때 특히 유용합니다.
3최적화 측면에서 useMemo와 useCallback의 주요 차이점은 무엇입니까?
3
최적화 측면에서 useMemo와 useCallback의 주요 차이점은 무엇입니까?
답변
useMemo는 비용이 큰 계산의 결과를 메모이제이션하여 그 계산된 값을 반환하고, useCallback은 함수 자체를 메모이제이션하여 그 함수를 반환합니다. useMemo는 렌더링마다 무거운 재계산을 피하는 데 유용하고, useCallback은 메모이제이션된 자식 컴포넌트에 props로 전달되는 함수가 다시 생성되는 것을 방지하는 데 필수적입니다. 재생성되면 해당 자식 컴포넌트의 React.memo 최적화가 깨집니다.
4
Hermes는 무엇이며 React Native 애플리케이션에 대한 주요 장점은 무엇입니까?
5
FlatList에 안정적인 keyExtractor 함수를 제공하는 것이 왜 중요합니까?
+21 면접 질문
기타 React Native 면접 주제
JavaScript 핵심
Junior
25개 질문React 기초
Junior
20개 질문React Native 기초
Junior
22개 질문React Hooks
Junior
20개 질문React 및 React Native를 위한 TypeScript
Junior
22개 질문React Native 컴포넌트 및 API
Junior
20개 질문React Native 스타일링 및 레이아웃
Junior
18개 질문React Native 내비게이션
Mid-Level
22개 질문React Native 상태 관리
Mid-Level
24개 질문React Native 네트워킹 및 API
Mid-Level
20개 질문데이터 영속성
Mid-Level
20개 질문폼과 유효성 검사
Mid-Level
18개 질문React Native 애니메이션
Mid-Level
22개 질문Native Modules & Bridge
Mid-Level
20개 질문플랫폼별 코드
Mid-Level
18개 질문권한 및 디바이스 API
Mid-Level
20개 질문Push Notifications
Mid-Level
18개 질문React Native 테스팅
Mid-Level
20개 질문React Native 디버깅
Mid-Level
18개 질문Build & Deployment
Mid-Level
20개 질문Expo vs React Native Bare
Mid-Level
18개 질문메모리 관리
Senior
20개 질문Architecture Patterns
Senior
22개 질문React Native New Architecture
Senior
24개 질문보안 모범 사례
Senior
20개 질문Offline-First Architecture
Senior
20개 질문React Native CI/CD
Senior
20개 질문Monorepo와 코드 공유
Senior
18개 질문고급 주제
Senior
22개 질문앱 라이프사이클 및 백그라운드 실행
Mid-Level
20개 질문인증 및 세션 관리
Mid-Level
22개 질문Monitoring & Crash Reporting
Senior
20개 질문