N사 인턴
경력
: 채용연계형 인턴
채용 프로세스
: 서류 전형 → 코딩테스트 → 1차 기술면접 → 인턴십
면접 시간
: 1시간
면접 인원
: 1:3 (지원자:면접관)
JavaScript
- 클로저란 무엇이며 예시를 들어주세요
- 자바스크립트의 가비지 컬렉션이 왜 클로저 내부 지역변수를 참조하지 않나요?
- Null 과 undefined 의 차이에 대해 알려주세요
- Lazy Loading이란 무엇이며 어떻게 구현하나요?
- DOM을 조작 해보신 적 있나요? 있다면 DOM 조작에 대해 어떻게 생각하시는지
Web
- 렌더링 리소스를 줄여서 렌더링 최적화하는 방법을 설명해보세요
- 리액트 최적화 방식을 제외하고 렌더링 최적화를 진행하는 방법은 어떤 것이 있나요?
- 라이브러리와 프레임워크의 차이점을 알려주세요
- Next.js는 라이브러리인가요 프레임워크인가요?
- 웹 소켓과 REST API를 클라이언트에서 연결 할 때 차이점은 무엇인가요?
React
- 리액트의 최적화 방식과 각각 방식에 대해서 설명해주세요
- Props 와 state의 차이는 무엇인가요?
- 리액트의 렌더링 조건을 알려주세요
- 리액트의 상태관리 방법 중 어떤 것을 사용해봤나요?
- Class 컴포넌트와 Function 컴포넌트의 차이점은 무엇인가요?
- useEffect에 대해 설명해주세요
- useEffect에 빈 배열을 넣으면 왜 마운트,언마운트 될 때만 실행 되나요?
- useEffect optional 배열을 넣지 않으면 어떤 일이 발생하나요?
- Virtual DOM이란 무엇이며 왜 사용하나요?
- 리액트를 사용하는 장점에 대해 알려주세요
Redux
- Redux의 규칙에 대해 알려주세요
- Redux와 Apollo Client의 차이에 대해 알려주세요
- Redux는 어떻게 상태 변화의 기록이 남나요?
Apollo Client
- Apollo Client에서 Redux처럼 상태 변화의 기록을 남기기 위해 어떻게 해야하나요?
- Apollo Client에서 상태관리는 어떻게 하나요?
- Apollo Client가 Redux를 대체 할 수 있다고 생각하시나요?
TypeScript
- TypeScript 인터페이스와 타입의 차이는 무엇인가요
- TypeScript에서 타입이나 인터페이스에 새로운 프로퍼티를 추가하기 위해선 어떻게 해야하나요
개인 프로젝트 질문
- Web Audio API를 통해 구현한 녹음기능에 대해 설명해주세요
- Infinite Scroll 을 어떤 방식으로 구현했나요?
- Firebase를 왜 사용했고 어떤 기능을 사용 하셨나요?
- Firebase의 realtime database는 어떤 통신 방식을 사용하나요?
- Firebase의 데이터를 받아온 이후 클라이언트에 어떤 식으로 구현했나요?
- 협업 툴은 어떤 것을 사용했나요?