Cs 면접 준비(공통기술 질문)

이동근·2021년 4월 21일
0

cs 지식

목록 보기
3/4

cors(cross-origin-resource-sharing)-headers

프레임워크를 사용해 줄 때 브라우저가 리소스로드를 허용해야하는 원본 이외의 다른 원본을 서버가 나타낼 수 있도록 하는 HTTP 헤더 기반 매커니즘를 CORS-Headers 라고 합니다.

OOP(Object-Oriented Programming)

객체지향 프로그래밍이란 현실 세계의 사물들을 객체로 보고, 그 객체로부터 개발하고자 하는 특징과 기능을 뽑아와 프로그래밍 하는 기법 입니다.

oop의 5가지 설계 원칙

SRP : 클래스는 단 하나의 목적을 가져야 하며, 클래스를 변경 하는 이유는 단 하나의 이유여야 한다.
OCP : 클래스는 확장할수 있지만, 속성을 변경에는 닫혀 있어야 한다.
LSP : 상위 타입의 객체를 하위 타입으로 바꾸어도 프로그램은 일관되게 동작해야 한다.
ISP : 클라이언트는 이용하지 않는 메소드에 의존하지 않도록 인터페이스를 분리해야 한다.
DIP : 클라이언트는 추상화에 의존해야 하며, 구체화에 의존해선 안된다.

절차지향 프로그래밍과 객체지향 프로그래밍의 차이는?

우선 절차지향 프로그래밍은 순차적인 처리를 중요시하는 프로그래밍 기법이다. 대표적인 언어로는 C언어와 같은 저급 언어가 있다. 컴퓨터와 처리구조가 유사해 실행속도가 빠르지만 순서가 바뀌게 되면 동일한 결과를 보장하기 어렵다.
그럼 객체지향 프로그래밍은 실제 세계의 사물들을 객체로 모델링하여 개발을 진행하는 프로그래밍 기법이다. 다향성은 동일한 키보드의 키가 다른 역할을 하는 것처럼 하나의 메소드나 클래스가 다양한 방법으로 동작하는 것을 의미한다. 절차지향 프로그램 보다 실행속도가 느리다.

Funtional Programming(함수형 프로그래밍)

함수형 프로그래밍의 가장 큰 특징은 immutable data와 first class citizen(1급 객체)의 함수 입니다. 함수형 프로그래밍은 부수효과가 없는 순수 함수를 이용하여 프로그램을 만드는 것이다. 부수효과가 없는 순수 함수란 데이터의 값을 변경시키지 않으며 객체의 필드를 설정하는 등의 작업을 하지 않는 함수를 의미 합니다.
ex) Lisp, Scalar, Closure 등이 있습니다.

Python과 자바스크립트에서의 함수형 프로그래밍은?

파이썬과 자바스크립트에서 함수형 프로그래밍을 사용할 수 는 있지만 객체지향 프로그래밍이다.

AWS(Amazon Webservice Service)

전 세계를 대상으로 하는 전자 상거래 기업 아마존의 자회사 이고 현재 클라우드 서비스 분야에서 점유율 1위를 차지하고 있습니다. 이들은 사내 인프라를 구촉하고 소프트웨어를 개발하던 기존의 업무 방식에 문제가 있음을 인식하게 된 후, 이를 개선해 나가게 되면서 더욱 유연하게 인프라를 구축하는 시스템을 만들게 되는데 이게 AWS의 시초이다. 이러한 기능을 상업적으로 더욱 발전시켜 판매를 하는 시스템이 AWS 이다.

EC2(Elastic Computer Cloud)

컴퓨터 기능을 갖고 있는 자원을 할당 받는 서비스 입니다. 쉡게 말해 OS만 설치되어 있는 가상머신 하나를 빌려주는 서비스라고 생각 하면 쉽습니다.

웹소켓(Web sockect)이란?

두 프로그램간의 메세지를 교환하기 위한 통신 방법중 하나로서 웹 소켓은 풀링의 단점을 보완하기 위해 나왔다. 대표적인 특징으로는 실시간 네트워킹이 가능하다는 것인데, 그래서 웹 환경에서 빠르게 데이터를 주고 받을 수 있는 채팅, 주식등을 의미한다.

Poling(풀링)

Real-time 통신에는 언제 통신이 발생하게 될 지 모르기 때문에 서버로 일정 주기마다 계속 통신을 보낸다. 그렇기 때문에 불필요한 Request와 connection을 생성한다.

딥러닝이란?

우선 딥러닝을 알아보기 전에 큰 개념으로 인공지능을 알아야한다. 인공지능이란 인공적으로 만들어진 지능 즉 인간의 학습능력이라던가, 추론능력 등을 컴퓨터로 구현하는 포괄적인 개념이다. 이 인공지능의 한 분야로 '머신러닝'이 있는데 데이터를 이용하여 데이터의 특성과 패턴을 학습하여 그 결과를 바탕으로 미지의 데이터에 대한 그것의 미래 결과를 예측합니다. 이러한 머신러닝의 한 분야로서 신경망을 통하여 학습하는 알고리즘의 집합을 '딥 러닝' 이라고 합니다.

IoT(Internet of Things)

임베디드 프로그래밍의 한 분야로 감지기능하고, 프로그래밍 가능한, 지능적이며 보이지 않는 네트워크 망을 구현한다. 다시 말해 사물인터넷은 내장 센서, 소프트웨어, 기타 기술이 적용된 물리적 객체-'사물'-이 인터넷을 통해 다른 장치나 시스템과 연결해 데이터를 주고 받는 네트워크 기술을 말한다. 스마트팩토리, 운송, 스마트팜 등에서 사물인터넷 등을 사용하는 추세이다.

profile
하루하루 1cm 자라는 개발자

0개의 댓글