빌드·배포
컴파일에서 실행 파일까지
Swift 소스 파일이 iPhone에서 실행되는 바이너리가 되기까지 어떤 단계를 거치나요?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
Swift 소스 파일이 iPhone에서 실행되는 바이너리가 되기까지 어떤 단계를 거치나요?
swiftc 프론트엔드가 파싱·타입 검사 후 SIL을 만들고 최적화한 뒤 LLVM IR로 내려, LLVM 백엔드가 arm64 기계어 오브젝트(.o)를 만든다. 링커(ld)가 오브젝트들을 하나의 Mach-O로 합치고 코드 서명이 붙으며, 실행 시 dyld가 동적 라이브러리를 로드한다.
빌드·배포주관식딥다이브
앱이 동적 프레임워크 40개를 임베드하고 있습니다. 정적 링크로 바꾸면 무엇이 좋아지고 무엇이 나빠지나요?
#static-library #dyld
앱 라이프사이클·시스템주관식기초
홈 화면에서 앱 아이콘을 탭한 순간부터 첫 화면이 그려질 때까지, main() 이전 단계까지 포함해 시스템과 앱 안에서 무슨 일이 순서대로 일어나나요?
#dyld
메모리·ARC주관식심화
"ARC를 설명해 보세요"로 시작해 꼬리질문이 이어집니다. 먼저, retain/release는 누가 언제 삽입하나요?
#compiler
성능·디버깅주관식심화
콜드 스타트가 3초 넘게 걸리는 앱을 넘겨받았습니다. 런치 시간을 어떻게 나눠서 측정하겠습니까?
#dyld