본문 바로가기
개발자 도전기/[STUDY] etc

공부노트 | 파이썬 알고리즘 인터뷰 | 1장 코딩 인터뷰

by 답수 2021. 10. 27.
728x90
반응형

 

※ 공부 목적으로 책의 내용 정리하는 글

 

 

 

| 코딩 인터뷰

  • 기술 직군 채용을 위한 기술 문제 중심의 개발 인터뷰
  • 오프라인 면접장에서 화이트보드를 이용해 후보자의 기술 지식, 코딩 능력, 문제 해결 역량, 창의성 등을 테스트하는 것

 

| 코딩 테스트 플랫폼

코딩 테스트 플랫폼마다 각기 다른 방식으로 동작한다! 

(예시)
카카오는 테스트 케이스 보여주지 않도록 설정. 에러가 나면 왜 틀렸는지 스스로 코드를 보면서 유추해 나가야 함.
타임아웃도 마찬가지. 갑자기 타임아웃이 나기 시작해도 어떤 입력값 때문인지 알 수 없음.
  • 면접관은 면접자가 제출한 코드를 매우 꼼꼼히 리뷰하는 편이기 때문에 동작한다고 풀이를 아무렇게나 작성하는 것 지양! 면접 때 집중적으로 질문을 받게 될 것임
  • 각 플랫폼의 특징을 파악하는 것 중요하다. 해커링크는 기업에서 사용하는 코딩 테스트 플랫폼이면서 개인을 위한 문제 풀이 서비스도 제공. 카카오나 네이버 경력 개발자 지원 희망한다면 평소 해커링크에서 꾸준히 문제풀이 하는 것 추천

 

| 온라인 코딩 테스트 사전 준비사항

  • 연습장과 필기도구
    연습장에 적어두면서 값의 변화를 추적해보면 많은 도움이 됨
  • 자신만의 코드 스니펫
    코테 시 자주 쓰이는 동작들에 대해서 코드 스니펫(Snippet) 미리 구상
    (e.g. 연결 리스트 뒤집거나 삭제하는 등의 작업들 시간 제법 소요됨)
    많은 문제 연습하고 풀어보면서 자신에게 가장 어려운 알고리즘이나 코드 위주로 정리하는 편이 가장 좋음
  • 모든 테스트 케이스 통과하도록 풀기
    코데 시에는 충분히 생각하고 문제가 없는지 코드를 다시 한 번 더 꼼꼼히 확인 후 제출
  • 타임아웃 발생하는 경우
    파이썬, C++, JAVA에 비해 느림. 따라서 다른 언어에 비해 알고리즘 최적화에 더 많은 고민 필요
  • 예외 처리 잊지 말자
    0이나 NULL이 입력값으로 들어오는 경우도 있음. 입력값에 대한 검증 과정 필수!
    실수를 줄이려면 처으무터 상단에 예외 처리부터 해놓고 진행하는 것도 나쁘지 않은 방법
  • 잘못 접근한 풀이 대처 방법
    BFS로 풀었는데 DFS로만 풀 수 있는 문제 등 시간이 한참 지난 후에야 잘못된 접근을 식별하면 매우 난감함
    예방을 위해 스스로 문제당 제한 시간을 정해두고 그 시간을 초과할 경우 바로 다음 문제로 넘어가자.
  • 풀이 시간을 초과했을 때, 포기해야 할까
    1. 시간이 좀 더 주어지면 다 풀 수 있을 경우
    2. 면접관의 이메일 주소를 알고 있을 경우
    이 경우 시간 초과 이후에도 별도의 IDE에서 계속 풀이 시도. 풀이가 끝나면 면접관에게 메일 보내보자. 면접관에게 좋은 피드백을 받을 수 있음. 시간 초과를 너무 두려워하지 마라.
  • REPL 도구로 코드 검증하자
    read, evaluate, print, loop: 사용자 입력에 대한 실행 결과를 바로 되돌려 주는 상호작용 환경

 

| 화이트보드 코딩 인터뷰

많은 사람들 앞에서 문제를 잘 풀이하고 잘 얘기할 수 있는 능력을 꾸준히 키워나가는 게 중요하다.

화이트 보드 코딩 인터뷰의 경우에는 핵심을 관통하는 알고리즘을 중심으로 구현하면 된다. 물론 실행 가능할 정도로 정확하게 구현하지 않는 경우 감점 요소가 되기도 하지만, 적어도 온라인 테스트처럼 사소한 테스트 케이스 하나 때문에 계속해서 헤매는 경우는 발생하지 않는다.

화이트보드 인터뷰는 검색이나 인터넷의 도움이 전혀 없다. 모른다고 계속 붙잡고 있을  수 없기 때문에 면접관에게 끊임없이 질문을 던져서 힌트를 받아내야 한다.

 

 

728x90
반응형
LIST

댓글