기술면접 질문모음
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