기술면접준비 section4

hyo·2022년 10월 19일
0

기술면접

목록 보기
1/3
post-thumbnail

JavaScript

  • Hoisting과 Temporal Dead Zone이 어떻게 연관되어 있는지 설명하세요.

-> hoisting은 var로선언된 변수, 선언되지않은 함수,import구문을 상단으로 끌어올려 사용할 수 있게 하는 방식을 의미한다.

TDZ(Temporal Dead Zone)은 호이스팅을 막는다.
TDZ에 영향을 받는 구문은 크게 const,let 을 사용한 변수,
class구문, constructor()내부의 super(), 기본 함수 매개변수가 있다.
hoisting을 이용해 나타 날 수 있는 의도치 않은 결과를 피하기 위해 TDZ에 영향을 받는 구문인 변수 선언시 var가 아닌 let ,const 를 사용해야한다.

브라우저 렌더링

  • 브라우저 렌더링 방식에 대해 설명하세요.
  • 리플로우와 리페인트에 대해 설명하세요.
  • 반응형 웹은 무엇이고 장단점에 대해 설명하세요.
  • 자바스크립트 엔진의 콜 스택이 무엇인지 설명할 수 있나요?

번들링과 웹팩

  • 번들링은 왜 필요한가요?

-> 번들링이란??
여러 제품이나, 코드, 프로그램을 묶어서 패키지로 제공하는 행위를 의미한다.
번들링을 쓰지않는다면
두개의 js파일에서 같은 변수를 사용할 시 변수 간 충돌이 발생할 수있고,
인터넷 속도가 느린 국가의 모바일 환경에서 사용자가 불편을 호소,
배포 코드가 너무 읽기 쉬워 사용자가 임의로 조작하여 피해 발생할 수 있기때문에
사용자에게 배포할때는 번들링을 꼭 해야한다.

React

  • Virtual DOM이 무엇이고, Virtual DOM이 어떤 면에서 좋은가요?
  • Class Component와 Function Component의 차이점이 무엇인가요?
  • React Hook의 사용 규칙에 대해 설명하세요.

운영체제

  • Node.js는 싱글 스레드인가요?
  • JavaScript는 싱글 스레드입니다. 어떻게 싱글 스레드 방식으로 비동기 호출을 할 수 있는 지에 대해 설명할 수 있나요?
  • Event Loop에 대해 설명할 수 있나요?
  • 가비지 컬렉션이란 무엇이며, 가비지 컬렉션을 가진 언어에는 무엇이 있나요?

자료구조

  • Stack과 Queue의 차이점은 무엇인가요?
  • Tree와 Graph의 차이점은 무엇인가요?
  • 이진 탐색 방법에 대해 설명할 수 있나요?
profile
개발 재밌다

0개의 댓글