Skip to content

Latest commit

 

History

History
239 lines (159 loc) · 11.3 KB

question_list.md

File metadata and controls

239 lines (159 loc) · 11.3 KB

받은 질문 모음

  • ✅ 답변했다
  • ❎ 못했거나 애매하다

A 기업 (비대면)

일반

  • 자기소개를 해주세요
  • 왜 프론트엔드 개발자가 되기로 마음 먹었나요?
  • 어떤 식으로 공부를 하고 있나요

CS

  • 동기와 비동기의 차이점 ✅
  • DB와 전역 관리 reducer를 쓸 수 없는 상황에서 웹 API 단에서 데이터를 저장하려면 어떻게 해야 할까요? ❎
  • 타입스크립트를 쓰는 이유? ✅

포폴 관련

  • 만약 MVP 단위로 최소한의 실행 가능 제품을 만든다는 가정하에 꼭 필요한 기능은 무엇이라고 생각하나요? ❎

B 기업 (대면)

일반

  • 자기소개를 해주세요
  • 본인이 다녔던 학원은 어떤 곳인가요?
  • 본인이 생각했을 때 본인의 장점은?
  • 본인이 다른 지원자들과 비교했을 때 이 점만은 제일 낫다고 생각하는 점은 무엇인가요?

CS

  • 브라우저 렌더링 과정에 대해서 설명해달라 ✅
  • 브라우저 렌더링 과정에서 JS 동작 과정에 대해서 설명해달라 ❎
  • 동기와 비동기의 차이 ✅
  • 실행 컨텍스트에 대해서 설명해달라 ✅
  • 이벤트 루프에 대해서 설명해달라 ✅

포폴관련

  • 시스템 고도화를 위해 어떤 것들을 해봤나 ❎
  • Next.js를 쓴(도입한) 이유 ✅
  • 하이드레이션(hydration)에 대해 아는가? ❎
  • 타입과 인터페이스의 차이 ✅
  • 본인이라면 어떨 때 타입을 쓰고, 어떨 때 인터페이스를 쓸 것인가? ❎

후기

첫 대면 면접이였지만 사전 코딩 테스트에 대한 실력 미흡으로 아쉬움을 많이 샀다. 나에게 흥미를 느끼셔서 면접 제안까지 들어왔다고 생각하는데,

알고리즘 문제풀이에 대해 제대로 준비되지 않은 상태에서 코딩테스트를 보다 보니, 건들지도 못한 문제들이 있었다. 어쩌면 당연한 결과라고 생각한다.

그래도 면접을 볼 때 노션을 바탕으로 질문을 해주시는 것을 보고, 포트폴리오를 아예 보지 않는 것은 아니라고 생각해서 다행이였다.

진심어린 조언을 많이 해주시고 회사에 대한 비전을 설명해주셔서 흥미로웠다.

기업에 대한 이해도 또한 중요하지만, 그전에 내가 온전히 준비가 되었는지 대면 면접을 통해 확실히 느끼게 되었다.

기업의 입장에서도 알고리즘의 천재를 원하는 것이 아니라고 말씀해주셨다. 최소한 프로그래머스 코테 2단계까지 전부 풀고 이해한 상태에서 지원을 해야 겠다고 마음 먹었다.


C 기업 (비대면)

  • 자기소개를 해주세요
  • 다른 동종 업계 직군들이 있는데 우리 회사를 지원하게 된 이유는
  • 어떤 식으로 공부하는지
  • 일적으로 싫은 사람
  • 일 외적으로 싫은 사람

Cs

  • 변수 선언 방법 ✅

  • 변수 선언 방법에 따른 차이 ✅

  • 호이스팅이란 ✅

  • 스코프란 ✅

  • 실행 컨텍스트에 대해서 아는지 ✅

  • 클로저에 대해서 아는지 ✅

    • 클로저와 가비지 컬렉션의 관계 ❎
  • 이벤트 루프에 대해서 아는지 ✅

  • 태스크 큐와 마이크로 태스크 큐의 차이 ✅

  • 이벤트 위임이란 ✅

  • this는 어떻게 동작하는지 ✅

  • 콜백이란? 왜 쓰는지 ❎

  • 프로미스에 대해서 아는지 ✅

  • async await에 대해 아는지, ✅

    • async await의 장단점은? ❎
  • XMLHttpRequest와 fetch 함수의 차이 ❎

  • RESTAPI를 통해 응답 받은 status의 종류 아는대로 ✅


D 기업 (대면)

노션 포트폴리오 기반의 동작 가능한 서비스를 바탕으로 한 발표 및 질의 응답 (1 시간)

기술 질문 및 의견 공유 (1 시간)

의견 묻기

팀 리드 개발자이신 백엔드 개발자님과 다른 팀 리드 개발자이신 유니티 개발자님이 포괄적인 질문을 해주셔서 웹 프론트엔드 관련 질문은 상대적으로 적었다.

전체적으로 딱 떨어지는 정답이 요구되는 경우도 있었지만, 대부분 나의 경험과 생각을 바탕으로 문제를 직면했을 때 어떻게 풀어나갈 지와 같은 해결 방안 또는 과정에 대해서 많이 여쭤보셨다.

  • 솔직함과 무례함의 차이가 있다면?
  • 사수가 없는 환경에서 성장할 수 있는 편인지 혹은 사수가 있는 환경을 선호하는 편인지
  • WebGL에 대해서 알고 있나요?
  • Next.js는 언제까지 사용될 것 같은지?
  • 같은 네이버 웹 페이지라도 크롬과 사파리가 보여지는 css가 다른 경우가 있는데, 어떤 것을 기준으로 잡아야 할 지

CS 관련 질문

  • 쿠키와 세션의 차이 ✅
  • HTML5의 가장 큰 특징이 있다면 ❎
  • javascript와 typescript의 차이가 있다면? 어떤 것을 선호하는지 ✅
  • 브라우저마다 렌더링되는 결과(HTML 또는 CSS)가 조금씩 다른 이유는 ❎
  • 동기와 비동기의 차이 ✅
  • SPA 와 SSR의 차이 ✅

내가 한 질문

  • 개발 팀 구성원이 어떻게 되나요?
  • 팀의 기술 스택은 어떻게 되나요?
  • 한 프로젝트를 기준으로 개발 프로세스가 어떻게 진행되나요?
  • 예시 프로젝트에서 웹 프론트엔드 개발자로 어떤 기여를 할 수 있나요?
  • 입사 시에 맡게 되는 업무가 무엇인가요?
  • 신입 웹 프론트엔드 개발자를 뽑아본 경험이 있나요?
  • 만약 합격한다면 추후 프로세스는 어떻게 되나요?
  • 근무 환경이 어떻게 되나요 (주 당 근무 시간 / 출 퇴근 시간)
  • 주어지는 장비 또는 복지에 대한 내용을 알 수 있을까요?
  • 궁극적으로 나아가고자 하는 방향에 대해서 이야기해줄 수 있나요?

E 기업 (대면)

내가 뽑힌다면 들어가게 될 팀의 프론트엔드 개발자 분과 백엔드 개발자 분과 기술면접을 진행했다.

가벼운 알고리즘 문제를 바탕으로, 코드를 작성하는 것보다는 문제를 어떻게 접근할 것인지, 어떻게 해결할 것인지에 대한 인터뷰를 우선 진행했다.

이후 JS, React, 기타 팀문화에 대한 내용을 나눴으며 총 90분 정도 진행됐다.

JS 관련 질문

  • es6를 기준으로 준희님이 가장 많이 사용하는 것이 있을까요? ✅
  • 변수를 선언하는 대해서 알고있나요? ✅
  • 이벤트 루프에 대해서 아나요? ✅
  • 이벤트 루프 과정에서 큐의 종류가 크게 두 가지로 나타낼 수 있는데 이에 대해서 알고 있나요? ✅
  • mutable한 값과 immutable한 값의 저장 방식의 차이에 대해서 설명해줄 수 있나요? ✅
  • var 키워드와 let/const 키워드는 어떤 차이가 있나요? ✅
  • 호이스팅에 있어서 var , let, const 키워드는 어떤 차이가 있나요? ✅

React 관련 질문

  • 리액트를 왜 사용하나요? (리액트를 모르는 사람들을 대상으로 말한다는 기준) ✅
  • Virtual Dom에 대해서 아나요? ✅
  • setState의 경우 동기로 동작하나요 비동기로 동작하나요? ✅
  • useMemo와 useCallback의 차이가 뭔가요? ✅
  • 리듀서 내부에서 불변성을 유지하기 위해 얕은 복사를 사용하나요 깊은 복사를 사용하나요? ❎
  • 리덕스의 기본 원칙은? ✅
  • 리덕스를 사용하신다고 하셨는데, Flux 패턴에 대해서 알고 있나요? ❎
  • 본인이 생각하는 리덕스 thunk 와 saga의 차이가 뭔가요? ✅
  • 리덕스 toolkit을 사용하지 않는다면, 왜 사용하지 않으셨나요? ✅

기타 질문

  • 본인이 생각했을 때는 A라는 방법으로 진행하면 안되는데, 위에서 A라는 방법으로 하라고 지시가 내려온 경우 어떻게 하실건가요?
  • 백엔드 개발자와 협업한 경험이 있나요? 협업을 위해 어떤 프로그램을 사용했나요?
  • 디자이너와 협업한 경험이 있나요? 어떤 부분이 어려웠나요?

후기

메일로 온 공지를 바탕으로 CS와 JS, 그리고 포트폴리오 중심으로 기술 면접을 진행한다고 안내 받았었는데, 팀 내부적인 이유로 반영이 되지 않았던 구술 코딩 테스트가 진행 되었다.

사전에 인지하지 못한 내용이라, 구술 코딩 테스트 이후 진행했던 기술 질문에서 일정 부분 꼬이는 부분이 있었다. 나름 머리에 세겼다고 생각했는데, 리듀서 내부의 불변성을 유지하기 위해 얕은 복사라고 대답하였다가 얕은 복사가 아닌 깊은 복사를 한다고 말해버렸다.

사실 조금만 더 생각했으면 얕은 복사 였다는 것을 확신할 수 있었는데, 계속되는 질문에 머리가 생각을 멈춘듯 했다. (ㅋㅋㅋㅋㅋ ㅜㅜ)

그러다 보니 자연스럽게 리액트 질문에서 js 질문으로 내려오게 되었고 얕은 복사, 깊은 복사에 대한 질문을 답변한 후에야 내 기존 대답이 잘못되었음을 깨달았다.

기존에 안내받은 면접 시간은 5-60 분 정도였는데, 이야기를 하다보니 자연스럽게 90분 가량 진행하게 되었다.

어찌 보면 나에게 더 관심이 생기셨다고 스스로를 위로해 본다.

flux 패턴에 대한 질문이 첫 대면 질문에 들었던 내용인데, 그때 당시 아예 단어조차 처음 들어봐서 나중에 질문 회고를 작성할 때 추가조차 하지 못했다.

이번에는 정확히 대답 못한 부분이라 버스에 타자마자 검색을 하고 내용을 찾아봤다.

flux 패턴은 MVC 패턴과 같은 디자인 패턴의 일종이라고 볼 수 있지만, 리액트 라이브러리를 사용하면서 생기는 문제점을 보완하기 위해 적용한 패턴이다.

이 부분에 대해서는 추가적으로 문서를 더 읽어보고 명확히 정리를 해야겠다고 느꼈다.


F 기업 (대면)

풀 스택 리드 개발자 분과 기술 면접을 90분 가량 진행했다.

가볍게 포트폴리오 관련 질문과 학과 관련 질문으로 10- 15분 가량 대화를 나누고 JS / React / CSS 와 관련된 면접을 진행했다.

JS 관련 질문

  • 호이스팅에 대해서 알고 있나요?
  • 변수 호이스팅과 함수 호이스팅은 어떻게 다른가요?
  • var 키워드의 호이스팅과 let, const 키워드의 호이스팅은 어떤 차이가 있나요?
  • deep copy와 shallow copy의 차이점은 어떤게 있나요?
  • 클로저에 대해서 아나요?
  • 동기와 비동기의 차이점에 대해서 설명해줄 수 있나요?
  • 에러 처리를 왜 해야 하나요? 하지 않으면 어떤 상황이 발생하죠?

CS 관련 질문

  • 쿠키와 세션은 어떤 차이가 있나요?

React 관련 질문

  • 사용해본 훅 함수가 어떤 것들이 있나요?
  • 함수형 컴포넌트를 사용했을 때 클래스형 컴포넌트와 어떤 차이가 있나요?
  • 클래스형 컴포넌트의 라이프 사이클 메서드 측면에서 훅 함수와 비교해볼 수 있나요?
  • useLayoutEffect를 사용해보신 적 있나요?
  • useEffect와 useLayoutEffect는 어떻게 다른가요?

CSS 관련 질문

  • 반응형 웹을 만들기 위해서 사용한 상대 단위가 있나요?

    • px 단위인지 조건부 렌더링인지?
  • CSS 선택자에 대해서 아는 것 있으면 말해주세요

  • CSS 의 우선 순위에 대해서 말해주세요

  • id 와 class 중 어떤 선택자가 우선 순위가 높나요?