학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 186 · 실전 면접 답변

정확성이 같은 여러 알고리즘이 있을 때 어떤 비용과 제약 조건을 비교해 선택하나요?

이렇게 답해 보세요 (핵심 답변)

정확성 요구를 모두 만족한다면 실제 입력 크기와 분포에서의 응답 지연(Latency), 단위 시간당 처리량(Throughput), 최대 메모리 사용량, 그리고 구현·운영 복잡도를 비교합니다. 예를 들어 실시간 사용자 요청은 최악 꼬리 지연(Tail Latency)을 줄이는 것이 중요하고, 대규모 배치 작업은 전체 처리량과 메모리 한도가 더 중요할 수 있습니다. 동일 조건의 측정치와 복잡도 분석을 근거로 선택 이유를 설명하고, 서비스 제약이 바뀌면 선택도 함께 재검토합니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. 평균 실행 시간이 비슷하더라도 가끔씩 리사이징이나 최악 케이스로 인해 튀는 꼬리 지연은 서로 크게 다를 수 있습니다.
  2. 메모리 상한을 넘겨 OOM(Out of Memory)으로 프로세스가 죽어 버리면 아무리 평균 속도가 빠른 알고리즘이라도 사용할 수 없습니다.

면접에서 자주 하는 실수

공간 복잡도나 최악 지연, 유지보수 비용을 살피지 않고 시간 복잡도 차수가 낮다는 이유 하나만으로 무조건 최선이라고 말하면 안 됩니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 186번을 바탕으로 질문과 답변을 새로 정리했습니다.

← 알고리즘 · 자료구조