이 강의는 iOS 개발자를 위한 CS 학습 로드맵의 P0(반드시 설명·디버깅에 활용해야 하는 기반 지식) 질문 110문항에 답합니다. CS 개념을 외우는 데서 끝내지 않고 iOS에서 어떤 현상으로 나타나는지 설명하고 재현·측정으로 검증하는 것이 목표입니다.
이 강의를 읽는 법
문항마다 아래 순서로 정리했습니다. 30초 답변만 먼저 훑어 전체 지도를 잡고, 헷갈리는 문항만 아래로 파고들면 됩니다. 각 문항은 진행 체크포인트라, 다 못 봐도 이어서 볼 수 있습니다.
🔑 30초 답변
면접·동료 설명에 그대로 쓰는 핵심 3~5문장.
CS 원리
플랫폼과 무관한 일반 원리부터.
iOS에서는
Darwin/XNU·Swift 런타임·UIKit/SwiftUI에서 그 개념이 나타나는 방식.
실험 · 도구
재현 코드·관찰 지표·Instruments/LLDB로 증명.
프로젝트 적용
"그래서 우리 코드에서 무엇을 해야 하나"와 trade-off.
⚠️ 흔한 오해
"항상/절대" 류의 잘못 알려진 설명 교정.
🔑 핵심
목표는 정답 암기가 아니라, 처음 보는 iOS 문제도 CS 원리 → 가설 → 측정 → 해결책 순서로 풀 수 있게 되는 것입니다.
우선순위 — 지금은 P0
로드맵은 지식을 파급력 순으로 P0 / P1 / P2로 나눕니다. 이 강의는 그중 P0만, 로드맵의 전체 학습 순서(메모리 → 동시성 → 운영체제 → 네트워크 …) 그대로 담았습니다. 아래 17개 챕터가 카테고리 하나씩에 대응합니다.
| 등급 | 의미 | 이 강의 |
|---|---|---|
| P0 | 모든 iOS 개발자가 반드시 설명·디버깅에 활용해야 하는 기반 지식 | 포함 (110문항) |
| P1 | 실무 성능·안정성·데이터 처리 역량 | 추후 확장 |
| P2 | 시니어 설계·특수 장애 분석·깊은 면접 | 추후 확장 |
챕터
01 · 메모리와 가상 메모리 P0 8
iOS 앱이 메모리를 어떻게 쓰고 언제 죽는지 — 가상 메모리부터 Jetsam까지.
02 · 동시성·병렬성·스레드 P0 12
스레드·GCD·Swift Concurrency 핵심 12문답 (race·deadlock·actor·Sendable·Task).
03 · 운영체제와 프로세스 P0 7
iOS 앱이 XNU 위에서 프로세스로 어떻게 표현되고, 살아가고, 죽고, 격리되는지 다룹니다.
04 · 네트워크 P0 9
URL 요청 흐름, TCP/UDP, TLS, HTTP 메서드·상태코드, timeout·재시도를 CS 원리와 iOS(URLSession/Network.framework) 관점으로 정리.
05 · Swift 런타임과 언어 구현 P0 8
struct/class부터 any·some까지, Swift 언어를 메모리·런타임 관점에서 설명하는 8문항.
06 · 자료구조와 알고리즘 P0 7
복잡도부터 해시·이진탐색·정렬 안정성·페이지네이션 병합까지 CS 원리와 Swift 런타임으로 관통한다.
07 · RunLoop와 이벤트 처리 P0 6
RunLoop가 입력·타이머·렌더링을 한 순회로 묶는 원리, 그리고 메인 블로킹·타이머 부정확성이 왜 생기는지.
08 · 그래픽스와 UI 렌더링 P0 6
프레임 렌더 파이프라인, 60/120Hz 프레임 예산, CPU·GPU 분업, 이미지 디코드와 다운샘플링을 다룬다.
09 · 데이터베이스와 영속성 P0 6
저장소 선택 기준, ACID, 인덱스, 마이그레이션, Core Data의 정체와 컨텍스트 동시성
10 · 파일 시스템과 I/O P0 5
메인 스레드 블로킹, 대용량 로드, 디렉터리 선택, 크래시에도 안 깨지는 원자적 쓰기.
11 · 보안과 암호학 P0 6
인코딩·해싱·암호화부터 Keychain·토큰·HTTPS·시크릿 은닉·로그 유출까지, iOS 보안의 실전 판단 기준.
12 · CPU와 성능 P0 5
CPU-bound와 I/O-bound부터 메모리 계층·복잡도·빌드·발열까지, CPU 성능을 원리와 iOS 실무로 잇는다.
13 · 캐시와 성능 설계 P0 5
캐시의 비용·일관성 트레이드오프와 iOS 메모리/디스크 캐시, TTL·무효화, NSCache, 메모리 경고·백그라운드 축출 설계.
14 · 컴파일러·링커·실행 파일 P0 5
Swift 코드가 기계어로 컴파일·링크되고 dyld로 로드·실행되는 과정, 그리고 심볼과 dSYM 심볼리케이션.
15 · 테스트와 디버깅 P0 6
테스트 층위, 최소 재현, 크래시 스택 읽기, 비동기 결정성, 브레이크포인트, Instruments 사용법.
16 · 분산 시스템과 모바일 클라이언트 P0 4
응답 미수신 재시도, 중복 결제 방지, idempotency key, 클라이언트/서버 시간 불일치 — 모바일이 분산 시스템 노드로서 마주치는 P0 문제.
17 · 아키텍처와 소프트웨어 공학 P0 5
코드 변경 비용을 지배하는 결합·응집·순수성·의존 규칙·추상화 원칙을 CS와 iOS 관점에서.