iOS 시스템 디자인
이미지 로더·캐시 라이브러리
SDWebImage·Kingfisher 같은 이미지 로딩 라이브러리를 직접 설계한다면 컴포넌트와 캐시 계층을 어떻게 구성하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
SDWebImage·Kingfisher 같은 이미지 로딩 라이브러리를 직접 설계한다면 컴포넌트와 캐시 계층을 어떻게 구성하겠습니까?
URL 키 → 메모리 캐시(디코딩된 비트맵, 바이트 기준 LRU) → 디스크 캐시(원본 데이터, 용량·기간 기준) → 네트워크 순으로 조회. Task 취소로 셀 재사용을 처리하며, 표시 크기로 다운샘플링해 디코딩한다.
동시성주관식심화
Swift Concurrency(async/await, actor)로 여러 화면에서 동시에 쓰는 네트워크 클라이언트 API를 설계해 보세요. 메인 스레드를 절대…
#deduplication #cancellation
CS 기초·알고리즘주관식심화
메모리 이미지 캐시를 LRU로 직접 구현해야 합니다. 어떤 자료구조로 get/put을 O(1)로 만들 수 있나요?
#image-cache #lru
데이터 저장주관식기초
NSCache 가 있는데 왜 이미지 라이브러리들은 LRU 캐시를 직접 만드나요?
#image-cache #lru
네트워킹주관식심화
코딩 인터뷰에서 "URL 로 이미지를 받아 오고, 이전에 받은 적이 있으면 캐시에서 돌려주는 ImageManager 를 30분 안에 만들어 보라"는 과제를…
#image-cache #cancellation