컴퓨터공학과 학생이 취업 면접을 준비할 때 가장 많이 하는 고민은 "무슨 질문을 받을까?", "어떻게 대답해야 할까?"입니다. 특히 개발 직무 면접은 기술, 인성, 포트폴리오 영역이 함께 평가되므로, 단순히 문제를 잘 푸는 실력만으로는 부족합니다. 이 글에서는 컴공 전공자가 자주 받는 면접 질문을 유형별로 정리하고, 면접관이 진짜로 알고 싶어 하는 것과 함께 전략적인 답변 방법을 제시합
기술 질문: 이론+실전 이해력을 보는 핵심 평가
기술 면접은 컴공 면접의 중심입니다. 신입 지원자의 경우 기술 수준 자체보다 기초 개념에 대한 정확한 이해와 실무 응용 가능성을 주로 평가합니다.
1. 자료구조 & 알고리즘
- 연결리스트와 배열의 차이점은?
- 스택과 큐는 어디에 쓰이는가?
- 해시테이블의 충돌 해결 방법은 무엇인가?
- 정렬 알고리즘의 시간복잡도 비교 (퀵 vs 머지 vs 버블)
이런 질문은 ‘왜 이 구조를 써야 하는지’를 논리적으로 설명하는 게 중요합니다. 예를 들어, “삽입이 빈번한 작업에는 배열보다 연결리스트가 적합하다”고 설명하며 실제 사용 예시를 덧붙이면 설득력이 높아집니다.
2. 운영체제 & 시스템
- 프로세스와 스레드 차이
- 동기/비동기 vs 블로킹/논블로킹
- 컨텍스트 스위칭이란?
- 교착 상태가 발생하는 조건과 해결 방법
이 질문들은 전공 수업 수준의 이론적 이해와 더불어, 멀티스레딩 프로젝트나 서버 구현 경험을 통해 어떻게 적용했는지를 말하는 게 효과적입니다.
3. 네트워크 & 보안
- TCP와 UDP의 차이
- 3-way handshake, 4-way handshake 원리
- HTTPS의 원리와 SSL/TLS 작동 방식
- REST API와 GraphQL 차이
면접관은 실제로 요청과 응답이 어떻게 오가는지, 브라우저에서 페이지가 뜨기까지의 과정을 설명해 보라고 요구하기도 합니다.
4. 언어 & 프레임워크
- Python에서의 GIL(Global Interpreter Lock)이란?
- Java에서의 상속과 다형성 예시
- React의 상태 관리 방법 (Context, Redux 등)
- Spring에서 DI(Dependency Injection)는 어떻게 동작하나?
이 경우, 문법적 정의보다는 개발하면서 언제 사용했고, 왜 그렇게 설계했는지를 중심으로 답하는 것이 강력합니다.
인성 질문: 협업 가능성과 태도를 본다
개발자는 코드만 잘 짜면 된다는 생각은 이제 옛말입니다. 기술만큼이나 중요한 것이 바로 인성 질문입니다. 개발자도 팀워크, 책임감, 커뮤니케이션 역량이 매우 중요하며, 기업은 면접을 통해 ‘같이 일할 수 있는 사람’을 찾습니다.
자주 나오는 인성 질문 예시
- 본인의 장점과 단점은?
- 실패했던 경험은? 그리고 극복 방법은?
- 협업 중 갈등이 있었던 사례와 해결 과정은?
- 스트레스 상황에서 어떻게 대응하는가?
- 왜 이 직무/회사에 지원했는가?
답변 포인트는 다음과 같습니다:
- 구체적인 사례 중심: 단순한 추상적 성격 설명은 피하고, 프로젝트 경험, 아르바이트, 팀 과제 등을 예로 듭니다.
- 솔직함과 개선의지 강조: 단점은 솔직히 말하되, 그것을 어떻게 보완하려고 했는지를 설명합니다.
- 회사에 맞춘 동기 부여: 해당 기업의 기술 스택, 서비스, 가치에 공감한 부분을 구체적으로 언급하면 좋습니다.
예시 답변:
“저는 팀 프로젝트에서 팀원과 일정 관리 방식에 대해 갈등이 있었는데, 직접 피드백을 주기보다는 회고 시간에 모두가 익명으로 피드백을 작성하게 했습니다. 그 이후로 팀 분위기가 개선됐고, 이런 방식이 오히려 개발자 간 의사소통을 유연하게 만든다는 걸 배웠습니다.”
포트폴리오 질문: 프로젝트에 대한 ‘주인의식’을 본다
포트폴리오 질문은 단순히 무엇을 만들었는지가 아니라 어떻게 만들었고, 왜 그렇게 만들었는지를 중심으로 평가됩니다.
자주 묻는 질문 예시
- 가장 자신 있는 프로젝트는?
- 본인이 담당한 기능과 기여도는?
- 어떤 기술 스택을 사용했으며, 선택 이유는?
- 어려운 문제를 어떻게 해결했는가?
- 프로젝트에서 개선하고 싶은 부분은?
좋은 답변을 위한 팁:
- 기술 선택 이유를 논리적으로 설명하기: 예를 들어 "React를 선택한 이유는 SPA 구현이 필요했고, 상태 관리가 용이했기 때문"처럼 말할 수 있어야 합니다.
- 사용자 경험과 연계: “사용자 피드백을 받아 UI를 개선했다”, “DB 쿼리 최적화를 통해 응답 시간을 40% 줄였다” 같은 실제 개선 사례가 효과적입니다.
- 협업 도구 및 과정 언급: Git, Figma, Trello, Notion 등 어떤 도구로 어떤 방식으로 협업했는지를 말하면 협업 역량을 강조할 수 있습니다.
추가로, 면접 전에는 본인의 GitHub나 Notion 포트폴리오를 한 번 더 정리하고, 예상 질문에 대비해 답변 스크립트를 만들어 보는 것도 좋습니다.
면접은 단지 정답을 맞히는 자리가 아닙니다. 나의 경험, 실력, 태도를 논리적으로 구조화해 말하는 힘을 기르는 것이 핵심입니다. 기술 면접에서는 단순한 암기가 아니라 '이해력과 맥락', 인성 면접에서는 '구체적인 태도와 자세', 포트폴리오에서는 '주인의식과 분석력'을 중심으로 어필해야 합니다.
면접은 훈련입니다. 자주 묻는 질문을 리스트업하고, 거울 앞에서 혹은 녹음을 통해 반복 연습하면서 나만의 언어로 나를 말하는 법을 익히면, 면접에서도 자신감 있는 태도를 보여줄 수 있습니다.