이번 포스트는 일기처럼 쓰고싶은 내용이다.
그래서 제목도 일화라고 붙였다.
내가 아무것도 없을때 마주한 첫 면접.
이 면접을 통과하면 넷마블 게임즈 인턴 기회를 얻을 수 있었다.
솔직한 심정은 개인적으로 이 때 기회를 주신 기술 면접관님께 정말 감사하다.
아마 이 때 통과하지 못했다면 소프트웨어 개발은 아마 나랑은 연관없는 일이 되었을텐데.
기획 분야나 아니면 공무원 시험 준비나 아니면 영업 분야에 몸 담았을텐데.
학점 3.0에 영어 점수도 전공 자격증도 하나 없이 아무런 검토도 하지 않았던 자소서로 임했던 과정.
지금 다시 이 자소서를 돌아보면, 2년 뒤 조금은 완성된 자소서에 비하면 정말 투박하지만 뭔가 시작하는 느낌이 새록 든다.
이 인턴 과정동안 모두의 마블 게임 클론을 만들면서 정말 개발이 내 삶에서 하고싶은 일이구나를 느꼈다.
또한 인턴 기간동안 만난 사람들과 함께했던 일은 정말 즐거웠는데.
본론으로 들어가면
이 면접동안 받은 기술 질문은 총 3개이다.
(1) 데이터 네트워크 과목인 OSI 7계층에 대해 말해보시오.
(2) TCP와 UDP의 차이를 말해보시오.
(3) Bubble Sort에 대해서 손코딩해보시오.
앞선 두 가지 이론에 대해서 답하는데 이 땐 정말 패기로운 면접이었다.
OSI 7계층 말해보라던 질문에 대한 내 답변은 이랬다.
음 죄송한데 제가 배운것은 총 5계층밖에 없는데 이것만이라도 말해도 되겠습니까?
그러자 흔쾌히 해보라고 하셨던 면접관님.
솔직히 OSI 7계층은 이 때 처음 들었다. 후에 면접이 끝나고 찾아보니
OSI 7계층과 좀 더 간소화시킨 인터넷 5계층이 있었는데, OSI 7계층이 더 공식으로 인정받는 계층이다.
이 질문부터 이미 면접은 망했다고 생각했다.
내 맘대로 7계층 답하랬더니 5계층 답하고있으니 스스로 생각해도 답이없어 보였다.
그래서 오히려 더욱 마음 내려놓고 임할 수 있었던 것 같다.
뒤이어 TCP와 UDP의 차이는 그래도 핵심은 알고있었기에 잘 넘어갔고 마지막으로 Bubble Sort에 대해 물어보셨다.
면접관님: 혹시 Bubble Sort에 대해서 저 앞에서 손 코딩 할 수 있겠어요?
이 질문을 들었을 땐 정말 진심으로 멍했다.
손 코딩이라니...
손 코딩이라니.............
손 코딩이라니.............................
황당한 건 그래도 기술면접 준비하는 기간동안 여러 기출 질문들을 찾아봤고
아주 높은 빈도로 Sort에 대해서 나왔기 때문에 내가 가장 자신있게 준비했던 부분도 바로 정렬 알고리즘이었다.
특히 Quick Sort와 Merge Sort는 달달 외울정도로 많이 준비했는데 Bubble Sort라니.
처음 들어본 Sort였다. (단순 이 중 for문이 정렬 알고리즘이라고는 전혀 생각도 안했기에)
이 때 솔직히 탈락을 많이 생각했다.
그래도 정말 인생에서 처음으로 온 기회를 그렇게 쉽게 놓치기 싫었다.
그런 마음이었는지 정말 말이 준비없이 그냥 튀어나오더라.
솔직히 Bubble Sort같은 건 처음 들어봅니다. 빅 오 수행시간 이점으로 전 항상 퀵 정렬과 머지 정렬, 힙 정렬들을
사용했지(실제론 한 번도 사용안했다.) Bubble Sort는 한 번도 안써봤습니다. 그래서 ...
라고 말하려는데 면접관님이 말을 잠시 멈추게하시곤 한 말씀하셨다.
면접관님: 그럼 Quick Sort 지금 손 코딩할 수 있겠어요?
그 때 난 정말 쾌재를 외쳤다. 만약 Merge나 Heap짜라고 했으면 그 당시엔 절대 못 짰을텐데 그래도 유일하게
다 외우고 있던 Quick 정렬이라니!
난 자신있게 '네!!!' 하며 대답하고 칠판에 섰다.
진짜 아무 생각도 안나더라.
내가 Quick 정렬을 짜는지 아니면 지렁이를 그리는지 몰랐다.
매개변수는 아무것도 없는 신기한 Quick 정렬 함수를 짜고 있는데, 마침 마지막 부분인 Swap() 함수를
쓰자 면접관님이 '됐어요. 이리와 앉아요.' 라고 말씀하셨다.
하
진짜 망했다.
내가 코드를 봐도 정말 말도 안되는 코드다.
그 뒤엔 꽤나 일상적인 질문들 성격이나 무엇을 했는지 자기소개서에 쓴 이 말을 뭔지 등등을 물어보셨다.
그리고 면접이 끝났다.
정말 알 수 없는 결과만을 기다리며 집으로 가는 버스에서 ... 정말 가슴이 떨렸다.
왜냐하면 바로 결과가 나온다고 했기 때문이다.
1시간쯤 스마트폰만 잡고 긴장하며 기다렸는데, 연락은 안왔다.
정말 불안했다.
그러다 긴장이 풀려서 깜빡 졸았는데, 대전에 도착할무렵 갑자기 손에서 진동이 '파바바바바밧' 울린다.
느낌왔다.
... 네이버 메일 알림.
그리고 그 알림을 보고는 정말 기뻤다.
비록 최종 합격이 아닌 직전 관문인 인턴 합격 메일이었지만 앞으로 그 좋은 곳에서 2달동안 다닐 수 있다는 것에 너무
흥분되고 좋았다. 정말 좋았다.
이제는 조금 마음이 퍼석거리기 시작하지만 이 때의 그 벅찬 감정을 다시 느낄 수 있는 나날들이 찾아왔으면 좋겠다.
확실한 건 면접이 망하건 잘되건 뒤집을 수 있는 기회는 그 면접장안에서 시간이 다하기전에 죽을듯이 부딪혀야 한다는 것.
그러고보니 이게 내 초심이었네.
'테크 > C++' 카테고리의 다른 글
[내가 받은 C++ 기술면접 질문들] - 스마트포인터의 존재 (6) (2) | 2019.09.07 |
---|---|
[내가 받은 C++ 기술면접 질문들] - 다익스트라 알고리즘과의 악연 (5) (4) | 2018.03.19 |
[내가 받은 C++ 기술면접 질문들] - malloc()과 new의 차이 (3) (9) | 2017.05.28 |
[내가 받은 C++ 기술면접 질문들] - 소멸자의 virtual 키워드 (2) (8) | 2017.03.18 |
[내가 받은 C++ 기술면접 질문들] - 개요 (1) (2) | 2017.03.18 |