CS 기초·알고리즘
메모리보다 큰 데이터의 중복 제거
한 줄에 URL 하나씩 담긴 1TB 로그 파일에서 중복 URL을 제거해야 하는데 쓸 수 있는 메모리는 1GB뿐입니다. 어떻게 하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
한 줄에 URL 하나씩 담긴 1TB 로그 파일에서 중복 URL을 제거해야 하는데 쓸 수 있는 메모리는 1GB뿐입니다. 어떻게 하겠습니까?
URL 해시를 기준으로 파일을 메모리에 들어갈 크기의 조각(예: 2000개)으로 분할(hash partitioning)하면 같은 URL은 반드시 같은 조각에 모이므로, 조각마다 메모리 Set으로 중복 제거 후 합친다. 근사 허용이면 블룸 필터로 한 번에 처리. 외부 정렬 후 인접 비교도 가능.
CS 기초·알고리즘주관식기초
채팅 메시지가 id 오름차순으로 정렬된 배열에 있습니다. 푸시 알림을 눌러 특정 메시지로 진입할 때, 그 id를 기준으로 앞 5개·뒤 5개까지 총 최대 11개를…
#dedupe
CS 기초·알고리즘주관식기초
앱이 남긴 네트워크 로그 파일이 있습니다. 각 줄은 사용자ID(4자리) 페이지명 시작시각(hh:mm:ss) 종료시각(hh:mm:ss) 형식인데, 일부 줄은 깨져…
#streaming
데이터 저장주관식기초
UserDefaults나 단순 파일 저장 대신 Core Data(또는 SwiftData)를 골라야 하는 요구사항은 무엇입니까?
#sqlite
데이터 저장주관식기초
팀원이 "Core Data는 무겁고 이해하기 어려우니 SQLite를 직접(또는 GRDB로) 쓰자"고 합니다. 두 접근의 실제 차이는 무엇입니까?
#sqlite