성능·디버깅
React Native 성능 경계
React Native로 만든 채팅 화면이 iOS에서 느립니다. JavaScript 렌더링, 네이티브 경계 호출, 네이티브 모듈 중 어디가 병목인지 어떻게 분리하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
React Native로 만든 채팅 화면이 iOS에서 느립니다. JavaScript 렌더링, 네이티브 경계 호출, 네이티브 모듈 중 어디가 병목인지 어떻게 분리하겠습니까?
먼저 Perf Monitor로 JS 스레드 FPS와 UI 스레드 FPS를 따로 보고 어느 쪽이 떨어지는지 가른 뒤, JS가 떨어지면 React Native DevTools의 Hermes 프로파일러로 어느 컴포넌트 렌더나 JS 함수가 오래 걸리는지, UI가 떨어지면 Xcode Instruments Time Profiler로 네이티브 모듈이나 뷰 계층 비용을 보고, 두 스레드 사이 경계는 호출 횟수와 payload 크기를 로그로 세어 직렬화 비용을 잡는다.
성능·디버깅주관식기초
"앱이 느리다"는 막연한 피드백만 받았습니다. Instruments로 어떻게 접근하나요?
#profiling
성능·디버깅주관식기초
"이 함수가 느리니 최적화해 달라"는 요청을 받았습니다. 코드를 바로 고치기 전에 무엇을 하겠습니까?
#profiling
성능·디버깅객관식입문
앱 성능을 측정해 최적화 근거로 삼으려 합니다. 올바른 측정 방법을 모두 고르세요.
#profiling
성능·디버깅주관식기초
출시된 iOS 앱이 가끔 몇 초 동안 터치에 반응하지 않는다는 리뷰가 올라옵니다. 사무실에서는 재현이 안 될 때 main thread가 멈춘 순간의 스택을…
#profiling