[스크랩] 면접

IT 2008. 8. 18. 13:35

원문 : http://kldp.org/node/96950


안녕하세요, kldp 가입한지 얼마 안되었지만 좋은 글 들 읽으며 여러 도움을 얻고 있는 개발자 입니다.

어떤 게시물을 읽다가 정보 교환의 차원에서 제가 최근 받았던 인터뷰 질문들을 정리해 보면 재밌겠다는 생각이 들었습니다.

참고로 이 인터뷰 문제들은 중소 기업들 문제로서, intermediate나 senior 레벨 정도의 수준입니다. 제가 비전산 출신 독학에다가 석사 학위도 없는 근본 없는 사람인 데다가, 나이도 조금 되서 개발자로서는 퇴물에 속해서 여러 면에서 서류심사에서 통과하지 못한 경우가 대부분 이었습니다.

제가 이것 저것 관심이 많아서 경력이 없는 분야에도 지원을 많이 했습니다만, 대부분 운 좋게도 면접관들이 제가 선택한 언어에 대해 질문들을 해 주었습니다. 지원 했던 회사들이 요구하는 언어들 중 제가 주로 사용하는 C++/C# 이 아닌 PHP, ActionScript, JavaScript 등의 언어에 대해서는 제 스스로가 프로젝트 수행을 위해 언어 습득을 해가면서 단기간에 진행 한 것들이라서 랭귀지 자체나 관련 환경에 대한 심화된 문제보다는 주로 portfolio에 대한 질문으로 이어졌고, 그 외에 기억 나는 몇가지를 추려보겠습니다. 수준은 그리 높지 않은 것들이었습니다.

 

문제에는 몇가지 예(코드)들이 주어진 경우가 있는데, 그 실재 코드들은 생략합니다. 실제 정확한 질문내용이 중요하겠지만, 우선은 대충의 질문 내용을 정리해 보는것도 좋지 않을까 생각해 봅니다.

참고로 상당히 많은 면접을 보았지만, 많이 퇴짜를 받았습니다. 전화상 외국어 통화에 문제가 있던 적도 있고 하지만, 뭐 변명은 하지 않겠습니다. 모든 것이 제 실력의 결과니까....... 어흑..

 

1. 프로그래밍 언어에 대한 문제는 대부분 지원자의 언어 사용상의 바른 지식과 실제 습관을 파악하는 수준이었던 것 같습니다.

 

a) C++. 완전 가상함수는 무엇이고 왜 필요한가?
b) 일반. 뮤텍스와 세마포어의 차이는 무엇인가? 이경우 무엇을 사용해야 하는가?
c) 일반. 데드락이 생성되는 조건과 그 해결 방법은 무엇인가?
d) 언어 무관 (주로 c++또는 Java/C#) 이 두 base class가 있다. 두 클래스로부터 파생된 클래스가 있는데, 이 코드들은 드라이버에 사용되는 것들로서 파생된 클래스는 최소한의 사이즈를 가져야 한다. 두 base class의 일부 기능만을 가진 이 자식클래스에서 실제로 사용되지 않는 멤버는 완전히 제거하려면 어떻게 해야 하는가?
e) STL: iterator란 무엇인가? STL의 ???? 라는 것의 역할은 무엇인가?
f) C# : 이 B query 결과에는 가변적(수,타입)인 테이블들이 존재한다. 이 다양한 결과 처리를 하는 부분을 최소한의 코드로 처리해 본다면 --> reflection으로 구현했습니다. 이에 대해 추가 질문 --> 수행속도에 있어 어떻다고 생각하는가> --> 아뿔싸..

 

2. 알고리즘 또는 riddle.


인터넷에 떠도는 google이나 여러 다른 회사의 색다른 질문은 못받아 본 것 같네요..

g) 당신은 가이드고, 6x6 의 이 지역 left top에서 ,right bottom으로 관광객들을 최소한의 비용을 들여 이동시켜야 한다. 각 cell 사이에는 이동 비용이 서로 다르며, 한 번 visit한 cell로는 돌아갈 수 없다. 어떻게 할 것인지 pesudo code로 기술해 보라.
h) 이미 정렬된 배열이 있고, 그 내용은 알 수 없다. 최소한의 스텝으로 원하는 데이터를 찾는 방법은?

 

3. Networking

 

제가 최근 면접 본 회사들의 경우는 네트워크 깊숙한 레벨까지 들어가는 회사는 없었던 것 같습니다.

i) 패킷이 생성되서 전달되기 까지의 과정을 최대한 상세하게 설명하라.
j) 이 경우는 무슨 명령어로 상태를 확인하는가? 이 경우는? 그럼 이 경우는 무엇이 문제일까?
k) OSI 7layer 를 설명 --> 아... hotdog 인가 뭔가 까먹었다.
m) 당신이라면 최소한의 돈으로 어떻게 웹서버의 로드분산을 수행하겠는가?


4. Portfolio 검증

 

n) 당신이 관리하는, 또는 멤버인 open source 프로젝트가 있는가? -> sourceforge 로긴 -> 그럼 이 파일에서 당신의 코드는 무엇인가, 이 함수의 역할은 무엇인가?

 

5. 일반 이력 검증


o) 당신의 이전 회사 A의 경우 B제품에서의 역할과, 실재 수행했던 내용을 설명
p) 당신의 이력 중 가장 힘들었던 일은 무엇이었고 어떻게 해결했는가?

 

6. 협업 및 management skill

 

r) 사용 경험이 있는 config. man. tool 은?
s) 당신이 경험한 개발 방법론은? 실 례 는? 방법론의 차이점은?
t) 이러한 경우 당신은 어떻게 이 실타래를 풀어나갈 것인가?

 

7. 인성확인


u) 당신은 개발자인가 매니저인가?
v) 당신의 5년후 이회사에서의 모습은 무엇인가 ? --> 이게 정말 tricky한 질문입니다.
w) 다른 지원자 대신에 당신을 뽑아야 할 이유는 무엇인가?

참고로 회사마다 role 마다 중점을 두고 물어보는 내용이 서로 다르기 때문에 위 리스트는 여러 회사의 질문 내용이 포함되어 있습니다. 질문 자체를 이해 못한 것도 있고 해서 빠진 내용도 있는 것 같네요..
면접 전에 미리 interview question들을 찾아 읽어 보는것을 최근에야 시작했습니다...

너무 생각 없이 구직을 했던 일인...

 

추가로 Design pattern에 대한 질문도 있었군요. 그리고 몇가지 더..

 

a. 자주 사용하는 design pattern은?
b. 이 패턴을 사용하는 경우는? 이 패턴과의 차이는?
c. C++로 Garbage collector을 구현한다면?
d. Ajax 경험이 있는가?
e. MVC에 대해 설명. ASP.NET와 Flex의 경우 각각 M/V/C에 해당 하는 부분은?
f. 사용 경험이 있는 debugging 툴은?

 

원글에보니 오래전에 제가 interviewer로서 질문한 내용이 끼어있는것 같습니다. 그래서 약간 과장된 것으로 비쳐질 지 모르겠지만, 이런 류의 질문내용이 나올 수 있다는 것 정도로 정보 공유가 되는 계기가 되었다면 그것으로 좋겠습니다.

'IT' 카테고리의 다른 글

Optimize PC  (0) 2008.08.20
개발자 볼것  (0) 2008.08.18
RIA,SaaS  (0) 2008.08.18
SaaS  (0) 2008.08.18
Will Cisco Take on Google and Microsoft?  (0) 2008.08.12
Posted by 으랏차
,