CS면접 Part1

MAX GUN·2021년 5월 7일
1
post-thumbnail

(주의)본 글은 혼자 보기위해서 만든 글 입니다.

1.좋은 코드란 무엇인가?

1.읽기 좋은코드
2.중복없는 코드
3.테스트 하기 용이한 코드

2.OOP란?

객체지향 프로그래밍이 나오기 전에는 중심에는 컴퓨터가 있었다.
즉 컴퓨터 사고방식 대로 프로그래밍을 하였다.
현실 세계를 프로그래밍으로 옮겨와 프로그래밍 한 것을 말한다.

2-1. 객체 지향적 설계 원칙

1.SRP(Single Responsibility Principle) : 단일책임원칙

2.OCP(Open-Closed Principle) : 개방 폐쇄 원칙

3.LSP(Liskov Substitution Principle) : 리스코프 치환 원칙

4.ISP(Interface Segregation Principle) : 인터페이스 분리 원칙

5.DIP(Dependency Inversion Principle) : 의존 역전원칙

3.RESTful API

REST의 기본 원칙을 지킨 서비스 디자인을 RESTful 하다고 볼 수 있다.
여기서 REST는 자원(RESOURCE)을 이름으로 구분하고 자원의 상태(STATE)를 주고 받는 것을 말합니다.

3-1.REST 6가지 원칙

  • Uniform Interface
  • Client-Server
  • Stateless
  • Cacheable
  • Layered System
  • Self-Descriptiveness

3-2.장점과 단점

장점

      1.Open API를 제공하기 쉽다.
      2.멀티플랫폼 지원 및 연동이 용이하다
      3.원하는 타입으로 데이터를 주고 받을 수 있다.
      4.기존 웹 인프라(http)를 그대로 사용 할 수 있다.

단점

      1.사용할 수 있는 메소드가 4 가지 밖에 없다.
      2.분산환경에는 부적합하다.
      3.HTTP 통신 모델에 대해서만 지원한다.

4.TDD

Test-driven-development 이며 테스트 주도 개발이라고 한다.
즉 테스트가 개발을 주도하며 테스트코드 작성-> 실제 코드 작성 -> 리팩토링의 반복 과정을 거친다고 할 수 있다.

5.함수형 프로그래밍

함수형 프로그래밍에 대해서는 저도 아직 어려운 부분이 있습니다.
하지만 제가 생각하는 함수형 프로그래밍은 순수함수,고차함수,일급객체 라고 생각합니다.
그러면 순수함수,고차함수,일급객체는 어떤것일까요?

순수함수 : 외부변수에 대해서는 절대 의존하지 않는 것이다.즉 외부 값에 접근하지 않는 것이다.
고차함수 : 함수를 인자로 받거나 함수를 리턴할수 있어아한다.
일급객체 : 일급객체는 몇가지 조건이 필요한데 첫번째로는 변수에 할당 할 수 있어야하고 두번째는 다른 함수를 인자로 받을 수 있어야 하고 세번째로는 다른 함수의 결과로 리턴 될 수 있어야 합니다.

profile
성장하는 프론트엔드 개발자

0개의 댓글