프론트엔드 개발자 면접 질문 모음

프론트엔드 개발자 경력 이직을 하는 과정에서 면접시에 들은 질문들을 정리해보았다.

이직을 준비하고 면접을 보면서 들어보고, 내가 물어본 질문을 정리해보았다. 질문에 대한 대답을 다 정리하진 않았지만 질문들을 정리해서 갖고있어야겠다.

나름 주제별로 소분해서 작성해보자.

😀 Frontend

📔 Frontend 전반

  • 퍼블리싱과 프론트엔드는 다른 영역이라고 생각하는데 어떻게 생각하는지
  • SSR과 CSR의 차이는 무엇인지?
  • DOM이란 무엇인지 설명해달라
  • 리얼DOM과 가상DOM의 차이와 가상DOM의 장단점을 얘기해주세요.
  • 타입스크립트를 사용해 본 경험이 있는지
  • 모바일 웹을 해봤나? (반응형 뿐만 아니라 웹뷰, 퍼블리싱 여부를 묻는 질문이었음 것이라고 생각함)
  • 달력같은 기능은 외부 라이브러리를 주로 이용하게 되는데, 그렇게 되면 디자이너가 요구한 스타일과 상이할 수 있다. 그런 경우에는 직접 라이브러리나 컴포넌트를 만들어 보는 경험은 없었나
  • 한 화면(메인 || 서브메인급)을 구성하는데 퍼블리싱, 스타일, 뷰를 이용한 구현까지 얼마나 걸릴 것 같은지
  • 웹사이트를 최적화하는 방법에는 어떤것들이 있는가
  • 동시접속자가 많을 때, 프론트엔드단에서 할 수 있는 일이 무엇일지
  • IE 몇 버전까지 지원을 해봤는지
  • IE9 버전에서 지원하지 않는 기능은 어떻게 처리했는가
  • preload와 prefetch의 차이
  • lazy load란 어떤 방식이며, 어떻게 작동하는가
  • babel은 어디까지 지원했나
  • 웹팩 설정은 어떻게 구성해서 사용을 했는지
  • 인증처리는 어떻게했나
  • CORS를 위한 처리를 했는지
  • ESLint나 다른 Formatter를 사용한 경험이 있는지
  • ESLint를 사용했는데, 어떻게 사용했는지
  • eslint 도입 계기는 무엇인지
  • Sementic UI 프레임워크를 사용하셨는데, 다른 UI 프레임워크에 비해 장단점이 있는지
  • REST API란?
  • REST API에서 PUT과 PATCH 메소드의 차이는?
  • 함수형 프로그래밍이란 무엇인지 설명해줄 수 있나
  • 웹소켓을 사용해봤다고 적혀있는데, 구체적으로 뭘 해봤는지
  • gulp를 사용해봤다고 적혀있는데, 어떻게 써봤는지
  • 모바일 (Native Script, React Native 등) 개발 경험이 있는지
  • 하이브리드를 해본 경험이 있는지
  • 하이브리드가 어떻게 동작하는지에 대한 이해가 있나
  • low level js를 이용하여 라이브러리를 작성해 본 경험이 있는지
  • canvas를 사용해 본 경험이 있는지
  • 배포는 어떻게 했는지, 자동화 했는지
  • 테스트코드 작성 경험이 있나
  • 포트폴리오에 적힌 홈페이지가 SEO 적용이 안되어 있는데 이유가 있는지

📗 Frontend Framework (주로 Vue 위주)

  • Angular, React가 아닌 Vue를 선택한 이유는?
  • jQuery, Vue, React는 각각 어떤 느낌인지
  • React의 장단점은 뭐가 있을지
  • 프론트엔드 프레임워크를 사용하면서 상태관리를 하는 방법을 알고있고 경험이 있는지
  • Vue 사용 시, 컴포넌트간 통신(데이터 교환)은 어떻게 했나
  • Flux를 설명해 달라
  • Vuex를 설명해달라
  • Vuex 관리는 어떻게? (클래식 방식, 모듈 방식)
  • Vuex 초기 데이터는 언제, 어떻게 세팅을 했는가
  • 개발할 때 Vue를 사용하셨는데, jQuery를 섞어서 쓴 이유가 있는지
  • jQuery와 Vue를 같이 쓰면 이벤트가 중복되거나 하는 경우가 있을텐데 어떻게 처리했는지
  • Vue를 곧바로 써야하는데 따로 개인시간을 통해 학습이 가능한지
  • Vue의 라이프사이클에 대해 설명해달라
  • Vue에서 컴포넌트가 많이 겹치면 props가 많아져 복잡해질텐데, 어떻게 해결을 했는지
  • Vue와 React 등은 SSR에 약한데 어떻게 대처할 수 있는지
  • Nuxt사용 경험이 있는지
  • Vue를 다루면서 힘들었던 점이 있었다면 무엇일지
  • React에도 관심이 있는지
  • 블로그는 Vue를 이용해서 만들었는지

📒 JavaScript

  • Callback과 Promise의 차이를 설명해줄 수 있나
  • ES6에 대해 아는 것을 말해주세요
  • ES6을 사용하면서 기존에 비해 특별히 마음에 들었던 것이 있는지
  • ‘==‘와 ‘===‘의 차이는?

📘 개발자

  • 기존에 사용하던 기술 외에 관심이 있는 기술, 스킬은 무엇인지
  • 디자이너와의 협업은 어떻게 해왔나
  • 백엔드 개발에도 생각이 있는지
  • Node를 배우고 싶다고 했는데, 언제까지 결과를 만들어낼 수 있다고 생각하는지
  • 개발자를 시작한 이유
  • 개발자 중에서도 프론트엔드를 선택했고, 그게 마음에 드는 이유
  • 포트폴리오 작업은 어떻게 했나
  • IT관련 정보는 어떻게 얻고 있나
  • 공부는 주로 어떻게 하나
  • 맥북 환경에서 컴파일 할 수도 있는데, 리눅스 사용 경험은 있는지
  • 백엔드, 프론트엔드 경력이 같이 있는데 순수한 프론트엔드 개발자로서의 경력은 어떻게 되나
  • 풀스택 개발자란 무엇이라고 생각하나
  • 풀스택이 되고싶은지?
  • 새로운 기술 습득은 어떻게 하는지
  • 그 새로운 기술들을 공부하면서 직접 구현하거나 만들어 본 경험은 있는지

😎 인성/기타

  • 자기소개
  • 직전연봉과 희망연봉은?
  • 언제부터 근무가 가능한지?
  • 전 직장을 퇴사한 이유
  • 학과시절 기억에 남는 전공 과목이 있는지
  • 정보처리기사 자격증이 있는지
  • (면접 보고 있는 회사의) 현 근무지 혹은 이사 예정인 근무지에 대해서 어떻게 생각하는지
  • 자사 서비스를 사용해봤는지? 어떤 느낌이었나
  • 자사에 지원한 이유는?
  • 자사는 어떻게 알게 되었나
  • 입사하게 된다면 어떤 일을 할 수 있을 것 같은지
  • 어떤 성격의 업무를 가장 잘 하는지
  • 성공이란 무엇이라고 생각하는가
  • 타인이 본인을 평가할 때 어떤 평가를 주로 들었는지
  • 타인에게 들었던 피드백 중 인상깊었던 말이 있었는지
  • 면접관을 회사와 관계없는 사람이라고 가정하고 회사의 서비스를 설명해본다면?
  • 지원하는 회사들을 고르는데 주요한 이유들이 뭐가 있을지
  • 지원하는 회사들을 고르는 이유가 있다면, 그 이유가 우선순위가 된 배경은 무엇인가
  • 다른회사도 구직, 면접이 진행중인지
  • 의견이 부딪히는 경우에는 어떤식으로 해결하나
  • 본인이 주도해서 업무를 이끈 경험이 있는지
  • 이전 경험 중 어떤 문화가 본인과 잘 안맞았나
  • 이전 직장 경험 중 어떤 직장/개발문화가 본인과 잘 맞았나
  • 지난 경험 중 특별히 기억에 남는 경험이 있다면
  • 원하는 개발팀에 대한 모습이 있다면?
  • 자랑할만한 기술이나 스킬이 있을지 (직무/인성/기타 소프트스킬)
  • 회사에 대해 궁금한 점이 있나
  • 협업툴 사용 경험이 있나, 있다면 어떤 툴이나 방식이 있었나
  • 기억에 남는 프로젝트가 있다면?
  • 사전과제 중 이 방식(또는 문제)를 고른 이유
  • 취미는 무엇인가
  • 성공 경험이 있다면 무엇인가
  • 반대로 힘들었던 경험은 무엇인가
  • 팀(단체생활)으로써 힘들었던 경험이 있는지

❓ 역질문

  • 빌드/배포 관리는 어떻게 하는가
  • 모니터링 시스템이 있는지
  • 테스트환경이 있는지
  • 코드리뷰 문화가 있는지
  • 개발 외에 다른 업무를 서포트할 일이 있는지
  • 다른 프론트엔드 개발자가 있는지
  • 기술스택이 어떻게되나
  • 개발자들끼리 또는 타 직군과의 협업은 어떻게 진행되는지
  • 점심식사는 어떻게하나
  • 면접관분들은 현재 회사에 만족하는지
  • 입사하게 된다면 어떤 일을 하게 되는지
  • 채용공고의 목적은 회사의 스케일업 차원인지
  • 자격요건에 부합하지 않음에도 불구하고, 면접에 불러주신 이유는 무엇인지
  • 오늘 본 면접에 대한 피드백을 들을 수 있다면
  • 출퇴근 시간은?
  • 자랑할만한 개발문화는?
  • 협업과 관련한 문화는? (툴, 방식)
  • 공고에 적힌 주요업무에 따른 이후의 서비스나 업무의 방향은 어떻게 되는지?