신입 프론트엔드 개발자의 면접 후기 - 1

지난 게시글("취업 준비하기")에서는 전반적으로 내가 어떻게 취업 프로세스를 준비하였는지에 대해 설명했다면, 이 글에서는 내가 면접에 참석했던 개별 회사들에 대한 후기를 작성하고자 한다.

지원한 회사는 네 회사였으며, 모든 회사에서 서류 합격 통보를 받았다. 이 중에서 최종 합격 통보를 받은 회사는 두 곳이었다. 내가 면접을 진행한 순서대로 각 회사에 대한 채용 과정을 소개하고자 한다.

면접 후기가 계획했던 것보다 너무 길어진 관계로 세 개의 게시글로 분리하였다.

T사

T사의 주요 프로덕트는 WAS(Web Application Server) 및 데이터베이스 시스템이지만, 최근 들어 SaaS나 AI 솔루션 등으로 사업 영역을 넓혀가고 있다. 전문연구요원을 준비하는 사람들에게는 너무나도 유명한 회사라고 생각한다.

채용 프로세스

서류 제출 → 코딩 테스트 → 1차 인성 면접 → 2차 실무자 면접 → ?
(인성 면접과 실무자 면접의 순서는 변동될 수 있음)

서류 및 코딩 테스트

  • 서류 심사와 코딩 테스트를 함께 진행하며, 두 과정을 종합적으로 판단하여 인성 면접 대상자를 선발한다고 한다.
  • 서류 심사에서는 일반적인 이력 사항 외에도, 4문항의 자기소개서를 작성하여야 한다. 각 문항은 다음과 같다:
    1. 당사 지원한 사유와 입사 후 포부를 기술해 주세요.
    2. 성격의 장단점과 채용 분야에 대한 전문성 등 이력을 기술해주세요.
    3. 창의성을 발휘했던 사례를 기술해주세요.
    4. 성장 과정 중 가장 도전적이고 어려웠던 일화와 그것을 극복한 사례를 기술해주세요.
  • 나는 연구 프로젝트를 진행하며 T사의 AnyMiner라는 빅데이터 처리 및 분석 플랫폼의 아키텍처를 참고했던 적이 있었다. 따라서 AnyMiner 플랫폼을 통해 T사를 알게 되었음을 지원 사유에 기재하였는데, 면접관 분들께서 이 부분에 대해 상당히 많은 관심을 가지셨다.
  • 코딩 테스트는 프로그래머스 플랫폼을 사용하며, 총 3문제를 120분 내에 풀어야 한다. 제출한 코드의 채점 결과는 피험자에게 보여지지 않는다. 개인적으로 체감한 난이도는 프로그래머스 기준 레벨 1-2 정도의 문제였으나, 알고리즘 풀이 경험이 많지 않다면 곧바로 솔루션이 떠오르지는 않았을 것 같다.

1차 인성 면접

  • 인성 면접의 진행 과정은 지원자마다 다르다고 한다. 누군가는 "교수님"과의 일대일 면접을 진행했다고 하고, 다른 누군가는 다대일 면접을 진행했다고 한다. 참고로 나는 면접관 3명과 지원자 2명의 다대다 면접으로 진행되었다.
  • 면접 질문은 다음과 같았다:
    1. 1분 가량의 자기소개
    2. T사의 어떤 팀으로 지원했는지 알고 계신가요?
    3. 해당 팀에서 개발하고 있는 W 솔루션에 대해 설명해주세요.
    4. W 솔루션에 파이낸스 관련 기능을 추가해야 한다면 어떻게 하실 것인가요?
    5. 자기소개에서 연구실 생활을 통해 공부 자극을 받았다고 말했는데, 어떠한 새로운 자극을 받았나요?
    6. 동료와의 의견 충돌시 어떻게 대처하실 것인가요?
    7. 그렇다면 상사와의 의견 충돌시에는 어떻게 대처하시겠어요?
    8. 회사 생활을 통해서 어떻게 스스로의 가치를 높이고 싶나요?
    9. 마지막으로 한 마디 부탁드립니다.

느낀 점

한 달 가까이 지연된 채용 프로세스, 그리고 불합격.
  • T사가 상당히 몸집이 큰 중견기업임에도 불구하고, 전반적인 채용 프로세스 자체는 스타트업 수준으로 빠르게 진행된 편이었다.
  • 1차 면접의 합격 통보를 받은 뒤 2차 면접 일정을 기다리던 중 "내부 사정"으로 2차 면접이 무기한 연기되었음을 안내받았다.
  • 무기한 연기 연락을 받고 약 3주 뒤에 "내부 사정"으로 채용이 어렵게 되었다는 연락을 받았다. 아마도 최근 불거진 "황제병역" 관련 이슈로 인해 병무청으로부터 전문연구요원 신규 편입이 불가능해진 것이 영향을 미치지 않았나 생각한다.
  • 만약 최종 합격할 수 있었다면 T사를 선택했을 것이다. 개인적으로 T사에 대해 긍정적인 평가를 가지고 있고, 전문연구요원에 대한 처우가 좋은 회사이기 때문이다.

V사

V사는 의료 인공지능 기술을 바탕으로 하는 스타트업이다.

채용 프로세스

서류 제출 → 1차 실무자 면접 → ?
(공식 채용 사이트에서는 서류 합격시 코딩 테스트를 진행한다고 적혀있었으나, 코딩 테스트는 진행되지 않았다.)

서류

  • 리쿠르터 플랫폼을 통해 서류를 제출하며, 2문항의 자기소개서를 함께 작성하여야 한다:
    1. V사에 지원하시게 된 동기는 무엇인가요? (1000자)
    2. 본인에 대해 자유롭게 소개해 주세요. (3000자)
  • V사에서는 챌린징한 의료 인공지능 기술 개발에 주력하는 회사인 만큼, 도전 정신을 가진 지원자를 선호할 것이라고 막연하게 생각했다. 따라서, 석사 과정에서 다양한 기술 개발에 전념했던 내 경험을 근거로, 나의 방향성이 V사의 방향성과 일치할 것이라고 생각하였음을 지원 동기로 작성하였다.
  • 그러나 나의 지원 동기는 면접관들에게 "회사가 뭐 하는지도 모르고 지원한 사람" 취급을 받았던 것 같다, 추가적인 내용은 아래에서 설명한다.

1차 실무자 면접

  • 3명의 면접관이 들어왔으나, 실질적으로 기술적인 문답을 주고받은 것은 한 명의 면접관이 전부였다. 주고받은 질문들은 다음과 같았다.
    • Flask의 app 객체에 대해 설명해보세요.
      • (다시 설명 부탁) Flask에 있는 두 가지 컨텍스트에 대해 설명해보세요.
    • HTTP/1.1과 HTTP/2.0의 차이에 대해 설명해보세요.
      • (SPDY와 QUIC을 헷갈린 답변을 하였음) QUIC에 대해 설명해보세요.
    • HTTP와 HTTPS의 차이에 대해 설명해보세요.
      • UDP를 기반으로 하는 프로토콜에서도 SSL을 적용할 수 있을까요?
    • CORS에 대해 설명해보세요.
      • CORS를 사용하지 않으면 발생할 수 있는 공격에 대해 설명해보세요.
    • 왜 React를 공부했나요?
      • React의 Virtual DOM에 대해 설명해보세요.
      • (직접적인 DOM manipulation이 비효율적이라고 답변) DOM manipulation이 왜 비효율적일까요?
      • DOM manipulation에서 발생하는 연산에 대해 설명해보세요.
  • 가장 나이가 많았던 팀장 급의 면접관은 주로 이력서에 작성된 경험 위주로 물어보았다. 예컨대, 다음과 같은 면접 질문을 물어보았다.
    • (HKUST 교환학생 관련) 홍콩과기대에 가서 무엇을 하셨나요?
    • (HKUST 교환학생 관련) 홍콩과기대에서 외국인 친구들은 많이 사귀었나요?
    • (해커톤 수상 관련) 해커톤에서는 누구와 어떤 프로젝트를 진행했나요?
    • (동아리 활동 관련) 해킹 동아리는 왜 들어갔나요?
    • (동아리 활동 관련) 동아리에서는 주로 무엇을 하였나요?
  • 마지막 면접관은 단 하나의 질문을 물어보았다: "우리 회사가 뭐하는 회사인지는 알고 계신거죠? 본인의 연구 경험을 V사의 프론트엔드 개발에 어떻게 활용할 수 있을까요?" – 지금 보니까 두 개의 질문이었다.
  • 나는 이 질문을 들으며 "아 떨어졌구나"라는 확신을 강하게 받았고, 정확하게 일주일 뒤 불합격 통보를 받았다.

느낀 점

  • V사 채용 사이트에는 Backend 개발자, Frontend 개발자와 더불어 "SW Engineer"라는 직군 구분이 있었다. Frontend 개발자의 자격 요건에는 2년 이상의 경력을 요구하고 있어 신입이었던 나는 SW Engineer로 지원하였고, 이 것은 잘못된 선택이었던 것 같다.
  • React의 Virtual DOM 사용 이유에 대해 잘못 설명한 것 또한 치명적이었다고 생각한다. 면접에서 "실제 DOM을 조작하는 것과 달리 Virtual DOM을 통해 효율성을 향상시킬 수 있다"고 설명했는데, 사실 Virtual DOM의 최대 장점은 "개발자로 하여금 직접 DOM fragment를 조작할 필요가 없이, DOM 관리를 자동화하고 추상화할 수 있다"는 점이 가장 크다는 것이다(관련 자료).

다음 게시글에서는 첫 번째로 최종 합격통보를 받은 P사의 면접 후기를 공유하고자 한다.