이직을 준비하고 면접을 보면서 들어보고, 내가 물어본 질문을 정리해보았다.
질문에 대한 대답을 다 정리하진 않았지만 질문들을 정리해서 갖고있어야겠다.
나름 주제별로 소분해서 작성해보자.
😀 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관련 정보는 어떻게 얻고 있나
- 공부는 주로 어떻게 하나
- 맥북 환경에서 컴파일 할 수도 있는데, 리눅스 사용 경험은 있는지
- 백엔드, 프론트엔드 경력이 같이 있는데 순수한 프론트엔드 개발자로서의 경력은 어떻게 되나
- 풀스택 개발자란 무엇이라고 생각하나
- 풀스택이 되고싶은지?
- 새로운 기술 습득은 어떻게 하는지
- 그 새로운 기술들을 공부하면서 직접 구현하거나 만들어 본 경험은 있는지
😎 인성/기타
- 자기소개
- 직전연봉과 희망연봉은?
- 언제부터 근무가 가능한지?
- 전 직장을 퇴사한 이유
- 학과시절 기억에 남는 전공 과목이 있는지
- 정보처리기사 자격증이 있는지
- (면접 보고 있는 회사의) 현 근무지 혹은 이사 예정인 근무지에 대해서 어떻게 생각하는지
- 자사 서비스를 사용해봤는지? 어떤 느낌이었나
- 자사에 지원한 이유는?
- 자사는 어떻게 알게 되었나
- 입사하게 된다면 어떤 일을 할 수 있을 것 같은지
- 어떤 성격의 업무를 가장 잘 하는지
- 성공이란 무엇이라고 생각하는가
- 타인이 본인을 평가할 때 어떤 평가를 주로 들었는지
- 타인에게 들었던 피드백 중 인상깊었던 말이 있었는지
- 면접관을 회사와 관계없는 사람이라고 가정하고 회사의 서비스를 설명해본다면?
- 지원하는 회사들을 고르는데 주요한 이유들이 뭐가 있을지
- 지원하는 회사들을 고르는 이유가 있다면, 그 이유가 우선순위가 된 배경은 무엇인가
- 다른회사도 구직, 면접이 진행중인지
- 의견이 부딪히는 경우에는 어떤식으로 해결하나
- 본인이 주도해서 업무를 이끈 경험이 있는지
- 이전 경험 중 어떤 문화가 본인과 잘 안맞았나
- 이전 직장 경험 중 어떤 직장/개발문화가 본인과 잘 맞았나
- 지난 경험 중 특별히 기억에 남는 경험이 있다면
- 원하는 개발팀에 대한 모습이 있다면?
- 자랑할만한 기술이나 스킬이 있을지 (직무/인성/기타 소프트스킬)
- 회사에 대해 궁금한 점이 있나
- 협업툴 사용 경험이 있나, 있다면 어떤 툴이나 방식이 있었나
- 기억에 남는 프로젝트가 있다면?
- 사전과제 중 이 방식(또는 문제)를 고른 이유
- 취미는 무엇인가
- 성공 경험이 있다면 무엇인가
- 반대로 힘들었던 경험은 무엇인가
- 팀(단체생활)으로써 힘들었던 경험이 있는지
❓ 역질문
- 빌드/배포 관리는 어떻게 하는가
- 모니터링 시스템이 있는지
- 테스트환경이 있는지
- 코드리뷰 문화가 있는지
- 개발 외에 다른 업무를 서포트할 일이 있는지
- 다른 프론트엔드 개발자가 있는지
- 기술스택이 어떻게되나
- 개발자들끼리 또는 타 직군과의 협업은 어떻게 진행되는지
- 점심식사는 어떻게하나
- 면접관분들은 현재 회사에 만족하는지
- 입사하게 된다면 어떤 일을 하게 되는지
- 채용공고의 목적은 회사의 스케일업 차원인지
- 자격요건에 부합하지 않음에도 불구하고, 면접에 불러주신 이유는 무엇인지
- 오늘 본 면접에 대한 피드백을 들을 수 있다면
- 출퇴근 시간은?
- 자랑할만한 개발문화는?
- 협업과 관련한 문화는? (툴, 방식)
- 공고에 적힌 주요업무에 따른 이후의 서비스나 업무의 방향은 어떻게 되는지?