iOS 시스템 디자인
다운로드 매니저
앱 공용 다운로드 매니저를 설계해 주세요. 요구사항: 태스크를 직렬 또는 병렬로 실행할 수 있고 최대 동시 실행 수를 제한하며, 호출 모듈과 결합되지 않아야 합니다.
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
앱 공용 다운로드 매니저를 설계해 주세요. 요구사항: 태스크를 직렬 또는 병렬로 실행할 수 있고 최대 동시 실행 수를 제한하며, 호출 모듈과 결합되지 않아야 합니다.
DownloadManager actor가 우선순위 큐와 동시 실행 카운터로 스케줄링하고, 실제 전송은 URLSession(백그라운드 구성 가능)의 downloadTask가 맡는다. 결과는 Downloadable 프로토콜과 AsyncStream 진행률로 노출해 호출자와 분리하고, 디스크 캐시는 SQLite 메타로 LRU/LFU 퇴출을 한다.
CS 기초·알고리즘주관식심화
메모리 이미지 캐시를 LRU로 직접 구현해야 합니다. 어떤 자료구조로 get/put을 O(1)로 만들 수 있나요?
#cache #lru
CS 기초·알고리즘주관식심화
LRU 캐시를 구현한 뒤 면접관이 이어서 묻습니다. "이제 각 항목이 저장된 지 일정 시간이 지나면 만료되게 해 주세요. 그러면 무엇이 비싸지나요?" 만료를…
#cache #lru
데이터 저장객관식기초
이미지 캐시로 LRU 를 채택했습니다. LRU 에 대한 설명으로 옳은 것을 모두 고르세요.
#cache #lru
데이터 저장객관식심화
이미지 캐시를 LRU 에서 LFU 로 바꾸자는 제안이 있습니다. LFU 에 대한 설명으로 옳은 것을 모두 고르세요.
#cache #lru