티스토리 뷰

기술면접

기술 면접 대비3

네스사 2023. 6. 8. 10:33

Hoisting과 Temporal Dead Zone의 연관성에 대해 설명해 주세요. 

  • Hoisting은 JavaScript에서 변수 및 함수 선언을 스코프의 맨 위로 끌어올리는 것을 의미하고, Temporal Dead Zone은 변수가 선언되기 전까지 접근할 수 없는 범위를 말합니다.
  • 따라서 Hoisting으로 인해 변수를 스코프 최상단에 끌어올려도 해당 변수의 선언문이 나오기 전까지는 TDZ에 존재하기, 값을 할당하거나 사용할 수 없습니다.

 

Virtual DOM이 무엇이고, Virtual DOM이 어떤 면에서 좋은가요? 

  • Virtual DOM은 React에서 사용되는 가상의 DOM으로 실제 DOM의 가벼운 복사본이라 할 수 있습니다.
  • Virtual DOM은 실제 DOM과 동기화되어 UI 변경을 추적하고 필요한 부분만 업데이트함으로써 리렌더링을 최적화합니다.

 

Class Component와 Function Component의 차이점이 무엇인가요? 

  • Class Component는 상태와 생명주기 메서드를 다루고 render함수로 jsx를 반환합니다. 반면 Function Component는 Hook을 사용하고 return문으로 jsx를 반환합니다.

 

React Hook의 사용 규칙에 대해 설명하세요.

  • 함수형 컴포넌트 또는 Custom Hook 안에서만 사용되어야 하며, 최상위 레벨에서만 Hook을 호출해야 합니다.
  • 이 때문에 조건문, 반복문, 중첩 함수 내에서 Hook을 사용할 수 없습니다.
  • 이는 React가 Hook을 호출되는 순서대로 저장하고,  조건문, 반복문 안에서는 호출되는 순서대로 저장하기 어렵기 때문입니다.

 

Stack과 Queue의 차이점은 무엇인가요? 

  • Stack은 후입선출(LIFO)의 구조로, 데이터의 삭제와 추가가 모두 맨 위의 요소에서 발생합니다.
  • 반면에 Queue는 선입선출(FIFO)의 구조로, 새로운 요소가 뒤에서 추가되고 삭제될 때는 맨 앞의 요소가 제거됩니다.

 

Tree와 Graph의 차이점은 무엇인가요? 

  • Tree는 계층적인 구조로, 부모와 자식 관계가 있으며 사이클이 없는 연결된 그래프라고 할 수 있습니다.
  • 이에 비해, Graph는 노드와 간선으로 이루어진 비선형 구조로, 노드들이 임의로 연결되어 있으며 사이클이 있을 수도 있습니다.

 

이진 탐색 방법에 대해 설명할 수 있나요? 

  • 이진 탐색은 정렬된 배열에서 특정 요소를 찾는 알고리즘으로, 배열의 중간 요소를 선택하여 찾고자 하는 값과 비교하며, 이를 반복하여 탐색 범위를 좁혀가는 방식으로 동작합니다.
  • 이진 탐색은 O(logn)의 시간 복잡도를 가지며 효율적으로 탐색을 수행할 수 있습니다. 

 

TypeScript는 정확히 무엇이며 JavaScript와 어떻게 다른가요? 

  • TypeScript는 JavaScript의 슈퍼셋으로, 정적 타입을 지원하여 개발자가 코드를 더욱 안정적으로 관리할 수 있는 언어입니다.
  • JavaScript와 달리 TypeScript는 변수 및 함수의 타입을 명시적으로 선언하고, 컴파일 시간에 타입 검사를 수행하여 오류를 사전에 발견할 수 있습니다.

 

TypeScript를 사용할 때 어떤 장단점이 존재하나요? 

  • TypeScript의 장점은 타입 시스템을 통한 코드의 안정성과 오류 예방, 그리고 JavaScript와의 호환성으로 인한 쉬운 이식성이 있습니다.
  • 단점은 타입 정의에 추가적인 작업이 필요하며, 초기 학습 곡선이 존재할 수 있다는 점입니다.

 

TypeScript의 인터페이스를 설명해 주세요.

  • TypeScript에서 인터페이스는 타입 체크를 위해 사용되며, 인터페이스는 프로퍼티 또는 메서드의 구현을 강제하여 일관성을 유지할 수 있습니다.
  • 추가로 extends를 사용하여 기존에 존재하던 인터페이스를 상속해 확장이 가능하고, 이를 통해 코드의 가독성과 유지보수성을 향상하는 데 도움을 줍니다.

'기술면접' 카테고리의 다른 글

기술 면접 대비2  (0) 2023.05.09
기술 면접 대비  (0) 2023.04.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함