Books/이것이 취업을 위한 코딩테스트다 with 파이썬

[이것이 코딩 테스트다] Chapter 2 - 코딩테스트 기출문제 유형 분석

leejunkim 2025. 6. 13. 23:31
  • 대표적인 기업들: 삼성전자, 카카오, 라인
    • 2-5 시간동안 여러개의 알고리즘 문제들을 풀게함 + 정확한 알고리즘을 사용하여 얼마나 빠르게 많은 문제를 풀었는지를 토대로 순위 매김
    • 물론 알고리즘 말고도 시험 유형이 있지만, 알고리즘이 가장 대표적임

코딩 테스트 = 문제 해결 능력 확인

  • 뛰어난 프로그래밍 실력 X
  • 주로 기초 알고리즘에 기반하는 문제가 출제된다
    • 가장 빈도 높은 문제는 Greedy, Implementation (구현), DFS/BFS를 활용한 탐색 문제이다
      • 특히 기초 greedy문제는 문제 해결 방법만 떠올린다면 간단하게 구현할 수 있다
    • 상대적으로 높은 사고력을 요구하는 dynamic programming/graph theory 관한 문제도 뜰 수 있다 (하지만 출제되더라도 난이도가 높지 않은 경향이 있음)
  • 일반적으로 2-5시간의 시간 + 8개 이하의 문제
    • 평소 연습해놓지 않으면 안된다
  • 2020년기준 대부분의 알고리즘 대회/코테는 상위 5%미만의 사람만 문제를 전부 풀 수 있으며 전체 문제 중에서 절반가량을 정확히 해결할 수 있다면 합격

기업별 문제 출제 경향

  • 카카오
    • 알고리즘 설계능력을 겨루는 문제가 아닌 업무에서 있을만한 상황을 가정하여 독창적/다양한 문제 
    • greedy, 혹은 구현이 다수
    • 문자열을 처리해야 하는 구현 문제를 자주 출제함
    • 다양한 케이스를 고려해야 안정적으로 만점을 받을 수 있는 문제들이 출제됨
  • 삼성전자
    • 문제를 바르게 읽고 예외 상황을 적절히 처리하는 방식으로 소스코드를 작성하는 유형이 가장 많음
    • 모든 문제 유형은 모든 상황을 고려해야 하는 완전 탐색 문제가 많이 출제됨
    • 탐색, BFS/DFS, 구현
  • 가고 싶은 회사에 코테에 출제되었던 문제 유형 위주로 공부하자.
  • 기본적인 알고리즘에 대한 이해와 문제 해결 능력이 뛰어나다면 어떤 기업의 테스트를 만나더라도 문제가 없을 것이다.

 

성공적인 취업을 위한 가이드

채용 과정

  • 대기업 - 코테에 비중 더 큼
    • 상대적으로 신입에게 투자할 시간적 여유 -> 문제해결능력이 뛰어나면 향후 발전할 가능성이 있다고 판단
  • 스타트업 - 기술 면접 비중 더 큼
    • 빠르게 투입 가능한 사람을 찾음 -> 알고리즘보다는 기술 면접 + 특정 프레임워크/라이브러리

기술 면접

알고리즘 + 질의응답 / 포폴 질의응답 / CS 지식 질의응답 (혹 이 셋을 결합)
  • 많아보이지만 본질은 같음 -> 업무에서 요구하는 만큼 컴퓨터 이론 지식 + 필요한 관련 프로젝트 경험 + 알고있는 내용 논리 정연하게 설명할 수 있음
  • 다 완벽하게 대비해서 준비하는건 사실상 불가능 (면접관님마다 가지차 다를 수 있음)
  • 알고리즘 + 질의응답
    • 코테 치른 내용을 토대로 면접을 진행하며 알고리즘 역량을 제대로 갖추었는지 확인
    • 잘 푸는것을 넘어 문제 접근 방식과 풀이 방식을 설명할 수 있어야 함
  • 포폴 질의응답
    • 회사 관련 프로젝트 + 프로젝트당 1~2장 정도의 분량으로 개발 과정 등을 문서화 -> 팀프로젝트면 본인이 맡은 역할과 이슈를 해결하면서 배운 내용 등을 문서에 담기
    • 프로젝트 후 배포 경험까지 있으면 좋음
  • Cs지식 질의응답
    • OS, 컴퓨터 아키텍쳐, 개발 방법론 등에 대한 이해가 있어야 개발할 수 있는 분야가 있다
    • 어느 분야든 네트워크에 대한 지식은 필수다

면접 준비

  • 회사는 그저 정답만 외치는 사람이 아니라 말을 논리정연하게 할 수 있는 사람을 원한다
  • 이런 능력은 하루아침에 생기지 않으므로 평소에 기술 블로그나 깃허브 저장소를 운영하며 능력을 키울 수 있다
  • github showcase - 깃허브 잔디, 명함처럼 사용
  • 인성 면접
    • 개발하면서 가장 행복했던 일
    • 자신이 가장 열정적으로 참여했던 프로젝트
    • 회사에 대한 궁금한 점 (사전에 알아보자)
      • 1차적으로 궁금한것 X
      • 개발자로서의 성향중 긍정적인 성향을 드러내는