코딩 인터뷰에 대처하는 개발자의 자세

By | 2012년 8월 29일
코딩 인터뷰? 기술 면접? 코딩 면접?

코딩 인터뷰란 프로그래머를 채용하는 과정의 한 부분입니다.
‘포인터를 설명해보세요’ 식의 질문이나,
이력서에 나열한 참가 프로젝트 명 등으로는 다 알 수 없었던 면접자의 능력을 파악하고자,
프로그래밍 문제를 풀도록 요구하는 것이죠.

('주량은 얼마나 되죠?'는 이제 그만~)

어떤 문제가 나오는가?

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

교착상태에 빠지지 않는 경우에만 락을 주는 클래스를 설계해 보라. (『코딩 인터뷰 완전 분석』 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 생각해보기 풀이’라는 문장이 들어가야 합니다. (저희 블로그에도 트랙백을 걸어주세요.)

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

관련 도서

구글러가 전하는 IT 취업 가이드

구글러가 전하는 IT 취업 가이드

구글러가 전하는 IT 취업 가이드 지은이 : 게일 맥도웰 / 옮긴이 : 강은진 정가 : 16,000원   344쪽 / 판형 : 145*227 / 판 출간일 : 2012년 7월 15일 ISBN-13 : 978-89-6626-042-3 지은이 소개 게일 맥도웰(Gayle McDowell) 구글에서 3년간 일하면서 채용 위원회에서 1000명이 넘는 지원자의 면접 결정 과정에 참여했다. 마이크로소프트와 애플에서 인턴으...
문제로 풀어보는 알고리즘 : 프로그래밍 트레이닝 Q&A

문제로 풀어보는 알고리즘 : 프로그래밍 트레이닝 Q&A

  소스코드   지은이 : 황인욱, 김용혁 정가 : 25,000원   408쪽 / 1판 출간일 : 2012년 8월 1일 ISBN-13 : 978-89-6626-046-1     저자소개 황인욱 서울대학교 컴퓨터공학부에서 학사와 석사 학위를 취득하였다. 티맥스소프트 연구소에서 검색엔진과 웹 크롤러를 개발하였고, 삼성전자 생산기술연구소에서 반도체 설비 장애예측, 생산성 향상 시스...
생각하는 프로그래밍(신판_무선)

생각하는 프로그래밍(신판_무선)

생각하는 프로그래밍 (Programming Pearls )       지은이 : 존 벤틀리 / 옮긴이 : 윤성준, 조상민 정가 : 22,000원   424쪽 / 판형 : A5 / 신판 1쇄 출간일 : 2013년 12월 24일 ISBN-10 : 978-89-6626-099-7 ISBN-13 : 978-89-6626-101-7   ...

54 thoughts on “코딩 인터뷰에 대처하는 개발자의 자세

  1. Pingback: DevOps

  2. Pingback: 내 멋대로 가라~!

  3. Pingback: 어머나 이 패는 불러야해

  4. Pingback: 지금 얼마나 신나요?

  5. Pingback: Life is Continuity of Blunder

  6. ipkn

    배열이랑 배열의 길이도 주어져야 하는거 아닐까요?
    위 설명은 배열 일부분만 돌리게 되어있는데 전체를 돌려야 하는 걸까요?

    Reply
    1. raccoony

      일부를 돌리셔도 되고 전체를 돌리셔도 됩니다. ^^
      (문제를 낼 때 지정하지 않았기 때문에…)

      Reply
  7. Pingback: 조급하지말고 천천히

  8. nonblock

    매우 큰 배열에서, t-s가 클 때, 메모리를 사용하지 않는 방법이면 더 의미가 있을 것 같다는 생각이 드네요.

    Reply
    1. 석대진

      알고리즘은 항상 성능과 메모리에서 저울질하게 됩니다.
      메모리를 적게사용하면 성능이 떨어지는 경우가 많으니깐요.

      이번 문제에서 임시버퍼를 사용하지 않고 풀 수 있는 방법은 없는 것 같아요.
      임시변수를 사용하지 않는 xor 교환방식을 사용한다고 해도… 최소한 max( (t-k), (k-s) ) 의 버퍼를 필요하다고 생각됩니다.

      “생각하는 프로그램밍”이 생각나네요 ㅎ

      Reply
    2. xgate

      버퍼를 사용하지 않는 방법도 가능하지않을까요?
      실제로 그렇게 푸신 분들도 계신것같은데 ^^
      (물론 임시변수같은건 필요하지만요)

      Reply
  9. Pingback: A 프로그래머

  10. Pingback: 같은 하늘 아래

  11. Pingback: 레오레오 연구소

  12. Pingback: ...

  13. Pingback: 야생코딩

  14. Pingback: Fearless on my breath.

  15. Pingback: 개발을 통한 자기수양

  16. Pingback: daewon' log

  17. Pingback: guruble story

  18. Pingback: Happy Coding Life

  19. Pingback: 문제로 풀어보는 알고리즘 0.3 생각해보기 풀이 : 1주차 » Suapapa's Blog

  20. Pingback: 무규칙이종IT 엘국

  21. Pingback: James's dev story

  22. Pingback: NoSyu의 주저리주저리

  23. Pingback: kjunine is online

  24. Pingback: susukang@tistory

  25. Pingback: Realrealife

  26. Pingback: 로그로그

  27. Pingback: 코딩 인터뷰 완전 분석 210쪽 17.3 변형 문제 풀이 | UmmaeWiki

  28. Pingback: 문제로 풀어보는 알고리즘 0.3 생각해보기 풀이 | UmmaeWiki

댓글 남기기