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

어떤 문제가 나오는가?
코딩 인터뷰에 나오는 문제는 대략 다음과 같습니다.
교착상태에 빠지지 않는 경우에만 락을 주는 클래스를 설계해 보라. (『코딩 인터뷰 완전 분석』 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 생각해보기 풀이’라는 문장이 들어가야 합니다. (저희 블로그에도 트랙백을 걸어주세요.)
(주의: 이 코딩 인터뷰는 인사이트 입사와는 무관합니다. ㅡㅁㅡ /)
제가 쓰는 블로그가 트랙백을 지원하지 않아 수동트랙백 겁니다.
http://aero2blog.blogspot.kr/2012/08/03.html
좋아요좋아요
텀블러에서 트랙백 보내는 방법을 몰라 수동 트랙백 겁니다.
http://dalky.tumblr.com/post/30441050986
좋아요좋아요
헉~~ 라즈베리 파이를 벌써 갖고 계시네요.
좋아요좋아요
Trackback 을 걸었는데 제대로 표시가 안되는 것 같네요. 저도 수동으로..
http://blog.sunghwanyoo.com/tc/126
좋아요좋아요
배열이랑 배열의 길이도 주어져야 하는거 아닐까요?
위 설명은 배열 일부분만 돌리게 되어있는데 전체를 돌려야 하는 걸까요?
좋아요좋아요
일부를 돌리셔도 되고 전체를 돌리셔도 됩니다. ^^
(문제를 낼 때 지정하지 않았기 때문에…)
좋아요좋아요
매우 큰 배열에서, t-s가 클 때, 메모리를 사용하지 않는 방법이면 더 의미가 있을 것 같다는 생각이 드네요.
좋아요좋아요
알고리즘은 항상 성능과 메모리에서 저울질하게 됩니다.
메모리를 적게사용하면 성능이 떨어지는 경우가 많으니깐요.
이번 문제에서 임시버퍼를 사용하지 않고 풀 수 있는 방법은 없는 것 같아요.
임시변수를 사용하지 않는 xor 교환방식을 사용한다고 해도… 최소한 max( (t-k), (k-s) ) 의 버퍼를 필요하다고 생각됩니다.
“생각하는 프로그램밍”이 생각나네요 ㅎ
좋아요좋아요
버퍼를 사용하지 않는 방법도 가능하지않을까요?
실제로 그렇게 푸신 분들도 계신것같은데 ^^
(물론 임시변수같은건 필요하지만요)
좋아요좋아요
// 석대진
크기 1의 버퍼로 가능합니다.
좋아요좋아요
제 블로그도 트랙백이 없기 때문에 댓글에 링크로 대신합니다.
http://corund.net/blog/entry/%EB%AC%B8%EC%A0%9C%EB%A1%9C-%ED%92%80%EC%96%B4%EB%B3%B4%EB%8A%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-0.3-%EC%83%9D%EA%B0%81%ED%95%B4%EB%B3%B4%EA%B8%B0-%ED%92%80%EC%9D%B4
좋아요좋아요
트랙백을 걸수없다고 뜨네요 😦
저도 여기에 남깁니다.
http://cmohgate.tistory.com/entry/%EB%AC%B8%EC%A0%9C%EB%A1%9C-%ED%92%80%EC%96%B4%EB%B3%B4%EB%8A%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-03-%EC%83%9D%EA%B0%81%ED%95%B4%EB%B3%B4%EA%B8%B0-%ED%92%80%EC%9D%B4
좋아요좋아요
트랙백을 걸었는데 위엣분 말씀처럼 저도 리스트에 안 나오는 것 같습니다. 쩝…. 댓글로 남길게요.
http://leo.re.kr/1812
좋아요좋아요
저도 응모.
http://www.insightbook.co.kr/post/3814/trackback
좋아요좋아요
http://daejin.blogspot.kr/2012/08/03.html
수동 트랙백
좋아요좋아요
http://ins7itia.egloos.com/2044156
트랙백이 안먹혀 여기 남깁니다.
좋아요좋아요
수동 트랙백 입니다. 🙂
http://blueiur.tistory.com/61
좋아요좋아요
수동 트랙백입니다.
http://unzury.blogspot.kr/2012/08/03.html
좋아요좋아요
노파심에 저도 수동 트랙백도 겁니다;
좋아요좋아요
http://blog.benelog.net/2960128
좋아요좋아요
트랙백을 걸었지만 혹시나해서 저도 정답을 작성한 주소를 덧글로 남겨봅니다. ^^
http://hosang.tistory.com/entry/%EB%AC%B8%EC%A0%9C%EB%A1%9C-%ED%92%80%EC%96%B4%EB%B3%B4%EB%8A%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-03-%EC%83%9D%EA%B0%81%ED%95%B4%EB%B3%B4%EA%B8%B0-%ED%92%80%EC%9D%B4
좋아요좋아요
재밌겠네요 ^^ 한번 읽어봐야겠습니다~
좋아요좋아요
저도 트랙백은 걸었지만 확인용으로 댓글 답니다. ^^;
http://happycoding.tistory.com/1
좋아요좋아요
http://ps-go-lang.tumblr.com/post/30791069743/0-3-1-1
좋아요좋아요
기한이 지난 건 알지만, 심심해서 풀어 봤습니다. ^^
http://dlimpid.wordpress.com/2012/09/03/%eb%ac%b8%ec%a0%9c%eb%a1%9c-%ed%92%80%ec%96%b4%eb%b3%b4%eb%8a%94-%ec%95%8c%ea%b3%a0%eb%a6%ac%ec%a6%98-25%ec%aa%bd-0-3-%ec%83%9d%ea%b0%81%ed%95%b4-%eb%b3%b4%ea%b8%b0-%ed%92%80%ec%9d%b4/
좋아요좋아요
http://realrealife.tistory.com/
트랙백 확인용으로 남깁니다 ㅎㅎ
좋아요좋아요
http://www.ummae.com/blog/2012/문제로-풀어보는-알고리즘-0-3-생각해보기-풀이
좋아요좋아요