Joonas' Note

Joonas' Note

2019 NAVER CAMPUS HACKDAY SUMMER 후기 본문

후기

2019 NAVER CAMPUS HACKDAY SUMMER 후기

2019. 5. 18. 02:14 joonas

    신청 및 안내: https://github.com/NAVER-CAMPUS-HACKDAY

    네이버에서 매년 여름과 겨울마다 열리는 핵데이가 올해에도 열렸다.

    이번에 웨일 브라우저의 캡처 기능을 확장하여, "화면 녹화 기능 개발"을 하는 주제로 지원하였고 그것이 통과하여 핵데이에 초대받았다. 핵심 역량은 C++과 Windows/Chromium이었지만 지원서에는 과거에 C++로 프로젝트를 진행한 경험(MFC 미로 생성 프로그램)과 C++로 문제 풀이를 주로 해결한 점(BOJ 1800문제)을 중심으로 어필했다.


    코딩 테스트는 KT 인적성 검사와 날짜가 정확히 겹쳤는데, 네이버 코딩 테스트는 온라인으로 09시~18시 중 선택으로 3시간 동안 진행하는 방식이라 두 테스트 모두 치를 수 있었다. 역시 IT 회사라 온라인 테스트를 하는 점이 굉장히 좋았다.

     

    문제는 영문으로 총 3개였는데, 내용 유출을 하면 안 된다고 했던 것 같으므로 카테고리랑 풀이 코드만 적겠다.
    1번 문제는 시뮬레이션처럼 보이지만 법칙을 찾는 단순한 아이디어 문제였다. 2번 문제는 트리 구조에서 선택적인 탐색, 3번 문제는 그리디였는데 시간 안에 증명이 어려워서 세그먼트로 풀어서 제출했다.
    결과는 핵데이 본선(?)에 가더라도 알 수 없다. 나중에 전해 듣기로 나는 환산점수 100점 만점에 81점이었다고 한다. (합격 기준이라는 건 딱히 없었고, 지원한 주제의 멘토분들이 기준을 적절히 정하거나 참고용으로만 쓰이는 듯하다.)
    테스트 플랫폼은 codility라는 처음 보는 해외 사이트였다.


    장소는 춘천 커넥트원으로 예전에 네이버 AI 해커톤 때와 같다. 네이버는 전체적으로 자유로운 개발 분위기인 점이 정말 좋다.

     

    웨일 브라우저는 오픈 소스 프로젝트인 크로미움을 기반으로 하고 있고, 프로젝트가 워낙 크나 보니 코드를 참고할 때 크로미움 코드 서치 사이트를 주로 사용했다. https://cs.chromium.org/

     

    이번 NAVER HACKDAY에서 얻은 가장 좋은 경험이라면, 대외비라 외부에서는 보기 힘든 웨일 브라우저의 코드를 볼 수 있었다는 점?
    핵데이 전날에 미리 크로미움을 빌드하는 정도만 파악하고 당일에 참가했는데, 멘토님께서 브라우저의 동작 원리와 기본 구조부터 설명해주셨다. 우리처럼 이미 진행된 프로젝트, 특히 크로미움 같은 대규모 프로젝트로 진행하는 주제는 없다고 한다. 우리 팀은 웨일 브라우저 코드 중에서 사용자 인터페이스(UI)에 관한 코드를 주로 수정하였다.

    그리고 git과 같은 버전 관리 툴을 사용해서 협업을 해본 경험이 있으면 작업이 굉장히 수월하다. 물론 없다고 못 하는 건 아니다. pull/commit/push/fetch/branch 정도의 명령어만 이해하고 사용할 수 있으면 된다.

    적다 보니 좋은 경험이 하나 더 생각났다. 개발 중간 또는 마지막 즈음에 멘토님께서 code merge와 함께 코드 리뷰를 한다. 우리는 구글의 크로미움 프로젝트를 기반으로 진행했기 때문에 코딩 컨벤션(Coding Convention)이 이미 있었다. 아무튼 이제껏 개인 또는 단체 프로젝트를 리뷰다운 리뷰를 하질 못했었는데, 불필요한 코드를 삭제하고 예외 처리를 하면서 코드를 개선하는 그런 경험을 할 수 있는 점이 좋았다.

     


     

    시간이 조금 지나서 결과가 나왔다. 핵데이 특전인 2019년 하계 인턴십 면접 제의를 받았다.

    Comments