[coding interview] 코딩 인터뷰 대비하기
코딩인터뷰를 시작하며
서론
개발자로서 코딩 인터뷰를 공부하는것은 여러 차원에서 이점이 있다. 우선 다른 회사로 이직을 준비한다면 면접 상황에서 큰 도움이 될 것이고, 이직을 준비하지 않는다면 개인의 코딩 지식을 더 단단히 다져나가는데 도움이 될 것이다. 개발의 범위는 너무나 광대하고 끊임없이 공부할 분야들이 새로 생겨나기 때문에 무엇부터 공부해야할지 막막하기 마련이다. 이런 경우에도 하나의 길잡이로서 개발자의 공부 방향을 잡아줄 수 있는 좋은 역할이 될 것이다. 해당 포스팅은 코딩인터뷰 완전 분석이라는 서적을 읽고 개인적으로 정리한 글이기 때문에 대부분의 내용이 참조 되었다.
면접방식은 어떠한가?
- 알고리즘 테스트
- 분석능력:
최적화를 얼마나 했는지?
문제푸는데 얼마의 시간이 소요 되었는지?
디자인/설계를 할 때에 문제의 쳬게를 제대로 세우고 다양한 방법에 대한 장단점을 생각해 보았는지 - 코딩능력:
알고리즘을 적절한 코드로 표현할 수 있는지?
깔끔하게 짰는지?
에러에 대해 생각해보았는지?
- 분석능력:
- 직무 면접
- 기술적 지식 및 컴퓨터 과학 기본:
컴퓨터 과학 및 관련 기술에 대한 기본기가 출중한지? - 경험:
기술적 결정을 해본 경험이 있는지?
도전적인 프로젝트를 해본 적이 있는지?
진취성, 결단성, 그 외 다른 중요한 요소를 내보인 적이 있는지? - 문화 및 의사소통 능력:
성격과 가치가 회사와 잘 맞는지, 의사소통은 잘 되는지
- 기술적 지식 및 컴퓨터 과학 기본:
이러한 면접 평가가 필요한 이유는 ?
-
기초적인 자료구조와 알고리즘 지식은 유용하다. 트리,그래프, 리스트, 정렬, 다양한 지식은 쓸 곳이 은근히 많다. 자료구조와 알고리즘 없이 문제풀이 능력을 측정할 수 있는 문제가 거의 없기 때문에 이들을 바탕으로 많이 생성되어 있다.
-
화이트보드 손코딩 ? 화이트 보드의 장점은 큰 그림을 그리는데 도움을 준다. 자잘한 컴파일 오류를 신경쓰기 보다는 핵심에만 집중하면 된다.
-
어떤 문제를 출제하는가? 최근 기출을 보는 것은 크게 도움이 안될 수도 있다. 면접관에 따라 질문지가 완전히 다르기 때문이다. 알고리즘 문제는 어느 회사나 전체적으로 비슷하다. -> 핵심적인 알고리즘 유형만 공부해 놓으면 회사별로 준비하지 않더라도 좋은 결과를 낼 수 있다.
면접 프로세스는 어떠한가?
-
사전 면접 (screening interview) 보통 전화로 진행될 경우가 많고 코딩이나 알고리즘 관련 질문들이 나오는 경우가 많고, 생각보다 난이도도 까다로운 편이다.
-
대면 면접 보통 세번에서 6번 정도의 대면 면접이 실시될 수 있다. 보통 기술적인 질문들이나 코딩,알고리즘, 디자인/설계, 경력 등에 대해 물어보는 편이다.
책에서는 계속해서 각 글로벌IT기업별로 대비해야하는 특징들에 대해 다루고 있고, 이력서 등을 쓰는 요령에 대해서도 설명이 나와있다. 이 부분은 실제 이직을 앞둔 사람들이 보면 유용할 것으로 보인다. 다음에 이어서는 IT기술과 관련된 내용들을 하나씩 정리해보도록 한다.
참고문헌
코딩인터뷰 완전 분석 - 게일 라크만 맥도웰