며칠 전 인턴 지원에 대한 언급을 했었는데, 여러 회사와 8번의 인터뷰 끝에 최근 Microsoft Research Redmond에서 인턴을 하기로 결정하였습니다. Bing Search Engine의 검색 모델을 담당하는 팀이며, 제가 맡을 프로젝트는 최근 많은 이슈가 되고 있는 실시간 검색(real-time search)의 성능을 높이는 일입니다. 

미국 대학원 박사과정의 리서치 인턴을 간단히 소개하자면, 기업 연구소에서 주어진 기한내에 (주로 12주) 팀의 일원이 되어 연구 프로젝트를 완수하는 일입니다. 실제 연구원들과 동등한 자격으로 일을 하며, 대체로 결과를 퍼블리시하는 것도 가능하기 때문에 대학원생 입장에서는 상당히 매력적인 조건입니다. 물론 일반 기업에서와 마찬가지로 향후 입사에도 도움이 됩니다. 

인턴 선발 과정은 시작부터 마무리까지 실제 채용과정의 축소판이라고 할만하며, 결과에 관계 없이 참으로 많은 것을 배울 수 있기 때문에 이공계 학과에 유학 중이신 분들은 꼭 해보실만한 일입니다. 기업 연구소에서 어떤 사람을 원하고, 그런 사람을 가려내기 위해 어떤 잣대를 사용하는지 느끼실 수 있기 때문입니다. 

또한 대부분 박사과정 이후에 학교냐 회사냐의 고민을 하게 되는데, 인턴 과정을 통해 '회사'를 느끼고 나면 좀더 균형있는 판단이 가능할 것입니다. 학교에만 있다 보면 웬지 기업 연구소에 끌리게 마련인데, 주변에서 인턴 생활 이후 기업 연구소에 대한 환상을 깨고 학계쪽으로 진로를 확정하는 경우도 자주 보았습니다. 앞으로 인턴 지원을 준비하는 분들에게 도움이 될 수 있도록 전형 과정을 간단히 정리해 보았습니다.

서류 전형
인턴 지원을 공식적으로 시작하기 위해서는 주로 온라인 폼을 작성하게 됩니다. 많은 경우 다른 채용 및 장학급 지원과 마찬가지로 교수님의 추천서가 필요합니다. 여기서는 연구 실적이 주된 평가기준이 되겠지만, 역시 많은 경우 내부 인력의 추천을 통하여 인터뷰 대상자가 선정됩니다. 또한 연구 계획서를 작성하게 되는데, 자신의 연구 경험과 관심사를 요약하면서도, 관심사를 지나치게 specific하게 쓰지는 않는 것이 요령입니다. 예컨데 저는 'All areas of information retrieval, with recent work on personalized search, desktop search, search with semi-structured data, and search over multiple document types. '이라고 적었습니다. 

인터뷰
구글이나 마이크로소프트의 인터뷰는 난해하기로 이름이 높습니다. 구글은 9단계의 인터뷰를 하는 것으로 알려져 있고, 주로 문제해결력을 측정하는 마이크로소프트의 인터뷰 질문은 으로도 나와 있죠.  이번에도 재미있는 질문을 많이 받았는데, 그 중 기억에 남는 몇가지를 저의 답변과 함께 소개하겠습니다. 
질문 : 검색 엔진의 인덱스 크기를 어떻게 측정하겠습니까?

답변 : 검색 엔진에 질의를 던져 리턴되는 문서의 개수를 측정한다. 이때, 질의어로는 'the'와 같은 모든 글에 쓰이는 단어(stopword)가 좋다. 그 이유는 가장 많은 문서를 포함시킬 수 있으며, 특정 주제에 관한 글만 샘플링하는 것을 막을 수 있기 때문이다.  즉, 통계에서 말하는 unbiased estimator가 되는 것이다.

질문 : 제한된(constant) 공간의 메모리를 가지고 임의의 배열을 랜덤하게 섞는 방법은 무엇입니까?

답변 : 링크로 대신합니다.
또한, 각 그룹에서 진행되는 프로젝트를 간단히 설명하고, "당신이라면 어떻게 하겠습니까"를 묻는 질문도 자주 받았습니다. 이런 질문에 대답하기 위해서는 평소에 논문을 읽으며 '나라면 이 문제를 어떻게 풀었을까' 하고 생각해 보는 연습이 유용할 것 같습니다. 마지막으로, 대부분 인터뷰에서 Massively Parallel Processing (Hadoop / MapReduce)에 대한 경험을 물었는데, 그만큼 이 분야 종사자들에게는 필수 소양이 된 듯 합니다. 

마치며
예전에 컨퍼런스를 다녀와서 새로운 세상에 눈을 뜬 느낌이었는데, 이번 인턴 역시 색다른 경험이 될 것 같습니다. 그동안 검색 연구를 하면서 실제 사용자 데이터를 다루는 환경에 대한 갈증이 있었는데, 이번에 해소하고 돌아오려고 합니다. 레드몬드 인근 지역은 여름 날씨가 참 좋다고 하더군요. 인턴 생활에 대해서도 회사 규정에 저촉되지 않는 범위에서 종종 포스팅하겠습니다.

추가 : 마이크로소프트 면접에 대해 잘 정리된 자료가 있어 소개합니다.