네트워킹
이미지 다운로더·캐시 설계(요청 병합)
코딩 인터뷰에서 "URL 로 이미지를 받아 오고, 이전에 받은 적이 있으면 캐시에서 돌려주는 ImageManager 를 30분 안에 만들어 보라"는 과제를 받았습니다. 같은 URL 을 여러 셀이 동시에 요청하는 경우를 어떻게 처리하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
코딩 인터뷰에서 "URL 로 이미지를 받아 오고, 이전에 받은 적이 있으면 캐시에서 돌려주는 ImageManager 를 30분 안에 만들어 보라"는 과제를 받았습니다. 같은 URL 을 여러 셀이 동시에 요청하는 경우를 어떻게 처리하겠습니까?
actor 로 감싼 매니저가 NSCache→진행 중 Task 사전→디스크→네트워크 순으로 조회하고, 같은 URL 이 내려받는 중이면 새 요청 없이 그 Task 를 함께 기다려 요청을 병합한다.
동시성주관식심화
메시지 목록 화면에서 셀마다 프로필 이미지를 비동기로 내려받아 [String: UIImage] 딕셔너리에 캐시합니다. 여러 스레드가 동시에 읽고 쓰면서 가끔…
#nscache #actor
CS 기초·알고리즘주관식심화
메모리 이미지 캐시를 LRU로 직접 구현해야 합니다. 어떤 자료구조로 get/put을 O(1)로 만들 수 있나요?
#image-cache #nscache
데이터 저장주관식기초
NSCache 가 있는데 왜 이미지 라이브러리들은 LRU 캐시를 직접 만드나요?
#image-cache #nscache
iOS 시스템 디자인주관식심화
SDWebImage·Kingfisher 같은 이미지 로딩 라이브러리를 직접 설계한다면 컴포넌트와 캐시 계층을 어떻게 구성하겠습니까?
#image-cache #cancellation