2020 NAVER HACKDAY CAMPUS를 진행하면서 시간이 정말 빠르게 지나간 것 같다.

중간고사까지 겹쳐서 더 그런 느낌이 들었다.

결과적으로 우수 참가자로 뽑히진 못했지만 정말 많은 것을 얻은 프로그램이었다.

후기지만 앞으로 네이버 핵데이 캠퍼스에 지원하고자 하는 분들에게 도움을 드리고자 글을 쓴다.

코로나 바이러스 때문에 2020 네이버 핵데이 캠퍼스 summer는 온라인으로 진행되었다.

어떤 주제로 어떤 개발을 하였는지 자세히 밝히기는 어렵지만 이번 프로그램을 통해 정말 많은 것을 배웠다.

그래서 재학생이라면 네이버 핵데이 캠퍼스에 참가하는 것을 정말 정말 정말 추천한다.

물론 선발되는 부분에 있어서 코딩 테스트까지 통과해야 하지만 어려운 수준은 아니기 때문에 누구나 도전할 수 있다고 생각한다.

여러 번 진행한 사람들도 있기 때문에 3학년 때부터 지원하여 최대한 많이 참가하면 좋을 것 같다.

본격적으로 네이버 핵데이 캠퍼스를 진행하면서 느꼈던 점을 써보겠다.

우선, 실력 있는 팀원들을 만나 같은 주제로 프로젝트를 진행하기 때문에 실력이 늘 수밖에 없다.

생각보다 다른 사람의 코드를 보는 것이 큰 도움이 된다.

내가 생각하지 못했던 부분이나 다른 방향으로 접근하는 경우를 많이 볼 수 있기 때문에 많은 생각을 하게 된다.

멘토님이 있다는 것도 굉장한 메리트이다.

현직자의 코드 리뷰를 받을 수 있고, 조언을 받을 수 있고, 질문을 할 수 있는 등 많은 정보를 얻을 수 있다.

이러한 것들을 통해 코드의 퀄리티를 높일 수 있다.

나의 코드를 누군가에게 설명하는 일이 흔치 않다고 생각하는데, 이러한 경험도 굉장히 좋았다.

그리고 나의 코드를 누군가에게 설명하는 것이 얼마나 어려운 일인지도 깨달았다.

나의 코드를 잘 설명하기 위해서는 코드의 가독성, 퀄리티 등 생각해야 될 것이 많다.

가장 뼈저리게 느꼈던 점은 코드에 대한 근거이다.

기능 구현을 위해 구글링을 해서 잘 동작하게 만들었는데, 왜 그런 코드를 작성했냐?라는 질문에 제대로 된 대답을 할 수 없었다.

어떠한 함수나 라이브러리를 썼다면 왜 그것을 썼는지에 대해 정확히 알아야 한다.

단순히 구글링을 통해서 이러한 기능을 만들 때 이런 함수, 라이브러리를 쓰더라 하는 생각으로 기능을 구현하면 끝나는 게 아니다.

다른 함수, 라이브러리와 비교해서 이러한 장점이 있어서 썼다거나 이러한 기능이 있어서 썼다거나... 근거가 있어야 한다.

이러한 부분은 나중에 기술면접 때도 큰 도움이 된다고 생각한다.

이 외에도 많은 메리트가 있지만 가장 크게 느꼈던 부분들을 써봤다.

이 글을 보고 꼭 많은 재학생들이 네이버 핵데이 캠퍼스에 참가하여 실력을 쌓았으면 좋겠다.

2차 온라인 코딩 테스트 이후 생각보다 빠르게 결과가 나왔다.

아쉽게도 결과는 탈락이었다

4월 29일 오후 5시쯤 메일이 왔던 것 같다.

이 날 오전에는 네이버 핵데이 합격을 하고 오후에는 소프트웨어 마에스트로에서 탈락했다.

두 마리 토끼는 잡지 못했지만, 하나라도 합격해서 다행이라고 생각한다.

2차 온라인 코딩 테스트 후기에도 썼지만 알고리즘 문제에서 시간 초과가 나는 코드를 작성한 것이 탈락 원인 중 하나라고 생각한다.

다른 원인은 웹 문제를 아예 풀지 못한 것에 있다고 생각한다.

알고리즘을 아예 잘 풀었거나 웹 문제를 잘 풀었거나 둘 중에 하나는 해야 합격을 하는 것 같다.

본인은 둘 다 못했기에... 어떻게 보면 탈락이 당연하다.

소프트웨어 마에스트로 11기부터 예전에 없던 SQL문제와 웹 문제가 추가되면서 소프트웨어 마에스트로에서 원하는 연수생이 달라진 것 같다.

내년엔 또 어떻게 달라질지 모르지만 1차 온라인 코딩 테스트와 2차 온라인 코딩 테스트에서 동일하게 SQL문제와 웹 문제를 낸 것으로 보아 앞으로도 비슷하게 갈 것이라고 생각한다.

소프트웨어 마에스트로 12기를 준비하는 사람이 이 글을 본다면 알고리즘에만 집중하는 것보다 SQL과 웹에 대해서 공부를 조금이라도 하는 것이 도움이 될 것이라고 생각한다.

합격자 발표 예정일이었던 4월 29일에 11시쯤에 합격 통보를 받았다.

코딩 테스트 후기에 썼지만 본인은 온라인 코딩 테스트에 나온 3문제 중에 2문제를 풀었다.

당시 3번 문제가 굉장히 어려웠기 때문에 합격컷은 2솔이라고 생각한다.

2솔인 사람들도 탈락한 사람들이 있는 것으로 봐서는 서류 + 2솔이라고 생각한다.

3번과 다르게 1,2번은 문제가 쉬웠기 때문에 2솔은 해야 붙지 않았을까 싶다.

1솔 합격자가 있는지는 잘 모르겠다.

하지만 그렇다고 본인이 서류를 잘 써서 합격했다고 생각하지 않는다.

서류에는 깃허브 주소를 첨부를 해야 했고, 선택한 주제에 대한 프로젝트 경험을 쓰는 칸이 있었다.

여러 가지 주제를 선택하고 프로젝트 경험을 여러 개 써도 됐지만 선택한 주제에 대해 그나마 규모 있는 프로젝트는 1개였기 때문에 딱 1개만 썼다.

그래서 사실 탈락할 가능성이 크다고 생각했는데 잘 봐주셨는지 운이 좋게 합격했다.

참고로 깃허브에는 이렇다 할 내용은 없고, 선택한 주제에 대한 프로젝트 내용과 매일 풀고 있는 알고리즘 문제들밖에 없다.

만약 NAVER CAMPUS HACKDAY를 준비하는 사람들이 이 글을 본다면 누구나 희망을 가지고 준비했으면 좋겠다.

물론 기본적인 코딩 테스트 준비는 되어 있어야하고, 본인이 하고 싶은 주제에 대한 프로젝트 1개 정도의 경험은 있어야 할 것 같다.

다음 주부터 약 2-3주간 개발을 할 예정이고, 자세한 후기는 NAVER CAMPUS HACKDAY 종료 후에 쓰겠다.

2020 소프트웨어 마에스트로 11기 1차 온라인 코딩 테스트를 통과하고 2차 온라인 코딩 테스트를 보게 되었다.

원래 2차는 오프라인 코딩 테스트가 예정되어 있었지만, 코로나 바이러스 때문에 2차도 온라인 코딩 테스트로 변경되었다.

2차 온라인 코딩 테스트는 2020년 4월 26일 일요일 14시부터 16시까지 2시간 동안 진행되었다.

1차 온라인 코딩 테스트와 마찬가지로 알고리즘 3문제, SQL 1문제, 웹 프로그래밍 1문제가 출제되었다. 그리고 1차와 마찬가지로 구름 플랫폼에서 코딩 테스트가 진행되었다.

1차와 달라진 점은 난이도밖에 없는 것 같다. 웹을 제외하고 나머지 문제들의 난이도가 훨씬 올라간 느낌을 받았다.

1번 문제는 DP문제였다. DP문제 중에서 유명한 문제라고 한다. 본인은 DP 풀이가 생각이 나지 않아서 일단 빠르게 완전 탐색으로 풀었다. 시간 초과가 날 것을 알았지만 우선 빠르게 모든 문제를 푸는 게 중요하다고 생각했다. 5분가량 풀고 테스트 케이스가 다 맞는 것을 확인하고 다음 문제로 넘어갔다.

2번 문제는 3문제 중에 가장 어려웠다. 처음 딱 보자마자 어렵다는 느낌을 받았다. 알고리즘 유형으로 따지면 유니온 파인드라고 한다. 본인도 유니온 파인드를 이용해서 풀었다. 이 문제만 1시간 넘게 풀어서 시간 초과는 생각하지도 못했다. 테스트 케이스가 다 맞는 것을 확인하고 다음 문제로 넘어갔다.

3번 문제를 풀 때 이미 시간이 절반이 지나가 있었다. 이 문제도 완전 탐색 느낌으로 풀었다. 시간 초과가 날 것을 알았지만 다른 풀이가 생각이 안났고 일단 제출했다.

4번 문제는 SQL 문제였다. SQL도 1차에 비해서 난이도가 굉장히 올라간 느낌을 받았다. 본인은 서브쿼리를 이용해서 풀었는데 시간이 많이 부족해서 출력만 잘 나오는 것을 보고 제출하였다. 아마 빠르게 풀다 보니 실수를 했을 것 같다.

5번 문제는 웹 프로그래밍 문제였다. 본인은 웹에 대해 잘 몰라서 그냥 실행만 되게끔 해서 제출했다. 1차 때도 웹은 건드리지도 못했는데 2차 때도 마찬가지였다. 다른 사람들의 반응을 봤을 때, 웹은 1차보다 쉬웠다는 반응들이 있었다. 

분명한 것은 1차 온라인 코딩 테스트에 비해 전체적인 난이도가 올라갔다는 것이다.

그래서 아마 컷도 낮아질 것 같고 효율성까지 따졌을 때 완벽하게 알고리즘을 푼 사람은 그렇게 많지 않을 것 같다.

효율성까지 체크를 하는지는 모르겠다.

본인 생각에는 문제 수준을 생각했을 때, 3솔 정도가 합격 컷이 될 것이라고 생각한다.

합격 발표가 언제인지는 모르겠지만, 열심히 푼 만큼 합격했으면 좋겠다.

2020년 현대카드/캐피탈/커머셜 Summer Internship 온라인 코딩 테스트는 4월 25일 토요일 오전 10시부터 2시간 동안 진행되었다.

문제는 총 4문제로 구성되었다.

문제 풀이에 사용되는 언어는 C++, JAVA, JavaScript, Kotlin, Python3, Swift 이렇게 6개였다.

문제마다 풀이 언어는 달라도 된다.

2020 현대카드 온라인 코딩 테스트는 프로그래머스 플랫폼에서 진행되었다.

전체적인 난이도는 중하 정도라고 생각한다.

1번 문제는 문자열을 이용한 구현 문제였다.

모든 기업 코딩 테스트에는 문자열을 이용한 구현 문제가 하나씩은 꼭 들어가는 느낌이다.

딱히 풀이가 생각나지 않았고, 결국 풀지 못했다.

주변 사람들은 하드 코딩으로 했다는 사람도 있었다. 문제 난이도는 어려운 편은 아니었다.

2번 문제도 문자열을 이용한 구현 문제였다.

구현이라고는 하지만 해싱을 적용해서 풀어도 됐을 것 같다.

본인은 3번 문제의 쓸 데 없는 부분에서 시간을 너무 많이 써서 풀지 못하였다. 1번보다는 쉬운 난이도였던 것 같다.

3번 문제도 문자열을 이용한 구현 문제였다.

약간 시뮬레이션 느낌도 났다. 그냥 하라는 대로 하면 되는 문제였다.

본인은 재귀를 이용하여 풀었다. 쓸 데 없는 곳에서 런타임 에러가 자꾸 나서 애먹었다. 1번 문제랑 비슷한 난이도인 것 같다.

4번 문제는 bfs/dfs/시뮬레이션 문제였다.

본인은 bfs를 이용하여 풀었다. 평소 bfs 문제를 풀어본 사람이라면 쉽게 풀 수 있었을 것이다.

관건은 bfs를 할 줄 아느냐와 구현 능력이었던 것 같다.

난이도 자체는 가장 어렵다고 생각하지만 비슷한 유형을 풀어본 사람들은 쉽게 느껴졌을 것이다.

최근 기업들의 코딩 테스트를 보면 어려운 알고리즘을 묻기보다는 구현 능력을 많이 보는 것 같다.

이번 현대카드 코딩 테스트에서도 모든 문제에 구현 능력을 보는 부분이 있었다.

앞으로 코딩 테스트를 준비하는 사람들이라면 구현/시뮬레이션 문제를 많이 풀어보는 것을 추천한다.

시간이 부족하여 2솔밖에 하지 못했다.

대부분의 사람들이 3솔 이상했다는 반응이 많았다. 99% 탈락이라고 생각한다.

이번에도 파이썬으로 빨리 갈아타야겠다는 생각이 들었다.

코딩 테스트는 빠르게 푸는 것이 중요한데 C++로 문자열 문제를 푸는데 시간이 꽤나 걸린다.

이 글을 읽는 사람에게도 문자열 문제를 수월하고 풀고 싶으면 파이썬을 배우라고 추천하고 싶다.

2020 NAVER CAMPUS HACKDAY (네이버 핵데이) 온라인 코딩 테스트는 2020년 4월 11일 토요일 오전 11시부터 2시간 동안 진행되었다.

총 알고리즘 3문제를 120분 동안 푸는 것이기 때문에 무난한 난이도가 예상되었다. 코딩 테스트는 참고용으로 사용한다고 했기 때문에 가벼운 마음으로 보려고 했다.

사진에 나와 있는 것처럼 이번 네이버 핵데이 온라인 코딩 테스트는 프로그래머스 플랫폼에서 진행되었다.

1번 문제는 무난한 구현 문제였다. 문자열을 이용한 구현 문제였는데 문자열을 이용하는 구현 문제를 어려워하는 본인도 무난히 풀었기 때문에 난이도는 쉬운 편에 속한다고 볼 수 있다. 물론 테스트 케이스가 많이 주어지지 않기 때문에 정확히 맞춘지는 모르겠다. 푸는데 한 20분 정도 걸린 것 같다.

2번 문제도 문자열 문제였다. C++ 언어로 문자열 문제를 풀 때 가장 곤란한 것은 띄어쓰기가 포함된 문자열이 나올 때이다. 이 문제도 띄어쓰기가 포함된 문자열이 주어져서 생각보다 오래 푼 것 같다. 이후에는 맵을 이용 하여 문자의 개수를 카운트하여 푼 기억이 난다. 이 문제는 한 30분 정도 걸린 것 같다.

3번 문제는 정말 어려웠다. 아마도 문제의 알고리즘 유형은 DP라고 생각하는데 정확히 모르겠다. 문제에서 10억 가까이 되는 수로 나눈 수를 리턴하라고 했기 때문에 그렇게 생각했다. 실제로 문제도 DP 느낌이 많이 났다. DP말고도 여러 방면으로 풀이를 생각해봤지만 1시간 동안 고민해봐도 풀이가 떠오르지 않았다. 아마 이 3번을 푼 사람은 나중에 인턴십 참가에도 영향을 주지 않을까 생각이 들 정도로 어려웠다.

시험이 끝나고 역시나 3번이 어려웠다는 반응이 대부분이였다. 1, 2번은 무난한 난이도였는지 1, 2번에 대한 얘기는 거의 없었고 3번 얘기만 많이 하였다.

2솔이라고 생각하고 합격을 기대해봐야 할 것 같다.

 

 

2020 상반기 라인 공채 온라인 코딩 테스트는 2020년 4월 5일 오전 10시부터 12시 30분까지 진행되었다.

라인의 온라인 코딩 테스트는 프로그래머스에서 진행되었다.

총 6문제였고, 시간은 150분이 주어졌다.

이번 공채 문제들의 난이도는 쉬운 것은 아니였지만 그렇다고 엄청나게 어려운 난이도는 아니였다고 생각한다.

1번 문제는 1번 답게 조금 쉬웠다. 본인은 스택으로 풀었는데 여러 가지 방법으로 풀 수 있을 것 같다. 하지만 문제 조건을 하나를 놓쳐서 틀렸을 것 같다. 문제 조건은 항상 빠짐 없이 확인해야하는데 급하다보니 실수를 하는 것 같다.

2번 문제는 딱히 풀이 방법이 떠오르지 않아서 완전탐색으로 풀었다. 테스트 케이스는 맞았지만 아마 효율성에서 점수를 못 받았을 것 같다. 문제 자체는 어렵지 않았다.

3번 문제는 딱 처음 봤을 때 조합으로 풀어야겠다고 생각했다. 하지만 입력 조건이 30만 정도여서 조합으로 풀면 시간 초과가 난다. 하지만 그걸 알고도 다른 풀이가 생각나지 않아서 그냥 제출했다. 푼 사람들 말로는 이분 탐색, 투포인터 알고리즘으로 풀 수 있다고 한다.

4번 문제는 맵을 이용해서 풀었다. 문제를 보자마자 맵으로 풀어야겠다는 생각이 들었고 맵을 사용할 줄 안다면 쉽게 풀었을 것 같다.

5번 문제는 순차탐색 하면서 정렬을 이용해서 풀었다. 프로그래머스가 시간제한을 몇 초로 주는지 모르지만 넉넉히 준다는 얘기를 들은 적이 있어서 그냥 풀었다. 이것도 다른 사람들 말을 들어보면 맵이나 셋으로 풀 수 있다고 하는 것 같다. 그게 맞다면 나의 코드는 효율성에서 거의 0점을 받았을 것 같다.

6번은 문자열 문제였다. 문자열 처리는 정말 어려운 것 같다. 이런 문자열 문제는 많이 접해보지 않았고 구현할 시간도 없어서 제대로 풀지 못했다. 이 문제만은 문제에서 부분 점수가 있다고 명시되어 있었다.

결과는 역시 불합격이었다. 대부분 반응은 완벽한 4솔정도가 합격 컷이라고 하는 것 같다.

 

 

이번 라인 코딩 테스트를 통해서 투포인터 알고리즘이라는 것이 있다는 것을 알게 되었다. 그리고 역시나 문자열 처리에 약한 모습을 보여줬기 때문에 이런 부분을 보완해야 할 것 같다.

 

 

이스트소프트는 다른 기업과 다르게 정해진 시간에 보는 것이 아니라 사진처럼 본인이 원하는 시간에 볼 수 있었다.

3월 28일~3월29일인데 제목이 3월 30일인 이유는 서버가 터졌기 때문이다.

29일에 시험을 보려고 했는데 서버가 터졌고 문의 결과 30일까지 기간을 연장해준다고 했다.

2020 상반기 이스트소프트 온라인 코딩 테스트는 코딜리티에서 진행되었다.

코딜리티는 외국 플랫폼이여서 문제들이 전부 영어다.

https://www.codility.com/

 

Remote Tech Interview and Screening Platform - Codility

Codility is a software platform that helps technical recruiters run remote interviews and hire strong engineers. Explore our platform by requesting a demo today.

www.codility.com

코딜리티에서 로그인을 하면 코딜리티에서 제공하는 문제들을 풀어볼 수 있다.

참고로 코딜리티에서 진행하는 코딩 테스트의 문제들은 복사가 안된다.

문제는 알고리즘만 4문제였고, 3시간 동안 풀 수 있었다.

모든 문제가 그냥 구현이었다. 특별한 알고리즘이 쓰인 문제는 없었다.

2번은 맵을 이용하면 시간복잡도를 줄일 수 있을 것 같다.

가장 힘들었던 문제는 4번이었다.

4번은 문자열 문제였는데 파이썬으로 풀면 쉽게 풀 수 있을 것 같았다.

하지만 본인은 C++ 유저이기 때문에 정말 힘들게 풀었다.

문자열 관련 문제에 약하기도 하고 다른 언어에 비해 C++이 문자열 처리는 조금 어렵기 때문이다.

출력하는 것도 정말 어려워서 이 문제만 2시간 가량 푼 것 같다.

어쨌든 4문제를 모두 풀긴했지만 정확히 맞은지는 모른다. 테스트 케이스가 1-2개밖에 주어지지 않았다.

모든 문제를 풀어서 조금은 기대했지만 결과는 불합격이었다. 아마 효율성까지 본 것 같았다.

+ Recent posts