코딩 인터뷰? 기술 면접? 코딩 면접?

코딩 인터뷰란 프로그래머를 채용하는 과정의 한 부분입니다.

‘포인터를 설명해보세요’ 식의 질문이나,

이력서에 나열한 참가 프로젝트 명 등으로는 다 알 수 없었던 면접자의 능력을 파악하고자,

프로그래밍 문제를 풀도록 요구하는 것이죠.

(‘주량은 얼마나 되죠?’는 이제 그만~)
어떤 문제가 나오는가?

코딩 인터뷰에 나오는 문제는 대략 다음과 같습니다.

교착상태에 빠지지 않는 경우에만 락을 주는 클래스를 설계해 보라. (『코딩 인터뷰 완전 분석』 207쪽)

3, 5, 7의 세 소수만을 약수로 갖는 k번째 수를 찾는 알고리즘을 설계하라. (『코딩 인터뷰 완전 분석』 352쪽)

블로그에 쓰기에 까다롭지 않은 문제들만 골라봤는데도,

준비 없이 이런 문제를 만난다면 대략 멘붕…이겠죠?

나도 해당사항이 있을까?

코딩 인터뷰는 주로 구글이나 페이스북, 애플, 마이크로소프트, 아마존 등 대규모 테크 기업이나 실리콘밸리의 스타트업 등 해외 기업들이 채택했다고 알려져 있었지만,

알아본 바에 의하면

국내에서도 점점 코딩 인터뷰를 진행하는 회사들이 늘어나고 있다고 합니다.

(‘기술 면접’이나 ‘코딩 면접’ 등 다른 이름으로 부르기도 합니다. 면접 질문의 수준이나 방식은 조금씩 차이가 있고.)

아마도 프로그래머의 객관적 실력을 평가하는 데 가장 좋은 방법이라고 판단해서가 아닐까 합니다.

결국 채용한 후 평가를 해보니, 다른 어떤 방식보다도 코딩 인터뷰를 통해 문제 해결에 탁월함을 보인 사람을 채용했더니 실제 업무에서도 성과를 내더라는 결론이 나왔다는 거죠.

그러니 취업이나 이직을 앞둔 분들이라면 미리 준비하셔야겠습니다.

『코딩 인터뷰 완전 분석』

표지를 어디서 많이 본 느낌인데…

맞습니다.

지난 번 출간했던 『구글러가 전하는 IT 취업 가이드』와 비슷하죠?!

저자 역시 같은 분입니다.

게일 라크만 맥도웰 님.

구글러가 전하는 IT 취업 가이드』가 면접 준비, 이력서 작성에서 채용 과정 설명, 채용 후 근무조건(연봉) 협상, 각 테크 기업별 면접과정 차이에 이르기까지 면접/채용의 전반적인 부분을 다루고 있다면, 『코딩 인터뷰 완전 분석』은 제목 그대로 인터뷰에서 나오는 문제 유형 분석과 풀이 과정(답변 방식) 등에 집중하고 있다고 생각하시면 되겠습니다.

또, 저자인 게일 맥도웰은 CareerCup.com을 운영하면서 코딩 인터뷰 준비생들을 돕고 계시지요. 구글에서 프로그래머 150여 명을 직접 대면 면접했고, 1,000여 명의 채용 과정에 참여한 경력을 갖고 계신 분!

(영어에 능하신 분이라면 위 포럼에 보물이 한 가득~!)

발간 기념 이벤트!!!

얼마 전 발간한『문제로 풀어보는 알고리즘』과 『구글러가 전하는 IT 취업 가이드』에 이어『코딩 인터뷰 완전 분석』 이 세 권이 모두 IT(테크) 기업 취업을 준비하는 분들께 도움이 될 만한 책이라 할 수 있는데요, 이들 책에서 몇 문제를 골라,

3주 동안 저희 블로그에서 문제 풀이 이벤트를 하려 합니다.

(즉, 취업 준비 종합 선물 세트 발간 기념 이벤트!?)

풀이과정, 해답을 각자 운영하는 블로그에 올리신 후 저희 블로그에 트랙백을 거는 방식이고요.

트랙백 주소는 http://www.insightbook.co.kr/post/3814/trackback 입니다~

(워드프레스가 자꾸 트랙백을 스팸으로 인식하는 터라 수동으로 인증해주고 있습니다. 트랙백 후 잠시만 기다려주세요~)

정답자 중 추첨을 통해,

한 분께는 HP 프로라이언트 마이크로서버를,

다섯 분께는 요즘 가장 핫! 한 아이템 중 하나인 Raspberry Pi를 각 하나씩 선물로 드립니다.(Raspberry PI는 구입하려는 사람이 많아 공급이 수요를 따라가지 못하고 있다니, 저희가 주문해 입수하는 대로 보내드릴 겁니다.)

그럼, 1주차 첫 번째 문제 나갑니다~

배열 arr[]과 위치 s, t가 있을 때,

arr[s], arr[s+1], … , arr[t-1]을 오른쪽으로 한 칸씩 이동하고,

arr[t]는 arr[s]로 복사하는 것을 ‘1만큼 오른쪽으로 회전시켰다’고 한다.

예를 들어 길이가 8인 배열에서 s=2, t=6이면 다음 그림처럼 바뀐다.

길이가 n인 배열의 위치는 0, 1, 2, … , n-1이다.

문제 :

k를 인자로 받아서 k만큼 오른쪽으로 회전시키는 함수를 작성하라.

단, 1만큼 오른쪽으로 이동시키는 과정을 k번 반복해서는 안 된다.

조건 1 : 작성하는 언어에는 제한이 없습니다.

조건 2 : 답안으로 작성하신 글 제목에는 ‘문제로 풀어보는 알고리즘 0.3 생각해보기 풀이’라는 문장이 들어가야 합니다. (저희 블로그에도 트랙백을 걸어주세요.)

(주의: 이 코딩 인터뷰는 인사이트 입사와는 무관합니다. ㅡㅁㅡ /)