안녕하세요, 프론트엔드 신입에 지원합니다.

Hayley·2022년 2월 10일
312
post-thumbnail

먼저 '내가 개발자가 되려고 결심한 이유'를 주제로 포스팅하려다가
이번에 취업을 준비하면서 신입 FE 면접 내용을 포스팅해보는 게 좋겠다는 생각이 들었다.
그래서 이번 포스팅은 면접에서 받은 질문과 답변 정리!

잠깐 사설을 늘어놓자면 이전에 나는 개발과는 먼 직종에서 프리랜서로만 일을 했고 때문에 회사 면접을 봐본 적이 없어 회사 면접을 본다는 게 너무 까마득했다. 실제 면접을 보며 나의 부족함이 많이 창피해졌고 자신감도 많이 떨어졌다. 처음 본 면접에서는 긴장했던 탓인지 괜스레 하이텐션 모드가 되기도 하였고, 면접 질문의 주제를 벗어나 아무 말을 늘어놓기도 했다. 누구든지 나보다는 면접을 잘 볼 것 같았다. 제일 아쉬웠던 점은 잘 모르는 질문에는 솔직하게 모른다고 하고 정중하게 답을 물어볼 것을 그랬다. 반성 그리고 노력 🥲


📋 이력서

  • 이력서에 첨부한 것들
    • 포트폴리오 사이트
    • 노션으로 작성한 이력서.pdf
    • 깃허브, 벨로그 링크

👩🏻‍💼 기본적인 질문

Q: 자기소개를 해주세요

안녕하세요, 프론트엔드 신입에 지원한 2n살 ㅇㅇㅇ입니다. 이전에 저는 ㅇㅇ로 다년간 종사를 하였습니다. 어느 날 문득 세상이 하루하루 무섭게 바뀌고 있단 생각이 들었습니다. 그 배경에는 IT분야의 발전이 존재한다는 것을 깨달았고 모든 시장에서 IT란 이미 빼놓을 수 없는 분야이며 머지않아 일상의 모든 것이 온라인 시장에서 이루어질 거라 짐작이 되었습니다. 그리고 이렇게 기술발전이 이뤄지는 세상에 기여하는 사람이 되고 싶었습니다. 그리해서 2021년 초에 본격적으로 커리어 전환을 계획하였고 2021년 6월, 개발자로서 제 삶의 2부를 시작하기 위해 서울로 오게 되었습니다.

Q: 포부를 말씀해주세요

개발자로 살기 위해, 더 많은 것을 보고 배우기 위해 왔습니다. 출발이 늦었지만 그런 만큼 업무에 지대한 관심과 적극성을 가지고 임하며 다양한 문제와 오류상황에 적절히 대처하고 해결하는, 회사의 기술발전에 기여하는 인재가 되기 위해 저의 노력과 열정을 끊임없이 불태우겠습니다.

Q: 본인의 장점과 단점에 대해 말씀해주세요

장점) 장녀로 태어나 자연스럽게 책임과 배려를 배웠고 장녀로서 모범이 되고자 자기주도적으로 성장하였습니다. 이것은 제가 사회생활을 하거나 인간관계를 맺음에 있어 장점으로 작용하였습니다.

단점) 단점으로는 사람들을 처음 만날 때 약간 낯설어하는 경향 때문에 종종 차가워 보이는 인상을 줄 때가 있습니다. 이때 간식을 준비하거나 먼저 안부를 묻는 방법으로 다가가기 위한 노력을 하고 있습니다.

Q: 개발을 하면서 가장 힘들었던 경험은 무엇인가요?

이 질문엔 체계와 팀프로젝트가 부족했던 점, 다양한 에러사항들을 스스로 해결해야했던 점, 최근에 최적화 과정에 대해 처음 배우게 되었는데 이것을 이해하고 다시 적용해보는 과정이 어려웠다 등 여러 이유를 솔직하게 말씀드렸다.

지금 생각해보니 문제를 해결하는 과정에 대한 질문 같은데 지금도 어떻게 대답하는 게 좋은 답변인지 잘 모르겠다.

Q: 학교를 검정고시 졸업하신 이유가 있으세요?

가정환경이 유복하지 못했습니다. 때문에 일찍 사회로 나가 남들보다 사회 경력을 먼저 쌓고 가정에도 도움이 되고 싶었습니다. 현재는 관련된 분야의 지식을 더 습득하고 싶고 또 학업에 대한 아쉬움이 있어서 방송대 진학을 생각 중에 있습니다.

Q: 일주일 내에 해결을 해야하는 업무가 주어졌는데 혼자 해결하기에 무리일 수도 있다면 이때 어떻게 해결하실 것 같으세요?

혼자 해결할 수 없다고 판단이 되면 지체없이 동료들과 회의하고 소통하여 문제해결을 위해 함께 노력하여야 한다고 생각합니다. 물론 스스로 문제해결을 위한 시도가 선행이 되어야 한다고 생각하며 이때 관련된 강의를 찾아보거나 개발 커뮤니티 등을 이용해서 문제 해결을 시도해볼 것 같습니다.

Q: 왜 우리 회사에 지원했나요?

  • 이 질문에 대답하기 위해서는 면접 전 사전조사가 필수
  • 공고에 올라온 홈페이지를 보거나 인터넷 서치를 통하여 회사의 소개, 특성을 스크랩하기
  • 비슷한 서비스를 하는 다른 회사의 특징과 장단점 조사

내가 어떤 부분을 경험 또는 배워볼 수 있을지,
어떤 부분에서 회사에 기여할 수 있을지를 생각해 답변을 준비해갔다.

(스타트업일 경우) 이전에 창업에 관심이 있었던 만큼 스타트업에도 관심이 많아 지망하였습니다. 미약하지만 제 노력의 결과를 가시적으로 확인할 수 있다는 점, 저의 성장이 회사의 성장이고 회사의 성장이 저의 성장인 점 이것이 큰 장점이라 생각합니다. 해서 ㅇㅇㅇ에서 저의 커리어를 만들고 함께 성장하고 싶어 지원하게 되었습니다.

Q: JavaScript나 React 외에 관심있는 기술이 있나요?

앞으로 마주칠 다양한 문제들을 해결하기 위해선 관련된 모든 분야에 관심을 가져야한다고 생각합니다. 따라서 백앤드 쪽에도 관심을 가지고 있으며 프론트엔드 쪽으로는 Vue.js에도 관심이 있습니다.

사실 Vue.js보다는 솔직하게 Node.js, Flutter를 말했어야하는데 그 자리에서 다른 게 생각이 안 나서 이렇게 답변했다.

Q: 우리 회사에서 인상적인 부분이 있었나요?

주로 회사가 서비스하는 것과 홈페이지의 UI/UX 부분에 대해 언급을 했다.

Q: 우리 회사의 서비스를 사용해보면서 느꼈던 장단점이 있나요?

사용을 못 해봤다고 솔직하게 답변..

Q: 스스로 생각하기에 개발자로서 본인이 현재 어느 단계에 있다고 생각하세요?

Figma나 디자인 소스를 받아 화면을 구성하는 퍼플리싱 업무를 수행할 수 있고 리액트의 props로 반복되는 코드를 줄일 수 있습니다. React.memo를 이용해 컴포넌트의 성능을 최적화할 수 있습니다.


🛠 기술 질문

Q: LifeCycle에 대해 설명해주세요

라이프사이클이란 컴포넌트의 생명주기이고 생성부터 실행, 업데이트, 종료 과정까지를 말합니다.

그리고 바로 라이프사이클 메서드에 대해 설명해달라고 하셔서 많이 당황... 이때부터 무지 긴장해서 멘붕이었다. 면접이 끝날 때 즈음 면접관님께서 이 부분은 FE 신입 면접 시 기본으로 물어보는 기초 질문이니 준비를 잘하시면 좋겠다고 조언해 주셨다.

[React] 라이프사이클(Life Cycle) 이해

Q: var, let, const 대해 설명해주세요

const는 한번 선언을 한 이후 값을 재할당할 수 없고 var의 경우 한번 선언을 한 이후에도 재정의 할 수 있습니다. 또한 호이스팅이 일어나는데 ES6 이후 var의 단점을 보완하여 나온 것이 let키워드이며 호이스팅이 일어나지 않습니다.

[JavaScript] let 과 var의 차이, 호이스팅, 함수선언식과 함수표현식

Q: 호이스팅에 대해 설명해주세요

호이스팅은 var와 function에서 이루어집니다. 자바스크립트에서 코드는 위에서 아래로 순차적으로 실행되는 것이 원칙인데 이 원칙을 깨는 것이 호이스팅입니다.

[JavaScript] let 과 var의 차이, 호이스팅, 함수선언식과 함수표현식

Q: 동기, 비동기의 차이점이 무엇인가요?

[JavaScript] 동기 & 비동기 이해

Q: CSS의 Display 속성에 대해 말해주세요

flex, block, inline, inline-block

Q: CSS의 margin과 padding에 대해 설명해주세요

margin은 외부에 여백을 주는 것이고 padding은 내부에 여백을 줍니다.

Q: SPA에 대해 설명해주세요

'Single Page Application의 약자로 제가 만든 포트폴리오 사이트(React)가 SPA에 해당됩니다.'라고 대답하면 되는데 SPA가 뭐의 약자인지 진심 생각이 안 나는 바람에 그냥 모른다고 대답해버렸다.
React 공식문서의 SPA 설명: https://ko.reactjs.org/docs/glossary.html

Q: React의 특징에 대해 설명해주세요

UI, 기능 등을 Component 형태로 잘게 나누어 부품화하고 필요한 곳에 조립하여 사용할 수 있습니다. JSX문법 사용으로 컴포넌트를 쉽게 구성할 수 있습니다.

Props나 State에 대해 얘기해도 좋았을 것 같다.

Q: Git, GitHub를 사용하실 수 있나요?

커밋 메세지 작성 규칙을 따라 깃허브에 커밋 내역을 남길 수 있고 브랜치에 대하여서도 알고 있습니다. 머지 작업에 관련해서는 직접 해본 적은 없지만 필요할 경우 어떻게 수행할 수 있는지 빠르게 습득할 수 있습니다.

[Git] 깃허브 업로드 방법 & 커밋 메세지 작성 규칙

Q: Restful API 에 대해 설명해주세요

제이슨 형식으로 더미데이터를 만들어 사용해본 경험과 테스트 단계에서 가상데이터를 사용해본 경험 이외에 실무에서 API를 사용해본 경험이 없습니다. 이 부분에 대해서 깊게 공부가 필요할 것 같습니다.

Q: GET, POST에 대해 설명해주세요

그 부분에 대해선 공부가 필요할 것 같습니다.

만약 다시 이런 질문을 받게 된다면, '서버쪽의 데이터를 받거나 서버쪽으로 데이터를 던지고 싶을 때 사용합니다. 서버의 데이터를 받고 싶은 경우 HTTP GET, 사용자가 입력했던 데이터를 서버에 던지고 싶을 땐 POST를 사용해서 서버와 커뮤니케이션을 할 수 있습니다.'라고 말하고 싶다.

Q: 데이터구조에 대해 설명해주세요

JavaScript와 JSON 데이터 포맷

데이터구조가 무슨 말인지 몰라서 모른다고 했는데 JSON을 설명하면 됐었겠구나. 멍충멍충 ㅎ_ㅎ


🔎 추가로 궁금하신 것 질문하세요

  • 일하게 될 개발팀의 인원과 사수 여부, 가장 시니어이신 개발자분의 연차가 알고 싶습니다.
  • 출근하여 하루 일과는 어떤 식으로 진행이 되며 구체적으로 어떤 일을 하게 되나요?
  • 개발 인원을 어느 정도까지 충원하실 계획이 있으실까요?
  • 입사하기 전 세부적으로 어떠한 분야를 미리 공부해야 업무에 도움이 될까요?
  • 업무와 관련해 서적 또는 외부교육 지원여부가 궁금합니다.

🎈 마지막으로

Believe in yourself!

프론트엔드를 독학한 방법은 여기로 🌝

profile
👩🏻‍💻✍🏻

19개의 댓글

comment-user-thumbnail
2022년 2월 13일

좋은 글 감사합니다 배우고 갑니다 ㅎㅎ!

1개의 답글
comment-user-thumbnail
2022년 2월 15일

저도 취업준비중인데 좋은글 참고하고 갑니다!

1개의 답글
comment-user-thumbnail
2022년 2월 18일

홉 너무 좋아여 ㅠㅠ !!!감사합니다

1개의 답글
comment-user-thumbnail
2022년 2월 20일

다른분이 잘 정리해주신거 같은데 let도 호이스팅 됩니다 :)

1개의 답글
comment-user-thumbnail
2022년 2월 21일

안녕하세요! 꼼꼼한 글 잘 읽었습니다 🙌🏻
읽다가 get 과 post의 차이에 대해서 봤는데요! "캐시"와 관련해 "그래서 로그인은 왜 post 방식을 쓰는가?"에 대해서도 언급할수 있으면 더 좋을것 같습니다 😀
백엔드 면접이긴 했지만.. 해당 면접자분께서 단순하게 데이터를 읽을때 get, 쓸때 post라고 답변하셨을때 점수가 그렇게 크지 않았다고 들었어요! 로그인, 캐시, 보안 키워드만 언급해서 한~두문장으로만 덧붙이시면 더 좋을것 같습니다!
경험상... 어떤 개념을 설명할때 다른 개념을 예시로 설명하면 꼬리질문이 나오더라구요! 해당 답변을 짧게 하고 캐시와 관련해서 로컬/세션 스토리지와 쿠키에 대한 질문 대비하는것도 좋을것 같습니다!
응원합니다!💪💪💪

1개의 답글