태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
지난번에 망친 폰 인터뷰 때문에 연락도 오지 않을 줄 알았더니 연락이 오긴 왔다. 2명의 인터뷰어가 서로 정보를 공유하지 않고 2번을 본 후 의견을 조합해서 다음으로 진행할지 결정하는 모양이다. 지난번에 Non Technical 질문을 하도 개발새발 대답해서 이번에는 준비 좀 해놨더니, 바로 코딩하자고 한다. :(
  1. factorial 함수를 구현하라. 헐...
  2. 문자열 배열에서 3번째로 긴 문자열을 출력하는 함수를 구현하라.
  3. rotated sorted array of int에서 주어진 숫자가 있는지 출력하는 함수를 구현하라.
  4. c에서 static이 뭐냐? c++에서는?
솔직히 전화로 하는 말 거의 못 알아듣겠다. 저 정도 영어는 어려운 게 아니라서 직접 말하면 다 알아 들을 수 정도인데, 전화기로 말하면 마치 손상된 메시지를 복구시키는 과정을 거쳐야 하는 것 같이 못 알아듣겠다. 빛바랜 사진에서 색상을 찾는 것, 물에 젖어 잉크가 번진 일기장을 읽는 것 같다. 물론, 영어를 못하니까 이런 것이겠지. 솔직히 말해서 저걸 다 잘 풀었다고 해도, 의사 소통이 어려워서 탈락이라고 본다.

참고로, 어제 recursion과 iteration을 연구(?)하다가 "Never hire a developer who computes the factorial using Recursion"라는 고용 매니저(hiring manager)들의 불문율[각주:1]이 있다는 글을 읽었는데, 첫번째 문제를 받고는 잘 됐다 싶었다. Iteration로 구현하고, 'recursion으로 구현할 수도 있지만 비효율적이다'라고 말했다. 인터뷰어가 0!의 경우에도 돌아 가냐고 물었다. 나는 0!은 고려하지 않고 별 생각 없이 짰는데, 보니까 0!의 경우에도 제대로 나오더라. 여기까지만 잘 했다. :)

지난번에는 하도 못해서 '질문 없냐?'라는 질문도 못 받았는데, 이번에는 예의상 받았다. '너희 회사가 이전에 근무한 다른 회사 보다 좋은 게 뭐냐?' 등의 준비된 질문 두어 개를 했다. 좋은 결과가 있으면 너무 좋겠지만, 지난 번 폰 인터뷰를 생각하면 욕심이란 생각이 든다.
  1. '금문률'이라고 백날 찾으니 없더라. '불문율'이다. ㅎㅎ [본문으로]
처음으로 전화로 인터뷰를 보았다. 예상은 했지만 예상보다도 훨씬 못했다. 질문만 정리해보자.
  1. 최근에 한 프로젝트에서 버그를 어떻게 찾았는지, 어려운 점은 뭐였나?
  2. 최근에 한 프로젝트를 설명해봐라. (내용에 대한 추가 질문 잔뜩)
  3. 새로운 알고리즘을 테스트를 할 때에 뭘 해야 하나?
테크니컬 질문은 다음과 같았다.
  1. 두 정렬된 배열이 있을 때 공통(intersection)된 값을 새로운 배열에 넣자.
  2. 두 머신에 있을 때 1번을 푸는 방법은?
  3. 1000개의 머신에 있을 때 푸는 방법은?
영어가 개발새발인게 들통났고, 테크니컬 질문은 곰곰이 생각하면 제대로 풀 수
있을법한
있을법한 것들인데 다 망했다. 대면 인터뷰이면 그림으로라도 그려서 설명할 텐데, 너무 못해서 65분이나 걸렸다. 원래 금요일에 또 폰 인터뷰가 있는데, 이번에 너무 못해서 그냥 연락이 안 올 것 같다. :(
이번에는 좀 더 기술 인터뷰(technical interview)로 유명한 회사이다. 간단하게 인터뷰어(interviewer)의 소개로 시작했다. 그런데, 뭘한다는 것인지 모르겠다. 정말 다양한 서비스 이름이 오르내렸다. 나는 그냥 '정말 많은 일을 하고 있군요.'라고 했다. 

인터뷰에는 자신이 (1)이루어낸 일(achievement)에 대한 소개, 자신이 한 일 중 (2)실패한 경험(failure)과 그로부터 배운 것 등의 질문 들은 (3)'자신에 대해 소개해 보세요'라는 비교적 포괄적인 질문과 함께 자주 나온다고 한다.

오늘은 내가 프로젝트를 하면서 뭔가를 발전시킨 경험을 이야기해보란다. 이런 질문에 대비하여 억지로 모범 답안을 생각해 둔것을 말했다. 예전에 회사를 다니면서 paging query를 바꿔서 performance를 높힌 이야기를 했다. 그 당시에는 엄청 여러가지로 알아보고 며칠간 고민도 했으니 거짓말은 아니다. 'cool'인지 'great'라고 말해줬지만 미국인 식의 입에 발린 칭찬이란 것쯤은 안다.

그리고 주로 사용하는 언어는 뭐냐고 물어서 주로 C랑 Java라고 했다. C++은 요즘 다시 공부하고 있는데 차마 자주 쓴다고는 말할 수 없었다. 나의 주언어(?) php도 빼놓지 않고 말했지만, 도움이 되지는 않을 듯하다.

개발자라 이런 대화들은 형식적으로 묻는 것 같았다. 바로 본격적으로 technical question[각주:1]으로 들어갔다. 첫번째 문제는 linked list가 있을 때 마지막에서 5번째 노드를 찾는 것에 방법에 대해서 말해보란다. 혹시 알고 있는 문제면 좀더 재미있는 문제를 풀어보자고 했다. 그러나, 모르는 척 해야지. 고민을 하는 척하다가 포인터 2개를 놓고 하나를 먼저 5칸을 보낸 후에 나머지 포인터와 같이 이동시키다가, 첫번째 포인터가 마지막(null)에 도달하면 앞의 포인터가 가리키는 노드가 바로 마지막에서 5번째 노드이다. 그랬더니, 코드로 짜보란다. 슥삭슥삭 나는 코드를 종이에 열심히 쓰고, 인터뷰어는 노트북에 뭐라뭐라 계속 치고 있다. 지난번에 인터뷰 전에 있었던 Info session에서 자기네들이 뭐를 치더라도 개의치 말라고 했으니 개의치 않았다. 코드를 다 짜고 대략 코드를 보며 맞는지 함께 점검해본다.

저렇게 했더니 이제 8분이 남았단다. 문제를 더 풀어보잔다. 정렬될 정수형 배열이 있는데 회전되어(rotated) 있다.[각주:2] 이때 회전의 시작점(?)을 찾으라는 문제이다. 아, 전에 문제는 봤는데 풀이방법은 보지 않았던 문제다. 일단 모르면 쉬운 방법부터 말하라는 말을 어디선가 봤다. 무조건 말을 많이 해야 자기가 뭘하는지 안다고 봤다. 그래서 일단 가장 쉬운 방법은 현재 위치의 정수값이 앞 자리 값보다 작으면 그 위치가 바로 우리가 원하는 자리이고 이것은 O(n)이다. 이러면서 대략 중간에 선을 하나 그어서 배열을 두 부분으로 나눠놨다. 

답을 모르는 문제이고 시간도 얼마 남지 않아 여유가 없다는 생각에 일단 해법이 떠오르지 않았다, 인터뷰어들은 인터뷰하는 사람들이 문제를 풀 수 있도록 도와주는 역할도 한다고 해서 힌트를 달라고 했다. 그랬더니, 내가 그어 놓은 선을 보고는, "왜 저렇게 선을 그어 놨어?"라고 했다. "나는 O(lgn) 알고리즘을 찾으려고... 아하!!!!" 그러고는 풀이가 떠올랐다. 또 코드를 작성하란다. 4분 내로 작성하란다. 압박을 주는건 아니고 다 끝내지 못해도 된다고 했지만 후다닥 코드를 써봤다. 인덱스가 같은 것(i==j)을 표현해야하는 부분에서 배열 값이 같은 것(a[i]==a[j])을 구한다고 잘못 써놓은 부분이 있기는 했지만 바로 잡기는 했다. 시간이 없어서 급하게 잘못 쓴게 명백했다. (나한테는 ㅋㅋ)

마지막에 질문 시간을 줬는데, 문제 풀다가 미리 생각했던 질문을 다 까먹었다. 그래서 정말 초딩같은 질문을 했다. 미국에서는 정말 백발 노인도 개발자를 할 수 있느냐고. 그랬더니 자기는 44세고 여전히 개발자라고 한다. 그래서 내가 그말을 들으니 다행이라고 했다만, 안하느니만 못한 질문이었다.

면접도 한 5번보면 패턴 파악이 다 되고, 하나도 안 두렵지 않을까 생각이 든다. 다만, 면접에 성공한다는 보장은 할 수 없겠지만 말이다. 남들도 이정도 문제 정도는 다 풀었을테니, 또 로또를 기대할 수 밖에. 잘 되면 좋겠다.
  1. 사실 technical하다고 말하기도 어렵다만 이렇게 표현하는 수밖에 없다. [본문으로]
  2. {1,2,3,4,5}가 {2,3,4,5,1} 이런식으로 변형되는 것을 roated라고 표현한다. [본문으로]
  1. Favicon of http://zzun.net BlogIcon zzun 2010.02.25 20:17 신고

    재밌네 ㅋ 2번 문제는 divide&conquer 로 하면 되나?

    • Favicon of http://blog.sbnet21.com BlogIcon 조나단봉 2010.02.26 04:10 신고

      divide (배열을 두 부분으로 나누고) & conquer (첫 원소와 끝 원소를 비교)를 반복하지.

처음으로 미국에 와서 취업 인터뷰를 보았다. 원래 취업 박람회에서 이력서를 날린다고 해도 연락이 와서 캠퍼스 인터뷰를 보는 것 자체도 쉽지 않은 일인데 운 좋게도 기대도 안하고 있던 곳에서 연락이 와서 오늘 인터뷰를 봤다. 사실, 5명의 인터뷰어가 대략 8시간 동안 면접을 진행했으니 아마 최대 80명의 사람들이 인터뷰를 봤을 것이다. 그러니 내가 인터뷰에 초대된 것이 그렇게 대단할 것도 없는 일이긴 하다.

어쨌든, 통합 시스템 테스트 팀(Integrated System Test Team)이란 곳에서 나온 분과 면접을 봤다. 리쿠르터가 왜 자기에게 내 이력서를 줬는지 모르겠다고 한다. 나도 모르겠다. 처음에는 행태 질문(behavioral question)을 한다.

  1. 일한 경험에 대해 말해봐라. 이 회사에서는 무슨 일을 했고 너의 역할(role)은 뭐였냐?
  2. 학교에서 들은 수업 중에 기억에 남는 수업은 뭐였고 왜냐?
  3. 집에서 컴퓨터는 어떤 용도로 사용하느냐? -_-;
  4. 스크립트 언어도 써봤냐?

기술 질문(technical question)은 코딩이나 알고리즘, 자료구조 같은 것은 하나도 안 물어보고, 테스트 쪽에서 나와서 그런지 그런 질문을 초반에 많이 한다.

  1. 버그 리포트에 들어가야 할 항목에는 뭐가 있을까?
  2. 버그가 매번 발생하는 게 아니라 가끔 발생하면 어떻게 해야 하나?
  3. Java랑 컴파일된 C++의 실행의 차이는 뭐냐? Java가 왜 더 느리냐?
  4. 3D 게임과 그래픽 카드 사이에 OS 레벨의 레이어에는 뭐가 있냐? (헐... library와 driver)

마지막은 인터뷰 받는 사람(나)의 질문 시간.

  1. 일하면서 제일 행복한 순간은 언제냐? ㅋㅋ
  2. 테스트는 노가다로 하냐? 자동화 툴을 사용하냐? ㅋㅋ
  3. 니 이름이 뭐냐? -_-;;

대략 이랬다. 온사이트(on-site) 인터뷰 기회가 주어지면 좋겠지만 큰 기대는 하지도 않고 할 수도 없다. 나름 재미있는 경험이었다. 앞으로 좀 더 나아지면 되는 거지 뭐. 그런데 현실은 인터뷰 기회를 얻는 것조차 너무 어렵다는 것. 참고로 오늘 면접 본 회사는 요새 IT 업계에서 공공의 적인 업체.

추가로, 인터뷰를 준비할 때 반드시 미리 생각해 두어야 할 것들.

  1. 회사 지원 동기  - 이건 안 물어볼 것 같기도...
  2. 일 경험에 대한 소개, 설명, 역할(role)
  3. 가장 기억에 남는 프로젝트(혹은 수업)와 이유
  4. 자신에 대한 소개 (장점과 단점) - 이것도 안 물어 볼지도...
  1. 소림 2010.02.21 14:13 신고

    자기님은 잘 하고 있어요~!! 앞으로도 자신감을 가지고 열심히 해봐요~!!!

  2. broYobi 2010.02.22 18:06 신고

    사과?

약 30초 걸린 비자 인터뷰 (실제로는 1분쯤 걸렸을 것 같다. 나름 in English...)

영사 : 대학에서 받아줬니(accepted)? (혹은 받아줬구나..)
나 : 그래

영사 : 석사니 박사니?
나 : 석사야...

영사 : 끝나고 뭐할꺼니? (박사할꺼니?)
나 : 한국와서 취직해야지 (이렇게 말해야지 된다고...ㅎㅎ)

영사 : 결혼한지 얼마나 됐니?
나 : 지난달에 결혼했어
영사 : 오, 축하해(Congratulations)

영사 : 그럼 텍사스로 허니문가는거네..ㅎㅎ
나 : 우리 몰디브로 신혼여행 갔다왔어 (농담을 그냥 웃어 넘기면 될 것을... -_-;)
영사 : ㅎㅎ 그래... 공부 잘 해라(Good luck)

졸린 마눌님 : Thank you...

이래저래 급하게 많이 준비하느라 욕만 바가지로 했는데,
정작 비자 인터뷰는 싱겁게 끝나버렸다...

기타 서류를 엄청나게 준비해갔는데,
한국인 통역관이 대충 훑어보고 외국인 영사는 서류를 보지도 않았다.

사람마다, 케이스마다 인터뷰는 매우 다른 듯 하다.
주로 미국물 이미 먹은 영어 엄청 잘하는 사람이 리젝을 받는 듯...
미국 가는데 불순한(?) 의도가 있다는 이유로... -_-;

그나저나 이제 정말로 미국에 갈 수 있겠네...

+ Recent posts