66일차

그루트·2021년 11월 19일
0

프론트엔드 직군 웹개발자 면접질문 모음 답변 달아보기

1.브라우저의 렌더링 과정에 대해서 상세하게 설명해달라

  • 브라우저의 역할은 사용자의 요청을 서버에 전달하고 그 결과를 화면에 나타내는 과정인데 렌더링은 화면에 나타내는 과정을 의미한다. 더 상세하게 알아보면
  1. DOM 생성
  2. CSSOM 생성
  3. Render Tree 생성
  4. Render Tree 배치
  5. Render Tree 그리기 이러한 과정을 통해 브라우저가 서버에 요청한 내용의 노드들을 픽셀화 시키는 것을 브라우저 렌더링 이라고 한다.

2.OOP의 특징에 대하여 설명해달라.

  • OOP는 객체지향 프로그래밍의 약자이다. 객체지향 프로그래밍에 사용되는 객체지향 언어는 4가지의 특징을 가지고 있다.
  1. 추상화 - 각 객체들의 공통된 특성을 뽑아낸다.
  2. 캡슐화 - 데이터를 은닉하고 데이터의 기능을 노출시키지 않는 의미로 사용됨.
  3. 상속성 - 객체지향의 정수로 상속성이 없다면 객체지향의 의미가 없어질 정도로 중요한 요소이다. 하나의 클래스가 가진 특징(데이터, 함수)을 그대로 다른클래스에 물려줄때 사용된다.
  4. 다형성 - 같은 함수를 받아도 각자 다른 일을 하는 것을 의미한다.

3.현실에 상황을 예로 들어 OOP의 개념으로 설계과정을 설명해달라

ex) 축구를 게임으로 만든다거나, 기타 어떠한 상황이라도 좋다

  • 빵집에는 여러가지 시스템이 있다. 빵을 만드는 시스템 고객의 결제를 도와주는 시스템 그리고 다양한 종류의 빵이 제공된다. 이 빵집에 비유해서 객체지향의 요소들을 설명해 보겠다. 먼저 빵의 종류는 굉장히 다양하지만 그 다양한 종류의 빵의 반죽 및 재료들을 각각의 종류별로 준비 할 수는 없다. 그래서 반죽과 재료의 베이스를 갖추고 필요한 재료들만 선택(호출)하여서 각기 다른 빵을 만든다(추상화) 대부분 빵집들은 고객이 직접 빵을 고른다.(public) 하지만 돈이 있는 계산대에는 함부로 접근하게 해서는 안된다.(pivate)(캡슐화) 빵집의 여러가지 빵들은 기본적으로 밀가루를 부풀려만든 것에 기반한다. 그 반죽에 다른 재료를 넣으면 다른빵이 되는것인데 모든 '빵'이라는 식품의 근간은 이 밀가루 반죽의 특징을 상속받았다고 볼 수 있다.(상속성) 단팥빵이 있다고 치자 이 평범한 단팥빵은 평소 단것을 굉장히 좋아하는 사람에게는 평범한 빵일 수 있지만 단것을 싫어하고 밋밋한 빵만 좋아하는 사람에게는 굉장히 달게 느껴질 수도 있다.(다형성)

4.함수형 프로그래밍에 대해 설명해달라

  • 프로그래밍 패러다임에는 명령형 프로그래밍과 선언형 프로그래밍이 있다. 함수형 프로그래밍은 후자인 명령형 프로그래밍에 속한다. 이 함수형 프로그래밍은 기본적으로 기존 명령형 프로그래밍은 어떻게 구현하겠다 에 집중돼 있었다면 함수형 프로그래밍은 무엇을 구현하겠다에 초점이 맞추어져 보다 함수를 수학적으로 사용하여 설계가 가능하다.

5.함수형 프로그래밍에 기반하여 순수함수가 무엇인지 설명해달라.

  • 순수함수란 함수형 프로그래밍에 필요한 개념으로써 두가지의 조건을 만족해야한다.
  1. 동일한 입력에는 항상 같은 값을 반환하여야 한다.
  2. 함수의 실행은 프로그램의 실행에 영향을 미치지 않아야 한다.

두 가지의 조건으로 미루어 보았을때 정말 순수한 개념의 함수를 의미한다고 할 수 있다. 이와같은 특성을 이용하여 테스트를 하기 수월하다는 점이 함수형 프로그래밍에 있어 필수적인 요소가 된다고 볼 수 있다.

profile
i'm groot

0개의 댓글