신입 개발자의 면접 준비 방법(기술)

유시온·2024년 1월 8일
118

이전 글로 포트폴리오 작성법을 정리해 보았고, 그다음 단계인 면접 준비 방법에 대해 정리해 보았습니다.

저는 어렸을 때부터 말을 잘 못해서 커서도 발표 같은 자리를 무서워했는데요, 그만큼 면접에서 합격 결과를 만들기까지 수많은 탈락을 경험했습니다. 수많은 탈락을 경험해도 다시 일어날 수 있었던 방법과 어떻게 면접에 임했는지 크게 면접 전, 면접 중, 면접 후로 나눠 설명하겠습니다.


STEP 1. 회사에 대해 조사하기(before)

면접은 답변을 주구장창 외우는 것이 아닌 회사의 fit에 맞게 나를 알리는 것이라고 생각합니다.

저는 이전에 자기소개와 지원동기 같은 질문을 주구장창 외워서 준비했는데, 회사가 중요시하는 가치관 질문에 답을 하지 못했습니다. 그러니 서류 합격이 발표되고, 면접 준비를 시작하는 첫날 그 회사에 대해 조사하는 걸 추천해 드립니다.

저만의 방법은 합격 메일, 채용공고, 회사 홈페이지, 유튜브, 잡플래닛 면접 후기를 꼼꼼히 읽었습니다.

1-1. 합격 메일 📨

먼저 서류 합격 메일에 나와 있는 내용에 대해 꼼꼼히 읽습니다.
메일은 보안상 공개를 하지 못해 예시를 들자면 과제 전형 이후 기술 면접 안내 메일에서 다음과 같이 안내되었습니다.

보내주신 과제는 당일 TV에 띄워 함께 리뷰할 예정입니다.

기술 면접은 크게 다음과 같이 나뉩니다.

  1. 기술 개념 위주 (ex. A가 무엇인가요?, A와 B의 차이점에 대해서 아시나요?)
  2. 기술 경험 위주 (ex. A를 통해 프로젝트를 개발한 경험이 있으시나요? 왜 A를 사용하셨나요?)

해당 메일을 통해서 2번인 과제에 대한 경험을 물어볼 것이라고 예상할 수 있었습니다.
(실제 면접에서도 과제에 대한 본인의 생각 및 경험을 많이 물어보셨습니다.)

그래서 메일을 읽기만 하고 넘어가는 것이 아닌 조금이라도 꼼꼼히 읽어서 면접 진행 방식에 대한 힌트를 얻는 것을 추천해 드립니다.

1-2. 채용공고 📊

빠르게 와닿을 수 있도록 예시 채용공고를 첨부해 두겠습니다.

[개발 문화]

  • 애자일 방법론에 따라 제품을 개발합니다.
  • GitHub issue와 Github Project를 사용하여 이슈를 관리하고, Slack을 사용하여 비동기 커뮤니케이션을 합니다.
  • Pull request를 통해 코드 리뷰 과정을 거칩니다.
  • Jest를 사용한 단위 테스트 및 e2e 테스트를 진행합니다.

[ 기본 사항 ]

  • 3년 이상의 웹 프론트엔드 개발 경험
  • React 또는 Vue와 같은 프론트엔드 프레임워크에 능숙하신 분
  • TypeScript를 실무에 적용한 경험이 있는 분
  • Git과 GitHub를 사용한 버전 관리와 협업에 익숙한 분
  • 백엔드 개발자, 프로덕트 매니저, 프로덕트 디자이너 등 동료와 협업 경험이 있는 분

[ 우대 사항 ]

  • Next.js 와 같은 Framework을 사용한 SSR 개발 경험이 있는 분
  • 하나의 웹 서비스를 지속적으로 발전시킨 경험이 있는 분
  • UI/UX에 대한 이해와 관심이 많은 분
  • 디자인 시스템 개발에 대한 경험이 있는 분
  • 테스트 자동화 및 테스트 주도 개발 경험이 있는 분

채용공고는 지원자에게 원하는 것들을 적어놓고, 회사의 문화를 나타내는 중요한 문서입니다.
그래서 저는 채용공고를 보고 다음 3가지를 도출합니다.

  1. 회사가 어떠한 지원자를 원하는지
  2. 회사는 어떠한 기술을 중요시하는지
  3. 어떠한 개발 문화를 가졌는지

해당 채용공고에서 분석한 결과로 테스트와 git을 중요시하는 것이었습니다.
공고에 테스트와 git을 3번 언급했는데요. 저는 테스트 코드 작성 경험이 없었지만, 테스트 관련 이론 공부와 git 관련한 협업 질문 준비해서 기술 면접에서도 당황하지 않고 답변할 수 있었습니다.

1-3. 회사 홈페이지 📄

예시 회사 소개 페이지

저는 노션에 소개 글을 스크랩하고 중요한 부분을 밑줄 치며 분석하였습니다.
실제로 면접 보기 전에 회사 분석한 노션을 첨부해 두겠습니다.

지원자는 회사 홈페이지를 통해 회사 제품, 팀 문화, 인재상, 중요하게 생각하는 가치관을 알 수 있습니다.
엄청 깊게 조사하는 게 아니라 회사에서 중요한 게 무엇인지, 면접에서는 어떠한 것을 나에게 검증하려 할지 조사해보세요.

예시 페이지에서는 빠르게, 일의 가치, 회사 도메인(교육)을 강조하였습니다. 그래서 각각의 키워드와 경험을 엮으며 답변을 준비했습니다.

실제 면접에서도 다음과 같은 질문이 나왔습니다.

  • 프로젝트 하면서 빠르게 개발한 경험이 있나요?
  • 커리어의 목표는 어떻게 되나요? > 10년 뒤에 어떠한 개발자가 되고 싶으시나요?
  • 우리 회사에 왜 지원했나요? > 교육에 관심을 가지게 된 계기는 무엇인가요?

1-4. 잡플래닛 면접 후기(optional)

마지막으로 저는 잡플래닛을 통해 해당 회사의 면접 후기를 봅니다. 만약 회사가 등록되지 않아도 크게 상관은 없습니다.

잡플래닛 면접 후기 중에서 거짓인 정보도 있는데요.
저는 한 리뷰만 보고 믿는 게 아니라 개발 관련된 후기 전체를 검토하여 공통된 부분과 면접 분위기를 파악합니다.

요약

  1. 합격 메일을 통해 기술 면접 진행방식 정보를 얻자.
  2. 채용공고와 회사 홈페이지를 보고, 그 회사만의 가치관에 대해 조사하자.
  3. 위에서 얻은 내용을 바탕으로 나만의 답변을 준비하자.

STEP 2. 대화 하기(~ ing)

제가 이전에 토스 면접을 보면서 정말 후회됐던 것이 있었습니다. 어려운 질문이 들어왔을 때 침묵으로 일관했던 것인데요.

침묵이 해결해주지 않습니다.

저의 생각을 물어본 질문에 답이 떠오르지 않아 1분넘게 침묵했던 적이 있었습니다. 면접이 끝나고 너무 후회되더라구요. 어려워도 면접관님과 이야기 하면서 제 생각을 도출했더라면 대답은 할 수 잇었을 것 같은데 대답도 하지 못한 제가 너무 한심해보이기도 했습니다. 그래서 저는 해당 면접 이후 면접은 대화라는 사고를 하게 되었습니다.

모르는 질문에 침묵으로 일관하는 것이 아닌 최대한 대답하면서 후회없는 면접을 보자.

2-1. 역질문하기 🙋🏻‍♀️

이해가 되지 않는 질문이나 어려운 질문이면 다시 한번 면접관님에게 질문해 보세요.

저는 한 면접에서 프로젝트 개발에 관한 이야기를 하다 면접관님이 다음과 같은 질문을 하셨습니다.

면접관: 그럼 개발하실 때 주도적으로 하시나요? 아니면 팀원들과 함께하시나요?

프로젝트에 관해 이야기를 하다 너무 뜬금없는 질문이라 답변을 바로 하지 않고, 면접관님께 질문의 의도에 대해 여쭤보았습니다.

나: 팀 내에서 리더형인지 팔로워 형인지 여쭤보시는 건가요?

이렇게 다시 역질문 하니 다음과 같은 답변이 돌아왔습니다.

면접관: 아 제 질문이 조금 모호했던 것 같아요. 기능을 개발할 때 팀과 함께하는지 아니면 각자 기능개발을 개인적으로 맡는지 궁금했어요.

  • 내가 이해한 질문의 의도: 리더형 vs 팔로워 형
  • 면접관님의 의도: 기능 개발할 때 다 같이 vs 각자 역할을 맡아 개발

이렇게 질문에 대해 이해를 못 했더라면 다시 한번 역질문을 하시면서 의도에 맞는 답변을 하시는 걸 추천해 드립니다.

면접은 면접관만 질문하는 게 아니라 지원자도 궁금한 것에 관해 물어보는 대화라는 시간인 걸 꼭 명심하세요!
면접관이 갑이고, 지원자가 을이 아니라 개발자 대 개발자로 대화한다는 것을 인지하신다면 면접을 편하고 재밌게 보실 수 있습니다. 정말입니다!

면접관과 지원자의 관계는 갑을 관계가 아니라 개발자 대 개발자이다.

2-2. 회사에 관해 질문하기 🙋‍♂️

제가 9번 면접을 보면서 7번은 회사에 대한 Q&A 시간이 있었습니다. 짧게는 10분 길게는 30분 동안 회사에 관해 이야기 나눌 수 있었습니다. 그래서 저는 Q&A 시간이 있든 없든 미리 회사에 대한 질문 리스트를 작성하고 갑니다.

첫 면접이었을 때 질문 준비를 하지 않아 30분 시간 동안 회사에 대한 정보를 얻을 수 없었는데요. 면접 이후 회사에 대한 정보가 없어서 입사를 취소했습니다. 그 정도로 Q&A는 회사에 대해 알 수 있는 중요한 시간입니다. 그 시간에 누구나 알 수 있는 정보보다는 현업 개발자에게만 들을 수 있는 질문을 물어보시는 걸 추천해 드립니다.

  1. 누구나 알 수 있는 질문
  • 기술 스택은 어떻게 되나요?
  • tool은 무엇을 사용하시나요?
  • 회사 인원은 어떻게 되나요?

  1. 회사에 대해 알 수 있는 질문
  • 최근 경험한 기술 문제는 무엇인가요?
  • 새로 추가되는 기능이나 신사업이 있나요?
  • 온보딩은 어떤 식으로 진행되나요?
  • 개발팀 인원 구성이 어떻게 되어있나요?
  • 개발부터 배포 과정이 어떻게 진행되나요?
  • 사내 스터디 문화는 어떻게 운영되나요?
  • 개발팀만의 협업 방식이나 팀 문화 같은 게 있나요?

추가로 저는 이렇게 나와 있는 대로 질문하지 않고 회사에 대한 관심과 성향을 엮어서 질문하는 편입니다.

  • 사내 스터디 문화는 어떻게 운영되나요?

    제가 스터디 활동을 통해 배운 게 많아서 스터디를 하고싶은 목표가 있어요, 여기도 사내 스터디가 있다고 하였는데 주로 어떤 주제를 위주로 다루나요?

  • 새로 추가되는 기능이나 신사업이 있나요?

    채용공고에는 000이나 000 서비스를 제작한다고 나와 있는데 현재 런칭한 기능에서 추가되는 기능은 어떤 게 있을까요?

  • 개발팀만의 협업 방식이나 팀 문화 같은 게 있나요?

    1. 채용 페이지를 봤을 때 팀 문화를 엄청나게 중요시 한다는 것을 느꼈어요, 만약에 팀 내에서 갈등이나 의견 충돌이 발생했을 때 현업에서는 어떻게 해결하시나요?
    2. 홈페이지에서 규모가 커도 스타트업처럼 빠르게 진행된다고 하셨는데, 제가 직접 프로젝트를 하면서 스프린트 기간이 너무 짧아도 단점이라고 느꼈어요. 000에서 이러한 문제점을 어떻게 의사소통하시나요?

Q&A 시간은 회사에 대한 정보도 얻고, 회사 관심도를 어필할 수 있는 중요한 시간입니다. 이 시간을 어떻게 활용할지 고민해 보세요!

요약

  1. 면접에서 침묵은 해결해 주지 않는다.
  2. 면접은 대화다. 개발자 대 개발자로 이야기한다고 생각하자.

STEP 3. 면접 복기하기(after)

면접 복기는 단순히 기록이 아닌 더 나은 면접을 위한 것입니다.

4번의 최종 탈락을 겪어도 복기하면서 저의 부족한 점을 보완하며 극복할 수 있었습니다.
무조건 합격 발표 나오기 전! 면접 보고 나서 3일 전에는 복기합니다. (왜냐면 3일이 지나면 기억이 안 나기도 하고, 탈락을 받으면 해당 면접 복기하기 싫잖아요..ㅜㅜ)

복기 내용에는 면접 질문, 내가 한 답변, 꼬리 질문, Q&A 답변을 정리합니다. 또한 마지막으로 내가 느낀 점과 피드백을 직접 해봅니다. 이렇게 복기하면서 부족한 점을 찾으면 지치고 힘든 면접 이후에도 해야 할 일을 알게 되어 꾸준히 준비할 수 있게 됩니다!

요약

  1. 복기는 다음 면접을 위한 발판이다.
  2. 결과가 합격이든 불합격이든 빠른 기간 내에 복기하는 걸 추천한다.
  3. 본인이 직접 피드백 하면서 부족한 점을 채워나간다.

STEP 4. 그 외 준비 방법(etc)

4-1. 스터디 📚

면접에서는 대부분은 그 사람이 아는 기술에 대해 다시 한번 검증하는 과정을 거칩니다. 예를 들어 프로젝트에 A라는 라이브러리를 사용했다면 A가 무엇인지, 왜 썼는지, B 라이브러리와 차이점이 무엇인지 물어봅니다.

이때 스터디를 하면서 소규모로 A라는 기술에 대해 발표하게 된다면 A에 대해 더욱 심화적으로 알 수 있을 것입니다. 그래서 저는 스터디를 하면서 특정 기술에 대해 발표하고, 다른 팀원의 스터디 발표를 들으면서 기술에 대한 지식을 쌓았습니다.

4-2. 모의 면접 🎤

면접을 준비하는 제일 좋은 방법은 바로 모의 면접인데요. 면접을 두려워하지 않고 직접 부딪혀보면서 어떤 게 부족한지 공부하는 것입니다. 모의 면접을 준비할 때 바로 중요한 것은 답변을 대본처럼 외우지 않는 것입니다.

  1. 면접 질문 리스트 작성
  2. 아는 지식 선에서 대답해 보기
  3. 부족한 점 찾기
  4. 부족한 점을 구글링하며 배우기
  5. 2번으로 돌아가 다시 질문에 대해 대답해 보기

이렇게 질문에 대한 답변을 적어 줄줄 외우는 것 보다, 부족한 점에 대해서 계속 지식을 메꾸면서 준비한다면 실제 면접에서 자연스럽게 답변하실 수 있습니다.

요약

  1. 스터디를 통해 특정 기술에 대해 발표한다면 더욱 깊이 있게 배울 수 있다.
  2. 모의 면접을 하면서 부족한 점을 찾자.
  3. 답변을 대본처럼 외우지 말고 부족하더라도 내가 아는 대로 대답하자.

마무리

면접에서 좋은 결과를 받지 못해도 긍정적인 태도로 포기하지 않고 나아가신다면 언제는 좋은 결과가 있을 것입니다. 처음으로 면접을 준비하시는 분, 지속적인 탈락으로 인해 고민이 많으신 분 등등 모든 분에게 좋은 영향이 되었으면 하는 마음으로 마무리하겠습니다.

긴 글 읽어주셔서 감사합니다 :)

면접 준비 때 도움이 되었던 레퍼런스

강민혁님 유튜브 채널
이정민님의 취업 회고 글
코딩냥이님의 면접 글
이현주님의 프론트엔드 면접 질문 정리 글
이용욱님의 면접 준비 노트
프론트엔드 면접 질문 및 답변 정리
프론트엔드 기술 면접 필수 질문 정리

profile
프론트엔드를 좋아하는 평범한 주니어 개발자입니다!

0개의 댓글