출세한 익룡님의 면접 결과

10

총점

3

질문 수

0

좋아요

14

조회수

종합 평가

스레드 풀 크기 조정의 트레이드오프(너무 작으면 대기 시간 증가, 너무 크면 자원 낭비)를 직관적으로 이해하고 있으며, 컨텍스트 스위칭이 성능에 부정적 영향을 준다는 방향성은 정확히 파악하고 있습니다. 각 현상의 결과만 언급하고 메커니즘 설명이 빠지는 패턴이 반복되었습니다. 예를 들어 "자원 소모가 심하다"는 결론 외에 왜 그런지(TCB 저장·복원 비용, 캐시 미스 등)를 원리 수준에서 설명하는 연습이 필요합니다. 컨텍스트 스위칭의 내부 동작(TCB 구조 → 레지스터 저장/복원 → CPU 캐시 무효화 → 캐시 미스 누적)을 순서대로 정리한 뒤, 톰캣 스레드 풀의 work queue와 rejection policy(예: AbortPolicy, CallerRunsPolicy)로 학습을 확장하면 면접에서 원리 기반 답변을 구성하는 데 바로 활용할 수 있습니다.

질문별 상세 분석

커뮤니티 공개
Q1B

톰캣 스레드 풀에 대해 설명해주세요. 스레드 풀의 크기는 클수록 좋을까요?

응답 내용

아니요 스레드 풀은 적당한 크기로 유지해야 합니다. 너무 스레드 풀이 적으면 사용자의 요청이 누락되거나 대기 시간이 늘어나게 됩니다. 너무 크면 남는 스레드 풀이 많아 자원 소모가 심합니다. 딸ㅏ서 요청 양을 보고 결정해야 합니다

AI 피드백

스레드 풀 크기가 너무 작으면 요청 대기 및 누락이 발생하고, 너무 크면 불필요한 자원 소모가 생긴다는 핵심 트레이드오프를 정확히 짚으셨습니다. 다만 "자원 소모"의 구체적인 내용을 보완하면 더욱 설득력 있는 답변이 될 수 있는데, 스레드가 많아질수록 컨텍스트 스위칭(Context Switching) 비용이 증가하고 각 스레드가 점유하는 스택 메모리(기본 512KB~1MB)가 누적되어 오히려 전체 처리량(Throughput)이 저하될 수 있다는 점을 언급하면 좋습니다. 또한 최적 크기 산정 기준으로 "요청 양"뿐 아니라 CPU 바운드 작업인지 I/O 바운드 작업인지에 따라 공식이 달라진다는 점(예: I/O 바운드의 경우 CPU 코어 수 × (1 + 대기시간/처리시간))도 함께 제시하면 실무 경험이 녹아든 답변으로 한 단계 더 깊어질 수 있습니다.

Q2C

스레드 수가 지나치게 많아질 때 성능이 오히려 저하되는 이유는 무엇인가요?

응답 내용

사용하지 않는 스레드를 상시 메모리에 놓아야 하기 때문입니다.

AI 피드백

메모리 점유를 언급하신 것은 맞는 방향이지만, 스레드 과다로 인한 성능 저하의 가장 핵심적인 원인인 **컨텍스트 스위칭(Context Switching) 오버헤드**가 빠져 있습니다. 스레드 수가 CPU 코어 수를 크게 초과하면 OS 스케줄러가 스레드 간 전환을 빈번하게 수행하게 되고, 이 과정에서 레지스터 저장·복원, 캐시 미스 등의 비용이 누적되어 실제 처리량이 오히려 감소합니다. 메모리 측면에서도 단순히 "상시 메모리에 놓는다"는 표현보다는 "각 스레드가 스택 메모리(기본 수백 KB~1MB)를 독립적으로 점유하므로, 수백 개의 유휴 스레드가 수백 MB의 메모리를 낭비한다"고 구체적으로 설명하면 더욱 설득력 있는 답변이 됩니다. 다음에는 "스레드 수 > CPU 코어 수일 때 컨텍스트 스위칭 비용이 증가한다"는 포인트를 꼭 포함해 보세요.

Q3C

스레드가 많아질수록 컨텍스트 스위칭이 성능에 어떤 영향을 미치나요?

응답 내용

잦은 스레드의 컨텍스트 스위칭은 실행시간 증가를 야기합니다.

AI 피드백

컨텍스트 스위칭이 실행 시간을 늘린다는 방향은 맞게 짚으셨습니다. 다만 질문의 핵심은 "왜 성능이 저하되는가"의 메커니즘이었는데, 결과만 언급하고 원인이 빠진 점이 아쉽습니다. 컨텍스트 스위칭 비용의 핵심은 CPU가 현재 스레드의 레지스터·스택 포인터 등 실행 상태를 TCB(Thread Control Block)에 저장하고 다음 스레드의 상태를 복원하는 데 드는 CPU 사이클, 그리고 스레드 전환 시 CPU 캐시가 무효화되어 발생하는 캐시 미스(cache miss)입니다. 예를 들어 "스레드가 100개로 늘어나면 OS 스케줄러가 빈번하게 TCB를 저장·복원하고 캐시 미스가 누적되어 실제 연산보다 스위칭 오버헤드가 더 커질 수 있다"는 식으로 원인과 결과를 연결해 설명하면 훨씬 완성도 있는 답변이 됩니다.

커뮤니티 공유 안내

• 이 결과는 AI가 분석한 내용이며, 학습 목적으로 커뮤니티에 공유됩니다.

• 좋아요를 눌러 유용한 답변에 반응을 남겨보세요.

• 개인정보는 포함되지 않으며, 면접 연습 개선을 위한 참고 자료로 활용됩니다.