Updated:

기술면접 대비를 위해 검색을 통해 필요하다고 생각되는 질문들을 모아봤다.
정리와 답변은 시간날때마다 하나씩 추가 예정.

웹, HTML, CSS

  • Flexbox를 사용해보셨나요?
  • Cascading에 관해서 설명해주세요.
  • CSS 애니메이션과 JS 애니메이션의 차이에 대해 설명해주세요.
  • postition 속성을 나열해주세요.
  • 브라우저 작동 원리 - 사용자가 브라우저에 주소를 입력한 후에 서버로부터 전송된 데이터가 화면에 보이기까지 그 일련의 과정을 설명할 수 있어야 합니다.
  • CORS 에러 - 정의, 특징, 해결 방법
  • 클라이언트 사이드 렌더링과 서버 사이드 렌더링 - 각각의 특징, 장단점 등
  • attribute와 property의 차이
  • 쿠키와 세션 - 각각의 특징, 각각을 사용하는 이유, 장단점 등
  • CSS 전처리기, CSS in JS - 사용해 본 적이 있나, 있다면 소감을 말해달라는 질문
  • CSS 가상 요소에 대해 알고 있는지, 사용해 본 경험이 있는지
  • 이벤트 전파와 이벤트 위임에 대해 설명해주세요
  • inline과 inline-block의 차이
  • class와 id의 차이 + CSS에서의 우선순위

JavaScript

  • Promise와 Callback 차이를 설명해주세요.
  • 콜백 지옥(Callback hell)을 해결하는 방법을 말씀해주세요.
  • async, await 사용 방법을 설명해주세요.
  • Promise를 사용한 비동기 통신과 async, await를 사용한 비동기 통신의 차이를 설명해주세요.
  • var, let, const 차이를 설명해주세요.
  • 함수 선언형과 함수 표현식의 차이에 대해 설명해주세요.
  • 이벤트 버블링과 캡처링에 대해 설명해주세요.
  • 이벤트 버블링과 이벤트 캡처링에 대한 예시를 들어주세요.
  • 클로져(Closure)에 대해 설명해주세요.
  • 렉시컬 환경(Lexical Environment)에 대해 설명해주세요.
  • 실행 컨텍스트에 대해 설명해주세요.
  • 호이스팅(hoisting)에 대해 설명해주세요.
  • 데이터 타입에 대해 설명해주세요.
  • 자바스크립트에서 일어나는 데이터 형 변환에 대해 설명해주세요.
  • 자바스크립트가 유동적인 언어인 이유는 무엇인가요?
  • 프로토타입에 대해 설명해주세요.
  • 깊은 복사와 얕은 복사에 대해 설명해주세요.
  • 불변성을 유지하려면 어떻게 해야하나요?
  • this에 대해 설명해주세요.
  • requestAnimationFrame을 사용해본 적 있나요?
  • this에 대해 아는 대로 설명해주세요
  • 클로저에 대해 설명해주세요
  • 이벤트 루프에 대해 설명해주세요
  • map과 foreach의 차이
  • 실행 컨텍스트란
  • var, let, const의 차이 및 특징
  • 자바스크립트의 메모리 관리에 대해 아는 대로 설명해주세요

Typescript

  • Type과 Interface의 차이
  • 타입스크립트를 사용해 본 경험이 있는지, 있다면 소감을 말해주세요
  • 타입 추론에 대해 아는 대로 설명해주세요

React

  • Virtual DOM 작동 원리에 대해 설명해주세요.
  • Virtual DOM 이 무엇인지 설명해주세요.
  • React를 사용하는 이유에 대해 말씀해주세요.
  • 제어 컴포넌트와 비제어 컴포넌트의 차이에 대해 설명해주세요.
  • key props를 사용하는 이유는 무엇인가요?
  • props와 state의 차이는 무엇인가요?
  • pure component에 대해 설명해주세요.
  • shouldComponentUpdate에 대해 설명해주세요.
  • 클래스형 컴포넌트와 함수형 컴포넌트의 차이에 대해 설명해주세요.
  • 생명 주기 메서드에 대해 설명해주세요.
  • 리액트에서 JSX 문법이 어떻게 사용되나요?
  • 왜 state를 직접 바꾸지 않고 useState를 사용해야 하나요?
  • useMemo와 useCallback에 대해 설명해주세요.
  • 리액트에서 메모이제이션을 어떤 방식으로 하나요?
  • 리액트 관련 패키지 중에 제일 좋다고 생각한 것은 무엇인가요?
  • 리액트의 렌더링 성능 향상을 위해 어떻게 해야 하나요?
  • React-query에 대해 들어봤나요?
  • React 18 버전 업데이트 내용에 대해 말씀해주세요.
  • useEffect와 useLayoutEffect의 차이점에 대해 말씀해주세요.
  • Context API에 대해 설명해주세요.
  • 리액트 생명주기에 대해 아는 대로 설명해주세요
  • 상태 관리 라이브러리 사용 경험, 리덕스가 아닌 다른 라이브러리를 사용해 본 경험이 있는지
  • 가상 돔(Virtual-DOM)에 대해 설명해주세요
  • state와 props의 차이에 대해 설명해주세요
  • 메모이제이션에 대해 설명해주세요
  • 리액트가 등장하게 된 배경(이유)에 대해 설명해주세요

Redux

  • Redux를 사용하는 이유가 무엇인가요?
  • Redux의 장단점에 대해 설명해주세요.
  • Context API와 Redux를 비교해주세요.
  • Redux-saga에 대해 설명해주세요.
  • Generator 문법에 대해 설명해주세요.
  • Redux-saga, Redux-Thunk의 차이에 대해 설명해주세요.

Frontend

  • 브라우저 렌더링 과정을 설명해주세요.
  • 브라우저는 어떻게 동작 하나요?
  • Webpack, Babel, Polyfill에 대해 설명해주세요.
  • CSR과 SSR의 차이는 무엇인가요?
  • CORS는 무엇인지, 이를 처리를 해본 경험을 말씀해주세요.
  • 웹 표준을 지키며 개발하시나요?
  • 쿠키와 세션에 대해 설명해주세요.
  • 로그인 처리를 할 때 쿠키와 세션을 어떻게 사용하시나요?
  • 이벤트 루프와 태스크 큐에 대해 설명해주세요.
  • bundle의 사이즈를 줄이려면 어떻게 해야 하나요?
  • 타입스크립트를 사용하는 이유는 무엇인가요?
  • 쿠키, 세션, 웹스토리지의 차이에 대해 설명해주세요.
  • 크로스 브라우징 경험이 있으신가요?
  • 웹 소켓을 사용해보셨나요?
  • 웹사이트 성능 최적화에는 어떤 방법이 있나요?

Backed

  • 데이터베이스 정규화에 대하여 설명해주세요.
  • 비정규화는 무엇인가요?
  • Database Injection에 대해 아는대로 이야기해주세요.
  • ORM이 편하고 좋은데, SQL을 알아야만 할까요?
  • SQL로 간단한 문제 드릴테니 풀어주세요.
  • RDBMS와 NoSQL은 언제 사용하는 것이 좋을까요?
  • 1 + N 문제를 겪어보신 적이 있나요? 어떻게 해결하셨나요? 어떻게 해결하는지 알고 계신가요?
  • REST API와 GraphQL의 차이와 GraphQL을 썼을 때의 장단점을 설명해주세요.
  • node가 싱글스레드인데도 여러가지 병렬 작업이 되는 이유를 알려주세요.
  • 데이터베이스에서 인덱스를 사용하는 이유 및 장단점에 대해 설명해주세요.
  • 트랜잭션에 대해서 설명해주세요.
  • ACID에 대해서 설명해주세요.
  • 트랜잭션 격리 수준(Transaction Isolation Levels)에 대해서 설명해주세요.
  • 정규화에 대해서 설명해주세요.
  • JOIN에 대해서 설명해주세요.
  • RDBMS vs NOSQL에 대해서 설명해주세요.
  • Redis에 대해서 간단히 설명해주세요.
  • Redis와 Memcached의 차이에 대해서 설명해주세요.
  • Elastic Search에 대해서 간단히 설명해주세요.
  • Elastic Search의 인덱스구조와 RDBMS의 인덱스 구조의 차이에 대해 설명해주세요.
  • Elastic Search의 키워드 검색과 RDBMS의 LIKE 검색의 차이에 대해 설명해주세요.
  • MongoDB에 대해서 간단히 설명해주세요.
  • CAP 이론과, Eventual Consistency에 대해서 설명해주세요.

Leave a comment