Daily iOS
CS 기초·알고리즘

TTL이 있는 LRU 캐시

LRU 캐시를 구현한 뒤 면접관이 이어서 묻습니다. "이제 각 항목이 저장된 지 일정 시간이 지나면 만료되게 해 주세요. 그러면 무엇이 비싸지나요?" 만료를 가장 싸게 검사하는 방식과 그 방식이 치르는 대가를 설명해 주세요.

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

각 노드에 만료 시각을 저장한다. 지연 만료: get/put 때 그 항목만 검사해 만료면 제거, O(1) 유지 but 만료된 항목이 메모리를 차지하고 LRU 퇴출 대상이 왜곡된다. 실무는 지연 만료 + 낮은 빈도 스윕 조합.

받은 질문 공유