라인 코테 컷 - lain kote keos

전혀 응시하게 될 거라곤 생각하지 못했던 코딩테스트였다. 카카오에 입사하신 학교 선배도 네이버는 서탈하셨는데 내가 되겠냐... 하고 접수만 던져놓고 잊고있었는데 코딩테스트 응시 자격 메일이 와서 놀랐었다. 아무래도 앱 출시 경험과 2지망 직군에 모바일로 비벼넣는 게 조금 유효했었나 보다. 전날 화이자 2차를 맞아서 부작용 이슈가 있었지만 실력에 지장이 갈 정도로 심하진 않았던 듯하여 천만다행이었다. 카카오 코테 물먹고 엄청나게 낙심하여 거진 3주 동안 알고리즘은 거들떠도 보지 않았더니 실력이 꽤나 녹슬었다는 생각이 든다.

난이도는 라인, 삼성보다 쉽게 기본 코딩 스킬 위주로 나온다길래 안심하고 갔는데 아니었다. 누가 네이버 코테 쉽다고 했냐... 문제가 어렵지는 않았으나 구현으로만 거진 3문제, 알고리즘 문제마저도 백트래킹 완전탐색이 주요한 문제라 사실상 구현이었다. 2시간 내로 4문제를 완전히 해결하려면 모든 문제에 대한 직관이 막힘없어야 하고 구현 실력도 어느정도 있어야 했다. 얼추 1시간 30분 동안 3문제 테스트 케이스를 통과시키고 30분 동안 4번을 봤으나 해결하지 못하고 테스트를 마쳤다.

1번에서 적잖은 충격을 받았다. 보통 1번이라 함은 적당한 스트링 다루기로 몸풀기 날먹 문제를 던져주기 마련인데 조금의 고민이 필요했던 문제였다. 테스트 케이스 규모는 작으나 조건에 맞게끔 분기문을 작성하여 탐색을 진행해야 했다. 최솟값의 개수가 복수이거나 상대방이 요구하는 종류의 내 숫자와 나의 최솟값의 차이가 1이면 어떻게 분기를 처리해야 하는지 고민이 필요했다. 분기 처리를 하다보니 1번에서 30분 소요.

2번은 큐라는 기본적인 자료구조를 내면서도 이리 신선하게 낼 수 있다는 점에 놀랐다. p값을 다루는 로직이 핵심이 되었다 생각한다. 전체 원소 개수를 별도의 변수로 관리하여 pop연산 시 발생할 수 있는 상황에 따라 요구조건에 맞게 분기문을 작성해야 했다. 개인적으로는 약 20분 정도 소요되어 1번보다 2번이 쉬웠다 생각한다. 최근 코딩테스트가 요구조건에 맞게 분기문을 정확하게 작성하는가에 대한 검증 문제들이 빈출되고 있는데 12번이 그러한 유형이라 생각한다.

3번은 보면서도 구현실력을 보려고 작정했음을 알 수 있었다. 2차원 배열 주고서 방향에 따라 직사각 배열의 부분 사각형 영역을 대각 반전하라는 요구사항인데 다른 이들은 보다 쉽게 공식을 써서 해결한 듯 하다. 필자는 그냥 반전할 부분 배열을 따로 빼내서 새롭게 좌표기준을 설정하고 반전시킨 뒤 변환된 좌표기준을 역으로 접근하여 갱신하는 방식을 채택했다. 수학적 지식을 활용하면 모를까 알고리즘으로 빠르게 구현하는 문제가 아니었기에 상당한 시간이 소요되었다. 거진 4-50분을 사용하였다.

4번은 백트래킹을 이용한 완전탐색이라는 점은 알았으나 주어진 제시조건에 맞춰서 새로운 그래프를 생성한 뒤 각 노드에 대해 이미 배치가 완료된 노드로의 경로 접근이 가능한지 검증하는 로직을 작성해야 했다. 이 함수를 작성할 수 있어야 4번 문제 해결이 가능했는데 유니온 파인드로 풀어야 하나 고민하던 중 결국 경로 검증 함수를 작성하지 못했다. 3번까지 해결하고서 남은 30분 동안 삽질하던 중 슬프지만 별 소득 없이 종료해야 했다.

총평은 점점 알고리즘만 사용해서 후딱 풀 수 있는 문제들은 지양하되 지문을 제대로 읽어서 요구조건에 맞게 구현하는 문제가 빈출하고 있다. 역시 기업 입사 코딩테스트 알고리즘 문제는 군더더기 없이 지문이 깔끔하다. 그래도 역시 제한시간 2시간으로 설정해놓고 구현을 4문제를 준다는 게 푸는 응시자 입장에서는 체력 소모가 확실하다... 다른 분들의 후기를 들어보니 저번보다는 확실히 어려웠다는데 점점 고여가는 이 시장을 생각하면 저번과 비슷하게 3솔컷이지 않을까. 나로서도 알고리즘을 어느정도 공부했다면 3솔은 해야했다 생각하기에 서류 점수가 평균점 정도라면 3솔이 합격컷으로 예상된다. 그리고 내 서류는 평균점일리가 없기에 '-`... 일단 기대는 접고 마저 하던 포폴 준비나 하러 가야겠다.

결과 : 기술면접 1차 통보받았습니다. 힘들 수도 있겠다 싶었는데 좋게 봐주신 듯 하네요. 네이버 면접은 알고리즘, 기본 CS, 개발 언어 이해, 포트폴리오 설명 등으로 진행되고 면접관에 따라 진행 방식이 많이 갈린다고는 하는데 포트폴리오가 없는 상태이니 블로그에 정리해둔 CS, 알고리즘, 개발언어를 리마인딩 하고 가려 합니다.

네이버는 다른 기업들과 다르게 서류 합격이 따로 없고 코딩테스트를 본 후 서류와 코딩테스트를 종합해 면접 대상자를 정한다. 서류에 큰 신경을 쓰지 않아도 되고, 뛰어난 스펙이나 자소설은 필요 없다고 생각한다.


👉 스펙

정량적인 스펙은 각 전형에 참고는 되겠지만 합불합에 영향은 없는 것 같다. 나는 학점 3.82/4.5, 인턴 1회, 정보처리기사, 토익 895, 오픽 IM2 이 있어서 적었지만 면접에서 아무도 안 궁금해하셨다..


👉 문항

1️⃣ 다음 중 자신 있는 분야를 우선순위 별로 작성해 주세요. ■ FE 개발 ■ iOS 개발 ■ Android 개발 ■ BE 개발

2️⃣ 가장 자신 있는 또는 좋아하는 컴퓨터공학 관련 이수 과목명과 성적, 그리고 해당 과목을 택한 이유를 각각 기재해 주세요.

3️⃣ 기술적으로 어려운 문제를 해결한 경험을 상세히 작성해 주세요. (학교수업/프로젝트/경진대회/대외활동 등) 맞닥뜨렸던 문제를 '구체적'으로 기술하고, 본인의 접근 방법과 해결 과정, 그리고 실제 결과를 '상세히' 기술해 주세요. 문제를 잘 해결하셨다면 그 경험에서 아쉬운 점 혹은 더 나은 방법은 없었을지에 대한 고민 과정을 함께 작성해 주세요. 해결하지 못한 경험이더라도 해결을 위해 얼마나 깊이 있게 고민을 했는지 그 과정에 대해 이야기해 주세요.
* 코드로 설명해 주셔도 좋습니다.

사실상 자소서 문항은 1개나 다름 없다. 1, 2번은 그냥 적으면 된다. 다만 2번 문항은 A+ 받은 과목만 6개 나열할 필요는 없고, B+이나 C+를 받더라도 정말 자신 있는 전공 과목을 적으면 될 것 같다. 2번 문항이 1차 면접때 반영이 되는 느낌이다. 면접때 어떤 문제가 나와도 술술 말할 수 있는 과목으로 적도록 하자. 나는 정말 자신있고 재밌었던 과목들로 A+ 과목 4개, B+ 과목 2개를 적었다.

3번 문항도 그냥 적으면 된다. 나는 코드도 포함시켰는데, 면접 스터디할 때 보니 코드를 포함시키지 않은 사람이 더 많다. 전체적인 내용은 발생한 문제, 해결하기 위해 시도한 방법들, 최종적으로 선택한 방법과 그 이유, 해결하면서 느낀점 등으로 적었고 마크다운 문법을 사용해 적었다. 코드를 어떻게 포함시켜야 하는지 모르겠어서 그냥 개발자들에게 익숙한 마크다운으로 적었는데, 지원서에는 텍스트로만 올라가서 가독성이 더 떨어진다ㅠㅠ 그래도 날 뽑아준 걸 보면 형식에는 신경을 쓰는 것 같진 않고 내용만 보는 것 같다.


👉 포트폴리오

포트폴리오는 선택이었던 것 같은데, 웬만하면 넣는 것을 추천한다. 문항이 적기 때문에 코딩테스트 결과가 애매하면 포트폴리오로 판단할 것 같다는 생각때문이다. 나도 코딩테스트 결과는 애매했는데 포트폴리오때문에 붙은 것 같다.. 노션으로 포트폴리오를 작성했고, 면접에서 내 포폴을 보시고 포폴이 세련됐다고 칭찬도 들었다.🤗 내용만 잘 간추린다면 ppt로 해도 상관은 없어 보인다.
내 포트폴리오는 여기서 볼 수 있다.


코딩테스트

네이버는 네카라 중에 코딩테스트가 비교적 쉬운 편이다. 내가 경험한 라인, 삼성, 네이버의 코테를 비교해보자면
(카카오>>>>>>)라인>>>네이버>>삼성 이다.


코딩테스트 준비

1월 말부터 코딩테스트가 있던 4월 말까지 약 3개월을 공부했다. 첫 달은 인프런 강의를 들으면서 기본 개념을 공부했고, 나머지 두달동안은 매일 알고리즘 문제를 풀었다. C++ 언어를 선택했고 알고리즘을 어떻게 시작할 지 고민된다면 인프런의 it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비 강의를 정말 추천한다. 한 달 정도면 강의를 다 들을 수 있고 강의를 다 들은 후에도 개념을 복습하기 좋다.

강의를 다 듣고 나서부터는 백준, 프로그래머스의 알고리즘 문제를 매일 1~4문제씩, 코딩테스트 직전에는 이전에 푼 문제들을 복습하면서 6~8문제씩 풀었다. 막학기라 3학점짜리 수업 하나만 듣는 상태였고 첫 취준이라 정말 가고싶은 기업만 소신 지원해서 시간이 넉넉했기 때문에 세 달 동안은 정말 알고리즘에만 집중했다.


코딩테스트

네이버의 코딩테스트는 캠을 켠 상태로 프로그래머스에서 비대면으로 진행됐고 IDE는 쓸 수 없었다. 코딩테스트 직전에 IDE를 쓰지 말고 프로그래머스에서 많이 연습하는 것을 추천한다. 팁은 프로그래머스에서도 print 함수는 되니까 오류가 생긴다면 라이브러리를 추가해서 print로 디버깅을 하고 제출할 때에는 삭제하면 된다.

이번 코테는 2시간동안 4문제를 풀어야했다.
1번은 단순 구현으로 언어만 쓸 줄 안다면 누구나 풀 수 있는 문제였다. 백준 기준 브론즈 ~ 실버정도로 예상한다.
2번은 문자열 구현이었던 것 같은데, 조건이 여러개라 C++로 풀기엔 살짝 까다로웠던 것으로 기억한다. 실버1 ~ 골드5 정도일 것 같다.
3번은 풀다가 시간이 초과돼서 다 못 풀었지만 푼 사람들의 말을 들어보면 슬라이딩 윈도우?로 푸는 효율성 문제였다.
4번은 삼성 역량테스트 기출과 비슷하지만 난이도는 훨씬 높았고 골드 1정도 되는 것 같다.

나는 (테케 기준) 1,2,4번 총 3문제를 풀었다. 3번의 효율성 문제는 자신이 없었고 4번이 삼성 코테때문에 연습했던 유형이라 4번에 집중했는데, 코딩테스트가 끝나고 복기해봤을 때 딱 테스트케이스들만 돌아가는 로직으로 짜서 실수를 한 걸 깨닫고 머리를 쥐어뜯었다 😭.. 하지만 붙여준 걸로 봐서는 코드의 가독성이나 히든 테케가 다 맞는지 보다는 주어진 테케라도 맞게 돌아가는지 + 서류를 종합해서 면접 대상자를 정하는 것 같다.


➕) 라인, 네이버 코딩테스트 기출

내 기억이 맞다면 프로그래머스 위클리 챌린지에 올라온 문제가 라인, 네이버 코딩테스트 기출문제와 유사하다.

2주차 상호평가와 3주차 퍼즐조각 채우기가 각각 네이버의 1번, 4번이었고
4주차 직업군 추천하기와 7주차 입실 퇴실이 라인 문제였던걸로 기억한다.

시간이 된다면 한 번씩 풀고 가는 것을 추천한다.


합격

👿 이 정도면 솔직히 붙여줘야지💦
😭 아니 그래도 네이번데.. 나같은 쩌리를 붙여줄까..? 제발 붙여주세요 잘할게요ㅠㅠ
가 공존하는 3주가 지난 뒤 합격 통보를 받았다.

라인 코테 컷 - lain kote keos


1차 면접

면접은 총 두달 반정도 준비했다. 지원서를 작성하면서 틈틈이 자아성찰을 했고, 코딩테스트가 끝난 후부터는 발표가 나지 않았더라도 면접에만 올인했다. 면접 준비는 한달 ~ 한달 반정도면 충분할 것 같은데, 전형이 너무 오래 걸려서 의도치않게 길게 준비했다. 그래도 계속 복습할 수 있어서 자기계발 시간은 된다..😂
지칠 때는 유투브 쩜튜브님의 네이버 합격 후기를 보면서 행복회로를 돌리며 마음을 다잡았다.


면접 준비

👉 면접 스터디

동아리 면접 말고는 면접 경험이 없던 상황이라 면접 스터디를 총 8번 했다. 7번은 삼성, 1번은 네이버 2차 면접을 위해 진행했는데 결론적으로 면접 스터디는 강력 추천이다

라인 코테 컷 - lain kote keos
혼자 취준을 하면서 늘어지던 시기에 다른 사람들을 보며 좋은 자극을 받을 수 있었다.

스터디에서는 주로 모의 면접을 진행하면서 인성 면접 질문, 직무 면접 질문을 서로 물어봐주고 대답하면서 피드백을 해주는 형태였다. 면접 스터디를 한다고 해서 실제 면접때 떨지 않은 건 아니었지만 미리 경험을 하고 대비할 수 있어서 좋았다.


👉 CS 공부 방법

스터디 이외 시간에는 전공과목을 바탕으로 자료구조, 알고리즘, 네트워크, 운영체제, 컴퓨터구조, 데이터베이스를 복습했고 추가로 내가 프로젝트에서 사용했던 언어와 기술들을 TIL에 적으며 공부했다.

운영체제와 컴퓨터네트워크는 인터넷에 돌아다니는 무료 강의를 들었는데, 정말 정말 도움이 되었다. 이화여대 운영체제 강의는 설명도 잘 하시는데다가 학부때로 돌아가서 다시 공부하는 기분이라 재밌었고, 유투브 네트워크 강의는 학부때 네포자였는데 그때 이해 못했던 개념들을 쉽고 재밌게 이해할 수 있어서 좋았다. 강의는 알고리즘 공부와 병행하면서 천천히 들었다.

나머지 과목들은 여러 깃허브를 참고하면서 공부 방향을 잡았고, 토픽별로 정리하며 내가 이해한 내용을 남에게 설명해줄 수 있을 만큼 말로 뱉는 연습을 했다. 반 이해, 반 암기였다.


👉 면접 질문 리스트

인성 질문과 CS 질문 리스트는 내가 깃허브에 정리해놓은 💚 tech_interview.zip 💚 레포지토리를 참고하면 도움이 될 것이다.


면접

면접 전에 면접 키트1를 택배로 배송해주고, Zoom을 통해 1:3으로 1시간 30분동안 진행했다. 면접관으로는 팀 리더급 분들이 들어오신다. 1시간 30분이라길래 시간이 남을 줄 알았는데 꽉 채워서 풀로 1시간 30분동안 면접을 봤다. (면접 보다보면 시간이 사라진다…)

네이버 면접은 정말 정해진 방식이 없다. 그나마 1차 면접은 문제 은행식으로, 수리(고딩때 배운 확률과 통계 느낌), 손코딩, CS, 기타 개발 지식과 자소서에 기반한 질문을 주신다.
여기서 어떤 문제가 나올 지, 몇 개씩 나올지는 사람마다 다르다.진리의 면바면

손코딩만 하다 끝나는 사람도 있고, CS만 물어보는 경우도 있고, 수리 문제를 많이 물어보는 경우도 있다. 나는 창의수리 1문제, 손코딩 0개가 나왔고 CS + 자소서 관련 개발 지식이 자잘한 것 포함 40~50개였다.

1차 면접의 팁은 지원서 2번 문항(자신있는 전공과목)을 자신에게 유리하게 적는 것이다. 지원서를 참고해서 문제를 제출해주시는 것 같다. 모르는 문제가 나오는 경우에는 그냥 모른다고 대답하자. 그리고 면접때는 꼭 내가 공부 안 한 것만 물어보니 평소에 공부를 열심히 하자..😓

면접 키트 : 스마트펜, 스마트보드, 네이버 서비스 이용권(쿠키, 바이브 등)
라인 코테 컷 - lain kote keos


합격

라인 코테 컷 - lain kote keos


2차 면접

1차 면접이 끝나고 할 게 없어서(공부를 하고 싶지 않아서🤥) 알고리즘만 간간이 몇 개 풀다가 합격 소식을 받고 다시 면접 준비에 돌입했다.


면접 준비

사실 2차 때에는 정말 준비하기 싫었다. 후기를 봐도 큰 정보가 없고 긴 면접 준비 기간때문에 지치기도 해서 쉬엄쉬엄 준비를 했다.
1차 면접 때 못 푼 문제 해답 찾기, 면접 스터디 1회, 자소서 다시 보기, 면접 질문 다시보기, 자아성찰을 주로 했다.


면접

2차 면접은 1:2로 40분정도 진행되었다. 면접관으로는 조직장(책임 리더)급의 분들이 오신다. 2차는 1차때보다 더 정해진 형식이 없어서 정말 말할 게 없다. 여러 후기에서 왜 그렇게 2차 면접 정보가 적었는지 면접을 보고 나서 알게 되었다. 인성 질문만 100%인 사람, 기술 질문만 100%인 사람 등 사람마다 다르다.

나는 기술 질문만 100%였다. 전체적인 분위기는 시니어 개발자와 개발 얘기로 티타임을 갖는 느낌이다. ㅇㅇ에 대해 설명해달라고 질문을 끊임없이 던져주시지만 면접보다는 개발 주제로 얘기를 나누는 느낌이었고 결론은 정말 좋은 경험이었다. 면접관분들이 내가 🐶소리를 해도 끝까지 들어주시고 정말 친절하셨다.🥲

2차까지 온 사람들은 자신의 개발 열정만 어필한다면 어렵지 않게 붙을 것 같다.


최종 합격

라인 코테 컷 - lain kote keos

2차 면접 초반 분위기는 좋았는데 마지막 10분을 말아먹어서 합격할 것 같으면서도 떨어질까봐 불안했고, 삼성 때 무조건 붙을 줄 알고 혼자 설레발 쳤다가 떨어졌던 기억때문에 마음을 비우고있었는데 꽤 빠르게 일주일만에 합격 통보가 났다. 면접이 정말 좋았어서 떨어지더라도 하반기에 다시 지원할 생각이었는데 이렇게 덜컥 붙어버리니 너무 좋았다.