모든 과정을 진행하며 항상 가졌던 마음가짐은 '좋은 경험이라 생각하고 부담 갖지 말자'는 마인드였다.
부담 없이 가벼운 마음으로 준비했지만 절대 대충 준비하지는 않았다..!
이번 인턴십 선발 과정은 다음과 같다.
서류
이번 인턴십은 서류를 작성해서 제출하면 모두에게 코딩 테스트 기회를 주었고,
코딩테스트가 마무리된 후 코테 점수와 서류를 합산해 면접자를 뽑는 방식이었다.
서류에는 프로젝트 경험, 자기소개서를 적어서 제출했다.
자기소개서는 경험에 대한 설명을 중심으로 적었다.
읽는 분들이 내가 어떤 걸 해왔는지 빠르게 파악할 수 있도록, '어떤 경험을 했고 무엇을 느꼈는지, 사용한 기술에 대해선 왜 사용했는지'를 간결하게 적으려고 노력했다.
주 프로젝트로는 이전에 속해있었던 동아리 홈페이지를 만들었던 경험과 교내 대회? 에서 만든 프로젝트를 적었다.
기능을 추가하며 아키텍처를 바꾸고 성능을 생각하며 설계했던 것을 위주로 고민했던 문제들과 그 해결 방법을 자연스레 녹이려고 했다.
코딩 테스트
2020년 5월부터 백준을 조금씩 풀었다.
그때는 언어를 익히기 위해서 정말 기초적인 것들만 풀었는데,
이후 학교에서 자료구조와 알고리즘 수업을 들으면서 조금씩 어려운 문제에 도전했다.
종만북 이라 불리는 책도 읽으면서 공부했었고(아주 어렵다..), 유명한 블로그들과 유튜브들을 보면서 공부했다.
알고리즘을 공부해왔지만 카카오 코딩테스트는 추가로 대비를 해야 할 필요가 있다고 생각했다.
지난 겨울방학동안 국내 코딩테스트 대비를 위해 프로그래머스 문제풀이 스터디를 했었는데 그게 많이 도움이 되었던 것 같다.
카카오와 백준은 서로 문제의 느낌이 많이 다르기 때문에 반드시 따로 대비를 할 필요가 있다.
그래서 테스트 전 주에 카카오 인턴 기출문제를 쭉 풀었고 감각을 올리는데 도움이 되었다.
1번 문제는 MBTI와 관련된 문제였는데 hash map을 사용하는 문제였다.
2번 문제는 슬라이딩 윈도우 문제였는데 나는 좀 꼬아서 어렵게 풀긴 했다.
다 풀고 최적화 방법이 생각났지만 시간을 아끼기 위해 그냥 두기로 했다.
3번 문제는 완전탐색에 중복을 제거하면 되겠다는 생각에 DP로 풀었고 1번 문제보다 빨리 푼 것 같다.
4번 문제는 다익스트라를 사용하는 것이 정해라고 생각되는데, 나는 다익스트라를 어떻게 구현할지 감이 안 와서 dfs를 사용해 노드별 최솟값을 메모이제이션 하도록 해서.. 정확하게 풀 수는 있다고 생각했지만 반드시 시간 초과가 나는 로직이었고, 마지막 테스트 케이스 하나를 잡지 못했다. branch and bound로 해당 테케만 쏙 빼보려고 했으나 실패!
5번 문제는 시뮬레이션 문제였다. 삼성 기출문제 느낌과 비슷했고 정확성만 맞추었다.
카카오는 동점자에 한해서 부분 점수를 본다고 한다! 그러니까 완전 정답이 아니더라도 포기하지 말자!
이후 코테와 서류를 통합해 합격자가 발표 났고, 면접대상자가 되었다!
여기까지는 어느 정도 예상은 했는데
막상 면접을 봐야 한다니 정말 막막한 심정이었다.
면접
면접 준비는 항상 같이 공부하고 이번 인턴십도 같이 지원했던 형과 함께 준비했다.
약 10일? 동안 운영체제, 네트워크 위주로 CS를 준비했고, 만들었던 프로젝트 복기, 자기소개서 위주의 질문 리스트를 뽑아서 말해보는 방식으로 연습했다.
CS 면접은 매일 만나서 오늘 공부할 파트를 정하고, 그 파트에 대한 예상 질문을 만들어 서로 질문해주는 방식으로 준비했다.
이 과정이 시간이 엄청 빨리 갔다. 20분쯤 지났나 싶었는데 1시간이 가있고.. 그만큼 집중을 했기 때문에 힘들기도 했고 재밌고 뿌듯했다.
가장 좋았던 점은 이번에 면접 준비를 하면서 CS를 공부하니 이전과는 달리 정말 날카롭게 공부를 할 수 있었던 것 같다.
내가 잘 모르는 부분은 바로 탄로 나 버렸고, 그 부분을 다시 이해하고 나만의 언어로 만드는 과정에서 진짜 많이 배울 수 있었다.
특히 '~에 대해서 설명해 주세요'와 같은 류의 질문은 답변하는 입장에서 너무 어려웠던 것 같다.
질문 받은 부분에 대한 지식은 당연히 있어야 하고, 면접 분위기나 면접관의 특성에 따라 답변에 대해 어느 정도의 깊이로 설명할지, 어떤 순서로 설명할지 등을 순식간에 머릿속에서 정리해서 답변해야겠다는 생각이 크게 들었기 때문이다.
학교에서 CS를 공부했고 CS 스터디를 하면서도 말로 설명하면서 공부했었다. 하지만 이번 면접 준비는 배웠던 지식들을 확실히 구체화시킬 수 있었던 좋은 경험이었다.
프로젝트 복기는 예전에 짠 코드를 보면서 이걸 왜 썼고, 여러 시도를 통해서 뭘 배웠었는지 회상하는 느낌으로 진행했다.
아쉬웠던 프로젝트였지만 아키텍처에 관해 오래 생각했던 걸 바탕으로 세부적인 코드의 쓰임이나 비즈니스 로직을 다시 살펴봤다.
이때 사용했던 Spring, Java에 대해서도 기본 개념을 쭉 훑어보았다.
자기소개서 질문 대비는 자소서를 다시 읽으면서 '내가 면접관이라면 궁금해서 물어볼 법한 질문' 리스트를 작성해서 답변을 쭉 적어보았다.
예상 질문이 70개 정도 나왔었고 이때 큰일 났다는 생각이 들었다.
답변을 제대로 못할 것 같은 질문이 많았기 때문이다🥲
그래도 최대한 과거에 했던 고민들과 해결 방법을 끄집어내서 답변해보려고 노력했다.
면접 당일
오전 9시에 학교 수업이 있어서 들으러 갔다.
그런데 아직 면접은 시작도 안 했는데 갑자기 엄청 떨렸다. 수업에 집중이 안됐고 거의 1시간 동안 엄청 걱정하고 긴장했다.
그랬더니 컨디션이 확 안 좋아져서 바로 다음 10시 30분 수업을 자체 휴강하고.. 그냥 집으로 와서 쉬었다.
아침도 안 먹었지만 점심도 안 먹었다. 아, 초코파이 2개 먹었다. 긴장해서 배 아플까 봐..
면접 30분? 전부터 카메라를 보면서 자연스럽게 자기소개를 하는 연습을 했다.
사실 카메라로 본 얼굴이 맘에 안 들어서 마사지만 20분 동안 한 것 같다
입장 시간이 되어서 화상 채팅방에 입장했다.
면접은 2:1(나)로 60분 동안 진행했다.
1분 정도 자기소개를 하고 코딩테스트 관련 질문을 받았다.
마치 실제로 내가 풀었는지를 검증하기 위해 '왜 이렇게 풀었는지'와 같은, 생각의 흐름을 묻는 듯한 질문이었다.
절대 모범 답안을 말하진 못했다 생각하고, 정말 솔직하게 다 대답했다.
이후로 프로젝트 관련 질문들과 자기소개서, CS 관련 질문을 받았다.
약 40개 정도의 질문을 받았던 것 같고, 내 경험과 기술에 관해서 궁금한 점을 물어봐 주시고, 꼬리 질문식 대화형으로 진행되었다.
대부분의 질문은 역시 내가 적었던 서류에서 나왔다.
면접 동안에 떨지 않았고, 크게 긴장되지 않았다. 질문에 답변을 제대로 못 드렸을 때는 순간 긴장되었지만 그것마저 금세 사라졌다.
모든 질문에 솔직하게 대답했고, 잘 모르더라도 최대한 답변하려고 노력했다.
태어나서 처음 본 기술 면접이었다.
첫 면접을 카카오 개발자 분들과 함께하게 되어 영광이었고 정말 좋은 경험이었다.
끝나고 후련하면서도 나름 만족스러웠다. 이때는 대답 못한 질문보다는 면접의 전체적인 분위기가 기억에 남았고 마지막 질문들에 대해서 답변을 잘했다고 생각했기에 괜찮았다고 생각했다.
하지만 복기를 해보니 제대로 대답 못한 질문들이 계속 생각났고, 내 얕은 지식의 깊이를 바닥까지 들킨 느낌이 들어서 합격은 힘들 것 같았다..
그래서 기대 반 체념 반의 마음으로 합격 날까지 기다렸다.
발표 당일.. 피곤해서 3시까지 침대에 누워있었는데, 같이 면접 본 형의 전화가 와서 결과가 나왔다고 알려줬다.
비몽사몽으로 결과를 확인했는데 합격을 했다!
기뻤지만 슬펐다. 다 같이 붙었으면 얼마나 좋았을까... 항상 응원하고 너무 감사하고
모두 잘 될때까지 끝까지 같이 공부했으면 좋겠다.
자만하지 않고 겸손하게 2달간 진짜 열심히 해 보겠다.
지금과 똑같이 좋은 경험이 될 것이라는 마인드로 부담 없이, 하지만 열심히 할 것이다!
'Life' 카테고리의 다른 글
Docker 각티슈 케이스 - docker container (11) | 2023.03.08 |
---|---|
[회고] 2022년 전체 회고 (개발, 졸업, 취업) (23) | 2022.12.22 |
2022 SK ICT Family 개발자 채용 챌린지 후기 (2차) (0) | 2022.03.25 |
2022 SK ICT Family 개발자 채용 챌린지 후기 (1차) (0) | 2022.03.12 |
알고리즘과 개발 (0) | 2021.07.28 |