첫 프론트엔드 인턴 면접 후기[면접탈]

KwakKwakKwak·2022년 11월 30일
7

내가 싼 똥

목록 보기
12/15
post-thumbnail

❗️회사명이나 라이브코딩 문제는 밝히지 않았습니다. 개인적인 첫 면접 되새김질을 위한 글입니다.

인생 첫 면접이자 취직 면접

학교 현장실습 프로그램 연계로 동아리를 같이 하고 있는 지인들이 다니고 있는 회사에 23년 상반기 채용연계 프론트엔드 인턴 파트에 지원하게 되었습니다. 프로세스는 일주일만에 속전속결로 끝났고, 결과는 탈락하게 되었습니다(개같이 멸망).

인터뷰를 진행하면서 느꼈던 점들, 개인적인 소감과 보충해야 할 부분들을 정리하고자 글을 남깁니다.

인터뷰 구성

  • 30분 인터뷰 + 30분 라이브코딩

1. 인터뷰

간단한 자기 소개 이후 간단한 질문부터 기술스택 질문까지 이어졌습니다. 1200자짜리 4개 질문을 요하는 자소서와 개인 노션 포트폴리오를 바탕으로 질문이 들어왔고, 다른 면접과 다를 것 없이 꼬리 질문을 통해 면접자의 지식이 어디까지인지 파고드는 방식이었습니다.

❌표가 쳐져있는 질문은 제대로 답변하지 못한 질문이었습니다. 앞으로 보충해야 할 부분이기도 합니다.

기본 질문

  • 몇 학년 재학 중, 내년 계획?
  • 개발이 천직이라고 느껴지는 이유나 사례가 있다면?
  • 프론트엔드 말고도 백엔드 경험이 있는지? 풀스택에 대해선 어떻게 생각하는지?
  • ai융합전공이던데 ai 말고 개발을 택한 이유가 있다면?

JavaScript

  • JavaScript 말고 다른 언어를 사용해본 적이 있는지?
    - Python은 어떤 언어라고 생각하는지?(꼬리 질문)
  • JavaScript의 Promise에 대해 설명할 수 있는지? ❌
  • const와 let에 대해 설명할 수 있는지?
  • event loop에 대해 설명할 수 있는지? ❌

React

  • React는 언제부터 사용했는지?
  • React를 사용하면서 기존 Vanilla JavaScript와 비교해서 어떤 점이 좋았는지 구체적으로 설명할 수 있는지?
  • useEffect 훅을 언제 사용하면 좋고 어떻게 동작하는지 더 자세히 설명해줄 수 있는지?
  • deps array는 왜 필요한 것인가?

TypeScript

  • TypeScript는 언제부터 사용했는지?
  • 사용하면서 어떤 점이 좋다고 느꼈는지?

CSS

  • 프로젝트에서 Styled-Components를 사용한 것도 있고 TailwindCSS를 사용한 것도 있는데 TailwindCSS는 어떤 이유에서 도입한 것인지?
  • Styled-Components도 재사용률을 높일 수 있는 방법이 있는데 그 방법에 대해선 어떻게 생각하는지?

자료구조

  • 블로그에 시간복잡도/공간복잡도를 공부하면서 스택과 큐를 공부해야겠다고 적어놨던데 그럼 스택과 큐에 대해 설명할 수 있는지? ⚠️
  • 알고리즘 문제는 Python말고 JavaScript로는 풀어본 경험이 있는지? ❌
  • 정렬 알고리즘에 대해 아는만큼 설명하시오. ❌

git

  • git 버전관리를 해본 경험이 있는지?
  • rebase와 merge 커맨드가 어떻게 다른지 설명할 수 있는지? ❌
  • rebase 커맨드를 선택한 이유는? ❌

2. 라이브코딩

Vite + React + TS 환경에서 VSCode의 Sidebar를 웹으로 구현하는 과제

결론 : promise 문법을 아예 몰라 데이터를 가져오지도 못하고 어영부영하다 끝났습니다.

라이브 코딩 당시 면접관 두 분이서 굉장히 친절하게 알려주셨고(알려줘도 이해 못하고 버벅거림), 끝난 뒤에는 어떻게 문제를 접근해야할 지에 대해서도 알려주셨습니다.

처음엔 폴더 구조를 펼쳤다 닫았다 하는 페이지를 만들라는 문제 자체를 이해하지 못했고, 시간이 흐르고 나서야 depth가 3층 정도로 깊은 배열 데이터를 보고 '아 이걸 불러와서 가공해서 보여줘야 하는구나'라는 생각을 했습니다. 그러나 api 연동 경험이 거의 전무하다시피 했기 때문에 기본적인 async await 문법도 못썼고 .then이라든지 promise 객체를 한 꺼풀 까는 것도 시도하지 못했습니다.

promise 객체 안에 들어있는 데이터를 꺼냈어도 그 다음 스텝으로 나아가지 못했을 것 같았습니다. 왜냐하면 depth가 3단계 이상인 배열 데이터였기 때문에 단순한 map 함수나 반복문으로는 깊이가 있는 폴더 구조를 구현할 수 없었기 때문입니다. 반복문으로 depth 한 층의 데이터를 재귀적으로 접근하면 문제가 풀릴 것이라는 해설을 들었지만, 재귀적인 함수 호출은 파이썬으로 자료구조 수업 때나 몇 번 해본게 전부이지 자바스크립트로는 해보지 못했기 때문에 면접이 끝난 뒤 다시 풀어보려 했을 때도 혼자의 힘으로는 해결하지 못했습니다.

결국 구글링으로 문제와 매우 흡사한 코드를 찾아(구글링은 없는게 없어..) 해결하였지만, 이 과정에서 저의 부족한 점이 무엇인지 너무나 확실하게 알 수 있었습니다.

  • api 연동 경험이 너무 부족했다
  • TypeScript도 TypeScript지만 JavaScript도 더 깊게 공부해야하고, 근본이 부족했다
  • 프로젝트에서 마크업 부분에 너무 시간쏟지 말고 데이터부터 받아오는 연습이 필요하다

면접 및 회사 후기

탈락 메일을 받기 전의 후기입니다. 통째로 날리긴 아쉬워서 취소선 그을 곳은 긋고 남겨둡니다.

1시간의 면접을 마치고, 가장 먼저 드는 생각은 '아 현장실습임에도 불구하고 좋지 못한 결과를 받을 수도 있겠다' 였습니다. 인터뷰는 그래도 나름 잘 답변했다 생각하지만, 라이브 코딩에서 아무 것도 시도하지 못하고 끙끙대기만 한 모습이 마음에 아직도 걸립니다.

그와 별개로 면접 본 회사는 너무 좋았습니다. 사옥도 새거여서 굉장히 깔끔했고, 무엇보다 면접관으로 들어오신 두 분께서 면접 내내 매우 친절하게 대해주셔서 감동받았습니다. 미팅 룸 가는 길에서 마주친 직원 분도 반갑게 인사해주시는 모습을 보며 여긴 모두가 일하기를 즐겨한다는 느낌을 받았고, 회사 복지도 들은 바로는 굉장히 준수한 편이고 업무하는 모습을 엿봤을 때 매우 자유로운 분위기에서 거리낌없이 토론하며 의견을 주고받는 모습을 볼 수 있었습니다.

그래서 그런지 더더욱 내 오늘 면접이 아쉽게 느껴집니다... 제발 붙여주세요.. 이 어리석은 보잘 것 없는 어린 양을 거둬주세요... 거둬주시기만 한다면 23년은 이 곳에 뼈를 묻겠습니다...

한줄평

아직 인턴에 붙을 실력은 절대 아니다.

스스로에게 너무 가혹한 평가일 수도 있으나 개발을 시작한지 1년이 되어가는 지금 객관적인 평가 기준으로 삼을 수 있는 무언가가 필요했기 때문에 이 면접은 비록 탈락했지만 그만큼 저에겐 값진 경험이 되었습니다.

탈락했다는 메일을 받은지 30분도 지나지 않고 바로 후기를 적느라 아직 스스로를 뒤돌아볼 시간이 충분하진 않지만, 글을 쓰면서 생각해봤을 때 너무 스스로가 배움의 속도를 늦추고 지연시키고 느슨해지려 했던 것 같다는 생각이 듭니다. 항상 마음만은 x2x^2 함수의 그래프처럼 기하급수적으로 성장하고 싶은데, 현실은 log2xlog_2x의 그래프대로 가는게 아쉽습니다. 뭐든지 단번에 성공하기는 쉽지 않기 때문에 절치부심해서 내년에 '개같이 부활'했으면 좋겠습니다.

1개의 댓글

comment-user-thumbnail
2024년 2월 13일

면접 준비하는데 도움이 많이 됐습니다 감사합니다~

답글 달기