티스토리 뷰

Careers

N사 신입 면접 경험

Voyager Woo 2015. 11. 25. 01:38
반응형

서론. 


요새 김종배 선생님의 시사통이라는 프로그램을 잘 듣고 있습니다. 현재 우리 사회의 이슈를 잘 짚어 주셔서 재미있게 듣고 있죠. 그런데 듣다가 굉장히 생소한 이야기를 들었습니다. 잠깐 나온 이야기인데요, 


'지적 재산권이 사회의 지적인 성장을 방해한다' 는 이야기 였습니다. 여러 가지 고민 끝에 그 말이 맞는 것 같다고 생각했습니다. (그 이유는 지금 자세히 다루지 않겠습니다.) 그리고 오픈 소스가 가득한 IT 세계에서 일한다는 것이 꽤 맘에 들었습니다. 


그래서 저도 제 경험을 좀 공유해 보려고 합니다. 한국에서 유명한 포털사 N사 면접 후기입니다. 


본론.


회사를 다니다가 가벼운 마음으로 (마지막이다 하는 기분으로) N사 신입공채에 지원했습니다. 때마침 그 직전에 포트폴리오를 만들어 둔게 있었고, 생각보다 자소서가 짧아서 정말 쉽게 제출했습니다. 영어 점수는 없었습니다. 제가 재직 중이라는 것도 다 공개해두었습니다.


서류에 덜컥 붙었습니다. 면접을 준비했습니다. 주변의 조언과 잡플래닛에서 면접 후기를 다 뒤져서 예상 질문 리스트를 뽑았습니다. 질문의 범위는 자료구조, 알고리즘, 컴퓨터구조, 운영체제, 네트워크, 프로그래밍 언어 같은 컴퓨터 과학 기본적인 질문이 많았습니다. 솔직히 자료구조, 알고리즘 이외의 과목들은 다시 공부할 엄두가 나지 않았습니다. 우선 질문 답변만 찾아두고 (자료구조는 좀 자신있었고) 알고리즘 공부를 했습니다.


첫번째, 전화 면접을 봤습니다. 굉장히 긴장했습니다. 모르는 질문 나오면 찾아보려고 노트북도 대기시켜놨지만, 긴장해서 써먹지 못했습니다. 제가 받은 질문은 기억나는 대로 정리하면 아래와 같습니다. (누락된 질문도 있습니다.)


1. 테스트 코드 관련 질문

2. 프로젝트 설계 내용

3. 프로세스와 스레드

4. 프라이어리티 큐의 구조 설명 X

5. 테스트 코드 관련 질문

6. SQL 인젝션 방어 코드 X

7. 스프링 MVC란

8. 디스패처 서블릿이란? X

9. BO와 DAO란?

10. 알고있는 정렬 알고리즘과 그중에 좋아하는 정렬알고리즘 -> 퀵소트 머지소트 힙소트 설명

11. 스택과 큐 설명

12. 톰캣은 멀티 프로세스인가 멀티 스레드인가

13. 아파치는 멀티 프로세스인가 멀티 스레드인가

14. 오버라이딩, 오버로딩


X 표는 제가 제대로 답변하지 못한 질문 입니다. 전화 면접은 저의 이력서를 증명하고 기본적인 지식에 대해서 질문하신것 같습니다. 

제가 자소서에 생각없이 안드로이드 경험이 있다고 했지만 지금 저는 잘 모릅니다. 액티비티라는 것이 있다 정도로 알고 있는데요, 안드로이드 관련 질문을 하려고 하셔서 다른거 물어봐 달라고 이야기했습니다.


전화면접은 약 한시간 정도 했던것 같습니다. 


두번째, 덜컥 전화면접이 붙고 1차 면접을 보게 되었습니다. 준비는 비슷하게 했습니다. 전화면접 때 답변하지 못한 것들도 준비해갔습니다.

두번의 1대1 기술 면접을 봤습니다. 분위기는 나쁘지 않았지만, 정말 긴장되더군요. 특히 손코딩은 정말 힘들었지만 사실 재미가 있기도 했습니다.


[ 남자 면접관님 ]


1. 인상 깊었던 개발자 세미나 : 비폭력 대화 설명 - 잘 대답못함

2. 학부 시절 기억나는 과목 : 소프트웨어 설계 및 패턴

3. 피보나치 수열 재귀/반복문- 손코딩 

4. 퀵소트와 힙소트를 그림을 그리면서 설명

5. n개의 배열에서 k(k<=n) 번째로 큰수를 찾는 효과적인 방법 ->  잘 대답못함. 퀵소트 응용

6. 내 프로젝트들 소개


여자 면접관님의 경우는 쉬운 기초 문제를 내주셨는데 제가 그 기초가 부족했던것 같습니다. 정말 힘들었습니다. 특히 OS 또는 컴퓨터 구조의 개념을 묻는 문제는 정말 당혹스러웠습니다. 페이지폴트나 LRU캐싱 사실 별거 아닌데 대답을 못했습니다. ㅠㅠ



[ 여자 면접관님 ]


1. 십진수를 팔진수로 바꾸는 프로그램 - 손코딩

2. 아래 패턴을 프린트하는 프로그램 - 손코딩 

<패턴>

4321

432

43

4


3. 1000보다 작은 숫자 중 3과 5의 배수의 총합을 구하는 프로그램 - 손코딩

4. 프로세스와 스레드의 차이

5. LRU 캐싱 X

6. 페이지 폴트 X

7. 허프만 코드 X

8. 데드락

9. 가비지컬렉션

10. 힙과 스택

11. 퀵소트

12. 스프링 디스패처 서블릿

13. 이직하는 이유


열심히 준비하고 답변했지만, 아쉽게도 2차 면접까지는 가지 못했습니다. 그래도 면접 덕분에 많이 공부했고 자극을 받았습니다.


결론.


이제부터는 제 사설입니다.


과연 우리나라에서 제일 좋은 인터넷 회사에서는 왜 이런 질문을 할까 고민해봤습니다. (예전에 D사도 신입 면접을 봤지만, 비슷했던것 같습니다. 여기서도 물먹었습니다.) 이런 질문을 통해서 얻고자 하는 인재가 누구인가 고민했습니다.


우선은 컴퓨터 과학의 기초가 있는 학생을 뽑고자 하는 것 같습니다. 

회사에서 일할 때는 IDE를 쓰고 프레임워크를 쓰고 남이 만든 라이브러리를 씁니다. 좋은 도구가 널려있죠. 그런데 이해 없이 그렇게 쓰기만 하면 결국엔 문제를 일으킬 만한 것들을 만들어냅니다. 결국 도구에 대한 이해가 필요하다는 것이지요. 또한 해당 도구의 문제 해결범위를 넘는 문제를 해결하려면 결국 그 도구를 수정해야 하는데, 이 또한 도구에 이해가 절대적으로 필요합니다. 

제 짧은 사견으로는 이 세계에서 컴퓨터 과학의 기초 없이 이해한다는 것은 굉장히 어려운 일이라고 생각합니다. 그래서 컴퓨터 과학의 기초가 튼튼한 학생을 뽑고자 했던 것이겠지요.


두번째로, 순발력이겠지요. (제가 이 부분이 참 아쉽습니다.) 회사 생활하다 보면 급하게 들어오는 문제들이 많습니다. 순발력있게 문제를 분석하고 해결하는 능력이 참 중요하더군요. 


이제 문제는 내가 그런 인간이었느냐 인데... 

반성을 하게 되네요. 도구를 잘 다루는 것을 가지고 좀 거만했던 것 같습니다. 

꿈이 큰 만큼 더 공부해야겠습니다.  


도움이 되길 바랍니다.

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함