-
네카라쿠배를 꿈꾸는 개발자를 위한 꿀팁 2탄_현직자가 전하는"코딩테스트/면접, 이렇게 준비했어요"IT 이야기 2023. 1. 9. 15:23
네카라쿠배 포함, 성장하는 스타트업으로의 합류를 꿈꾸는 개발자를 위한 꿀팁 2탄! 1탄 : 이력서/포트폴리오 꿀팁에 이어, 현직 개발자들이 말하는 '면접 준비 꿀팁'을 준비했습니다. 꼭 네카라쿠배로의 합류를 준비하지 않아도, 면접을 앞둔 개발자라면 큰 도움을 받을 수 있는 이야기들을 담았으니 스-윽 읽어봐 주세요.😉 *프로그래머스의 인터뷰는 현재 진행형! 네이버의 인터뷰는 준비 중입니다. 인터뷰가 준비되면 이 게시글에 업데이트하겠습니다. ٩( ᐛ )و
🍯 코딩테스트 준비 TIP
summary
합격한 분들이 코딩테스트를 준비할 때의 공통점은 많이, 여러번 공부했다는 것이었어요. 지금 코딩테스트를 앞두고 있다면, 프로그래머스처럼 많은 문제를 연습할 수 있는 사이트를 활용해 보세요!이전 회사에도 지금과 같은 직무였는데 생각했던 업무와 실제 업무는 많이 달랐어요. 그래서 이직 준비를 할 때도 다른 직무에 지원한다는 느낌으로 준비했고요. 이직을 하겠다고 마음을 먹었던 것은 작년 이맘때쯤이었는데 점심시간이나 퇴근 후, 주말 등의 시간을 활용해 자기소개서를 작성하고 코딩 테스트를 준비했어요. 아무래도 업무와 이직 준비를 병행하는 것이 어려워서 퇴사 후 한 달 정도 쉰 후에 3개월 정도를 제대로 준비해 이직하게 되었어요.
코딩 테스트 준비는 백준과 프로그래머스를 이용했고요. 기업 채용 소식은 자소설닷컴, 프로그래머스, 원티드, 로켓펀치, 게임잡에서 매일 확인했어요. 같은 관심사를 가지고 있는 사람들이 모인 오픈 카톡방에서 모르는 것을 질문하거나 공모전 팀원을 구하기도 했어요.
알고리즘은 지금도 여전히 저에게 어려운 부분인데요. 그래도 조금이나마 제 경험을 비춰본다면, 다른 분야도 물론 그렇겠지만 코딩테스트는 특히 꾸준히 해야만 실력이 느는 분야인 것 같아요. 디자인 전공생이었던 저는 다른 취업을 준비하는 친구들에 비해 사고력이 약했던 것을 스스로 많이 느끼고 있었고, 그러한 부분을 많은 문제를 풀어봄으로써 극복하려고 했었어요. 딱 몇 문제를 기준으로 자신감이 생기기 시작했다는 건 없지만, 풀이한 문제들의 수가 쌓이면서 어느 시점부터 코딩테스트에서 풀었던 문제들과 비슷한 유형의 문제들을 만나기 시작했어요. 그때부터 저만의 공부 방법을 찾은 느낌이었어요.
코딩테스트에서 떨어졌을 때, 결과를 기대하지 않으려고 해도 막상 ‘불합격’ 통지를 받으면 멘탈이 많이 흔들렸어요. 이건 취준을 하신 모든 분들이 경험해보셨을 거라 생각해요. 취준을 할 당시에 GitHub에 1일 1커밋을 실천했었는데, 그게 당시에 흔들리는 멘탈을 많이 잡아줬던 것 같아요. 매일매일 습관처럼 개발을 하다 보니 불합격 통지를 받아도 멘탈의 흔들림과 관계없이 습관처럼 책상에 앉게 되더라고요. 그때는 작은 습관이었지만, 지금 생각해보면 그 작은 학습량들이 모여서 큰 변화를 만들어냈던 것 같아요.
서적을 따로 사진 않았고요. 문제 유형별로 필요한 알고리즘이 다르고 알고리즘을 미리 공부했어도 실제 테스트에서는 생각이 잘 나지 않거나, 알고 있던 내용도 어려울 수 있잖아요. 그래서 최대한 문제를 많이 풀어보고, 문제에 필요한 알고리즘을 찾고, 실제로 알고리즘을 구현해보기도 하면서 눈에 익히려고 노력했습니다.
코딩테스트를 준비할 때 프로그래머스와 함께 백준 사이트를 많이 이용했어요. 프로그래머스에서 문제를 풀어보고, 문제를 다 풀면 백준에서 찾아보는 식으로 공부했습니다. 특히 프로그래머스와 백준에서 진행하는 대회나 챌린지에 여러 번 참여했는데요. 실제 코딩 테스트 환경을 느껴보고 싶어서 많이 참여했던 것 같습니다.
체감하는 난이도는 중상정도 였어요. 조금 난이도가 있는 편이었던 것 같은데요. 저는 21년 초에 처음으로 코딩 테스트를 준비하기 시작했어요. 유튜브를 보면서 알고리즘을 공부했고, 백준이랑 프로그래머스의 문제들을 하루에 두세 개씩 풀면서 세 달 정도 연습했어요. 취업 준비 기간에는 다른 사람들과 프로젝트를 준비하느라 취업 직전에는 코딩 테스트 연습을 많이 못했지만요.
유튜브는 동빈나님 유튜브를 봤어요. 동빈나님의 유튜브는 주제별로 재생목록이 잘 구성되어 있거든요. 영상을 쭉 훑어보면서 개념을 익히고 문제를 풀었어요. 이런 방식으로 공부하면서 코딩 테스트에 대한 감각을 키웠던 것 같아요.
🍯 면접 준비 TIP
summary
면접은 채용 공고 자격요건의 기술 공부하기, 내 프로젝트 살펴보기 두 가지만 꼼꼼하게 준비해도 문제없을 것 같아요! 면접을 앞두고 있다면 새로운 것을 공부해 준비하기보다, 이전에 배웠던 것이나 경험한 프로젝트를 다시 한 번 정리해 보면 어떨까요?준비 과정의 8할은 제가 진행했던 프로젝트를 잘 설명할 수 있도록 정리하는 것이었어요. 제가 진행했는데 설명을 못 하면 전문성이 떨어져 보인다고 판단했기 때문입니다. 나머지는 기본적인 CS 지식을 준비했습니다. 기술 면접을 대비하는 일종의 기출문제 형식으로 깃허브나 블로그에 많이 준비되어 있거든요. 그 내용들을 모두 알면 좋겠지만, 쉽지 않기 때문에 제가 지원하고자 하는 포지션에 적합한 기술 스택 위주로 준비했어요.
라인 게임즈에서는 자격조건 및 우대사항에 Java, Spring, MySQL, AWS 등이 언급되어 있었기 때문에 해당 기술들 위주로 준비했습니다. 대체로 아주 새로운 개념을 외우려고 하기보다는, 제가 사용해봤거나 이미 알고 있는 내용을 잘 설명할 수 있는지 확인하면서 준비했어요. 모르는 건 어쩔 수 없는 부분이고, 안다고는 했는데 설명을 못하거나 모호하게 말하는 경우라면 학습의 깊이가 얕아 보일 수 있다고 판단했습니다.
난이도는 제가 신입이라는 것을 배려해주신 건지는 모르겠지만, 기본적으로 알아야 할 HTTP 통신의 전체적인 흐름, Nodejs를 사용한 이력을 언급하시면서 그 내부가 어떻게 실행되는지에 대해 질문하셨습니다. 한 언어를 배우면서 해당 언어를 잘 파악하고 사용하는지를 물어보시는 것 같았어요. 마지막으로, 좋았던 점은 면접관님께서 제가 지원한 분야가 어떤 업무를 맡고 있는지를 설명해주셨어요. 업무에 관한 내용을 들으니 확실히 많이 배울 수 있는 곳이겠다고 느꼈습니다.
서류 접수 전에 코딩 테스트를 진행했었어요. 코딩 테스트 준비는 따로 하지는 않았고, 대신에 면접 준비를 했어요. 면접 난이도는 중상 정도였던 것 같아요. 기술 면접 위주였고, 평소에 '왜?'를 많이 생각하는 개발자라면 쉽게 대답하실 수 있을 것 같아요. 기억에 남는 질문은 제가 진행한 프로젝트에서 겪은 어려움과 어려움을 해결한 과정에 대한 질문이었어요. 보통은 지원자가 기억에 남는 프로젝트 중에서 선택해서 대답하는데 특정 프로젝트를 콕 집어서 질문을 주셔서 기억에 남았어요.
쿠팡에서 주로 쓰는 언어 스택이 자바인데요. 자바를 한 번도 안 해본 상태에서 면접을 들어가게 됐어요. 그래서 기술 스택보다 제가 가지고 있는 코딩 역량을 더 어필했었는데 이 부분이 아쉬웠어요. 면접을 보기 전에 회사에서 어떤 언어를 사용하고 있는지 미리 알고 가는 것이 좋을 것 같다는 생각을 했습니다.
하지만, 입사 후 자바를 사용하지 않아도 교육과정을 통해서 기술 스택을 배울 수 있는 기회가 있었습니다. 쿠팡의 “커리어 전환 프로그램"인데, 내부적으로는 “트랜스포머"라고 불립니다. 지금 쿠팡에서 사용하는 기술 스택이나 언어에 익숙하지 않더라도, 또 이커머스 분야가 아닌 여러 다른 분야의 경력이더라도, 충분히 인정받고 지원하고 전형을 통해 통과할 수 있는 전형이었습니다. 저는 Java 언어를 주력으로 다루진 않아서 면접시엔 Python을 사용했고 통과할 수 있었습니다.
우선 알고리즘 공부와 손코딩을 했어요. 알고리즘은 프로그래머스나 백준 문제를 풀어보면서 준비했습니다. 준비하면서 제가 풀어 본 문제를 남에게 쉽게 전달해보는 연습을 했어요. 그 다음으로는 프론트엔드와 CS 지식을 공부했어요. 프론트엔드는 JavaScript를 중심으로 웹의 전반적인 지식들을 공부했어요. 구글 검색 창에 '프론트엔드 면접 질문' 이라고만 쳐 봐도 좋은 자료들이 많습은데요. CS 지식은 범위가 광범위하여 많은 부분을 꼼꼼하게 준비하기 어려워요. 많이 나올 만한 주제 위주로 정리하여 공부했고, 재엽님 깃허브에 있는 자료를 주로 참고했습니다. 이 부분은 제대로 알고 있는지 확인하는 것이 중요해서, 질문 리스트를 만들어 질문을 보고 답 해보는 연습을 했어요. 마지막으로는 제가 한 프로젝트를 다시 한 번 정리했어요. 저에게는 너무나도 익숙한 프로젝트였지만 다른 사람들에게 설명할 때, 어떻게 해야 효과적으로 설명할지를 준비했습니다. 그 프로젝트에서 사용한 구조나 왜, 어떻게 그 기술 스택을 썼는지 프로젝트에 대한 기술적 질문에 대해 대비비했어요.
면접 준비하면서 어려웠던 점은 생각보다 준비 해야 될 것이 많았다는 점이에요. 위에서 준비한 내용을 제대로 준비하려면 꽤 오랜 시간이 걸리며, 중간에 많이 지칠 수도 있습니다. 특별한 팁은 없고, 준비 해야 되는 리스트 만들어 놓고 오늘 해야할 일을 오늘 묵묵히 해나가는 정면 돌파가 답이 아닌가 생각합니다.
우선 1차 면접은 실무자분들과 온라인으로 봤어요. 면접관은 열 분 정도였고, 기술적인 부분 위주로 질문해 주셨어요. 2차는 1차보다 높은 직급의 분들과 1대1 면접을 봤습니다. 2차 면접도 기술적인 질문이 대부분이었어요. 1차에서 이 문제에 대해 잘 대답하지 못했는데 알고 있는지, 이에 대해 다시 대답해 줄 수 있는지 물어보기도 했고요. 전체적인 분위기는 1차와 2차가 비슷했던 것 같아요.
질문들이 어렵다기보다는, 저의 이력서를 보시면서 이 프로젝트에서는 왜 이런 기술을 썼는지에 대해 물어보는 질문이 많았어요. CS에 대한 질문도 있었고요. 면접을 본 지 오래돼서 질문이 잘 기억은 안 나지만, 대부분 스스로 생각하는 과정이 필요한 질문들이었어요.
1차 기술인터뷰는 두 가지 세션으로 구성되어 있는데, 우선 1차는 라이브 코딩을 진행하고 있어요. 면접관이 들어오셔서 지원자와 함께 라이브 코딩을 진행하는데요. 문제가 주어지면 이 문제를 어떻게 해결할지 면접관께 설명을 드린 후에 코딩을 하는 방식이에요. 이 과정에서 제가 다른 회사와 다르다고 느낀 것은 커뮤니케이션을 적극적으로 한다는 것이었어요. 지원자가 문제를 푸는 중에, 잘못된 부분이 있으면 면접관께서 직접 이야기해 주시고, 해당 코드는 어떤 의미인지 소통하며 진행해 주셔서 어렵지 않게 풀어나갈 수 있었어요.
다음으로 아키텍처 인터뷰를 진행하는데, 이때는 기능을 만들 때 어떻게 효율적으로 설계할 것인지, 트래픽을 어떻게 처리할 것인지를 주로 물어봅니다. 기본적인 알고리즘을 어떻게 풀어낼 것인지, 어떻게 소통하는지가 핵심이었던 것 같아요. 면접을 위해 따로 특별히 준비한 것은 없고요. 알고리즘 문제를 해결하는 실력을 기르려고 했던 것 같고, 라이브 코딩은 센드버드에서 사용하고 있는 툴에 대해 익숙해지려고 노력했어요.
현직자들의 코딩테스트와 면접 꿀팁을 모두 확인하셨나요? 준비한 방법은 조금씩 다르지만 '꾸준함'이라는 공통점을 가지고 있는것 같아요. 이번 글도 네카라쿠배를 준비하는 여러분들에게 도움이 되었길 바라며, 다음에는 또 다른 콘텐츠로 돌아오겠습니다!🔥
'IT 이야기' 카테고리의 다른 글
프론트엔드 신입 개발자를 위한 이력서 작성 꿀팁🍯_1탄 (0) 2023.02.10 백엔드 개발자 신입 이력서 작성법 파헤치기!_고인물 개발자와 함께하는 이력서 클리닉 1탄 (0) 2023.01.23 버그에 지친 개발자들을 위한 개발 유머 페이지 모음ZIP🗂️ (0) 2022.12.23 네카라쿠배를 꿈꾸는 개발자를 위한 꿀팁 1탄_현직자가 전하는"이력서/포트폴리오, 이렇게 준비했어요" (0) 2022.12.12 IT 기업의 실제 개발 사례를 살펴 볼 수 있는, 기술 블로그 모음 (11) 2022.11.30