프론트엔드 실무 면접 준비 - JS/TS (3)

조민수·2024년 2월 26일
0

실무면접

목록 보기
4/10

중요도가 높은 질문들 - ⭐

실무 면접을 여러 번 진행해보면서 받아본 질문들 - ✔️


26. 즉시 실행 함수(IIFE) 란?

  • 정의되는 동시에 실행되는 함수
  • 소괄호로 함수를 감싸서 실행하는 문법을 사용
  • 불필요한 전역 변수 생성의 감소, private한 변수 가능

27. Call Stack과 Heap ?

  • Call Stack : 코드가 실행되면서 생성되는 실행 컨텍스트를 저장하는 자료구조
    • 변수 식별자, Scope chain 및 this 관리, 코드 실행 순서 관리 등 수행
    • 원시 타입의 값, 참조 타입의 메모리 힙 주소값이 저장되는 공간
  • Heap : 원시 타입이 아닌 타입의 데이터가 저장되는 공간, Memory allocation이 일어나게 됨

28. Rest, Spread 연산자

  • Spread 연산자 ... : 객체나 배열 앞에 붙여서 사용
    객체의 프로퍼티들을 기존 객체를 유지하면서 다른 객체에 삽입 가능

  • Rest 연산자 ... : 함수의 파라미터 or 새로 할당할 객체, 배열 이름 앞에 붙여서 사용

    • 함수의 파라미터 : 파라미터의 수가 미정일 경우에 파라미터를 배열 형식으로 받아주는 역할
    • 객체, 배열 : 디스트럭처링 된 값들을 다시 객체나 배열로 재할당

TypeScript

1. TypeScript를 사용하는 이유? ✔️

  • 정적 타이핑을 지원하는 점을 통해 디버깅을 컴파일 단에서 수행
    • 런타임 에러를 줄일 수 있음
  • 객체지향 프로그래밍 OOP를 하기 쉽다.
  • Interface, generic 등을 통해 기존 객체지향의 특성을 가져와 사용할 수 있다.

2. Type vs Interface ⭐ ✔️

  • interface의 경우 같은 이름의 중복 선언으로 extends를 할 수 있으나, type은 불가능
  • interfaceextends를 통해 상속(확장),
    type&(intersection type)을 통해 확장

3. 제네릭이란?

  • 타입을 파라미터처럼 사용하는 것
    < T >를 대표적으로 사용
  • 함수, interface에 사용 가능, extends를 통해 특정 타입에서의 제약조건을 설정할 수도 있다.

4. 제네릭 유틸리티 타입이란?

  • 정의되어진 타입을 변환해 새로운 타입으로 가져오는 문법
  • Partial<T>, Readonly<T>, Record<K, T>, Pick<T>, Omit<T> 등이 있다.

5. TS의 클래스 접근지정자들에 대한 설명

  • public : default값, 어디서나 접근 가능
  • private : 해당 클래스의 인스턴스에서만 사용 가능한 값
  • protected : 해당 클래스 or 서브 클래스의 인스턴스에서만 접근 가능

6. Static이란?

  • static : 정적 변수, 정적 함수를 만들 수 있다.
    • instance가 아닌 class에 속하는 변수, 함수
      instance에서 호출할 경우, 에러 발생
  • class 자체에 속하기 때문에, 다른 인스턴스들에게 영향을 줄 수 있다.
profile
멈춤에 두려움을 느끼는 것

0개의 댓글

관련 채용 정보