#5

Judo·2021년 6월 6일
0

JavaScript

  • prototype 기반 상속은 어떻게 하는지 설명해주세요.
    - Object.create를 이용해 프로토타입 객체와 속성을 새로 만들고 상속하고자 하는 객체의 prototype에 할당한다. 또한 새로 만들어진 prototype constructor에 생성자 함수를 할당해서 상속을 구현한다.

  • null과 unedefined 그리고 undeclared의 차이점은 무엇인가요?
    • undefined는 데이터 타입이자 값을 나타내며 정의되지 않은 것을 의미한다. null도 데이터 타입이자 값을 나타내지만 null은 명시적으로 값이 비어있음을 나타낼 때 사용한다. 둘의 차이는 undefined는 어느 누구도 값을 정해주지 않거나 값이 존재하지 않는 것이지만 null은 의도적으로 값이 없음을 나타낸다.
      마지막으로 undeclared는 선언조차 되지 않은 변수를 의미한다.

  • 익명함수(anonymous functions)는 주로 어떤 상황에서 사용하나요?
    • 함수를 변수에 할당하여 함수를 호출하거나 함수를 이동시킬 때 사용할 수 있으며 즉시실행함수로 사용하기도 한다.
  • JSON이 어떻게 동작 되는지 설명하세요. (그리고 AJAX와 어떻게 다른지 설명하세요.)
    • AJAX은 비동기 처리를 통해 페이지 전체를 새로고침하지 않고 보여주고자 하는 데이터가 포함된 페이지의 일부만을 로드할 때 사용하는 기법들을 포괄하는 기술이다.JSON은 데이터를 주고 받을 때 사용하는 데이터 포맷이다.
      JSON으로 응답을 받을 경우 데이터는 자바스크립트 객체로 변환해야 하는데 이를 역직렬화라고 하며 JSON.parse()을 통해 변환할 수 있다. 반대로 데이터를 서버에 전송하기 위해 JSON 형식의 문자열로 변환해야 하는데 이를 직렬화라고 하며 JSON.stringify()를 통해 변환할 수 있다. 이렇게 JSON은 직렬화, 역직렬화를 통해 알맞은 형식으로 변환하며 데이터를 전송하는 방식으로 동작한다.

React

  • 여러 프레임워크들이 있는데 왜 React를 쓰셨나요?
    • Component단위로 작성하므로 재사용성, 유지보수를 용이하게 해주고 JSX를 사용할 수 있기 때문에 배움에 어려움이 적었다. 또한 Virtual DOM을 사용하기 때문에 효율적이다.
  • React의 라이프사이클에 대해 설명해주세요.
    • 컴포넌트의 생명 주기를 나타내는 용어로 Component가 실행되거나 state, props에 변화가 있을 때, 혹은 컴포넌트가 종료될 때 실행되는 이벤트들을 말한다.
  • hook이 뭔가요? 일반 함수랑 어떤차이가 있나요.
    • 함수형 컴포넌트에서도 클래스형 컴포넌트에서 사용했던 기능들을 쓸 수 있게 React에서 제공해주는 api
  • state를 왜 쓰나요? 그냥 변수를 쓰는 것과 어떤 차이가 있나요?
    • React는 리렌더링하는 조건이 있는데 그 중 한가지는 state가 변경될 때이다. state를 관리하면서 변경사항이 있다면 리렌더링을 하기 위해 state를 사용한다. 일반 변수는 변경이 되더라도 리렌더링 되지 않는다.

개발상식

  • 웹사이트를 최적화하는 방법에는 어떤것들이 있나요?
    • Gzip으로 데이터 압축
    • JS, CSS파일을 외부로 분리하여 브라우저 캐시에 저장되므로 재사용한다.
    • 초기 렌더링 시 AJAX 요청이 있다면 렌더링 과정이 반복되기 때문에, 초기에는 AJAX 요청을 최소화한다.
  • 웹 서비스 배포 시스템 구축 경험이 있나요? CI, CD란?
    • 과거 프로젝트에서 배포 경험이 있다. CI/CD는 통합 및 테스트 단계에서부터 제공 및 배포까지 지속적인 자동화와 모니터링을 하는 방식이다.
  • 웹팩이란? 모듈 번들러가 무엇인가요?
    • 모듈 번들러란 html, css, js 등을 각각의 모듈로 보고 이를 조합해서 하나의 결과물을 만드는 도구다. 이 중 프론트엔드 프레임워크에서 가장 많이 사용되는 것이 웹팩이다.
  • http 1.1 과 http 2.0의 차이는 무엇인가요?
    • 1.1은 연결당 하나의 요청과 응답을 처리하므로 속도가 느리다. 반면에 2는 연결당 여려개의 요청을 할 수 있기 때문에 속도가 빠르다.
profile
즐거운 코딩

0개의 댓글