본문 바로가기
DEVLOG/Algorithms

코딩 인터뷰 준비하기 #01 준비 방법 / 알고 있어야 할 것들

2019. 8. 28.
반응형

코딩 인터뷰를 준비하는 방법

  1. 직접 풀도록 노력하라
    문제를 풀다 보면 막히는 일이 많다. 시간을 정해 놓고 푸는 연습을 하고, 시간 내에 풀지 못할 때 다른 풀이를 참고하는 것이 좋다. 문제를 풀 때는, 공간과 시간 효율에 대해서도 반드시 생각해야 한다.
  2. 코드를 종이에 적으라
    컴퓨터를 이용하면 syntax highlighting, code completion, debugger가 갖춰진 아주 편리한 환경에서 코딩을 할 수 있다. 종이에 코드를 작성하면서 코드를 작성하고 수정하는 데 오래 걸리는 환경에 익숙해져야 한다.
  3. 코드를 테스트하라
    물론 종이 위에서 한다. 기본 조건, 오류 발생 조건 등을 전부 테스트해야 한다.
  4. 종이에 적은 코드를 그대로 컴퓨터로 옮긴 뒤 실제로 실행해 보라
    종이에 적는 과정에서 꽤 많은 실수를 저질렀을 것이다. 실수 목록들을 만들고, 실제 면접장에서는 같은 실수를 반복하지 않도록 유의해야 한다.

알고 있어야 할 것들

많은 회사들이 자료구조와 알고리즘 같은 종류의 문제에 집중하는데, 이러한 문제들을 내는 이유는 단순히 지식을 확인하기 위해서가 아니다. 이진 트리의 균형을 맞추는 특정 방법이나 기타 복잡한 알고리즘에 대한 질문을 하지 않는다. 여러분에게 기대하는 것은 기본기다.

아래에 반드시 알아야 할 것들을 나열해 보았다.

자료구조 알고리즘 개념
연결리스트(Linked Lists) 너비 우선 탐색(BFS) 비트 조작(Bit Manipulation)
트리, 트라이(Tries), 그래프 깊이 우선 탐색(DFS) 메모리(스택 vs 힙)
스택 & 큐 이진 탐색 재귀
힙(Heaps) 병합 정렬(Merge Sort) 동적 프로그래밍(Dynamic Programming)
Vector / ArrayList 퀵 정렬 big-O 시간 & 공간
해시테이블    

이 주제에 대해 사용법, 구현법, 애플리케이션, 공간&시간 복잡도에 대해서 알아두어야 한다.

 

자료구조와 알고리즘을 종이에 직접 구현해 보는 것은 굉장히 좋은 훈련이다. 자료구조가 내부적으로 어떻게 돌아가는지 이해할 수도 있다. 실제로 많은 면접에서 자료구조나 알고리즘이 중요하게 사용된다.

 

특히, 해시테이블은 매우 중요한 주제다. 이 자료구조를 아주 능숙하게 다룰 수 있도록 연습해야 한다.

반응형

댓글