CS 어디까지 알고있니?_ep.1

나라리야·2021년 7월 25일
0

CS_study

목록 보기
13/18
post-thumbnail

cs에 대해 기본적으로 알고 넘어가면 좋을 문제들을 간단히 정리해 보았다

1. 프로세스와 스레드의 차이는 무엇인가?

프로세스는 운영체제로부터 자원을 할당받아서 실행되고
스레드는 프로세스로부터 자원을 할당받아 실행 되는 것이다.

운영체제 -> 프로세스 -> 스레드

thread(스레드)란 CPU이용의 기본 단위, 프로세스 내에서 실행되는 흐름의 단위를 말한다.

2. 스크립트 언어와 컴파일 언어의 차이점은 무엇인가?

컴파일 언어는 컴파일러를 통해 사전에 컴파일 되어 기계어 상태로 실행되므로 실행 속도가 빠르다.
스크립트 언어는 컴파일 단계 없이, 실행 단계에서 한 줄씩 기계어로 번역 후 실행되므로 컴파일 언어에 비해 실행 속도가 느리다.

컴파일언어 / C, C++, JAVA 등이 있다.
스크립트언어 / python, ruby, PHP 등이 있다.

3. 동기식과 비동기식의 차이점과 장단점은 무엇인가?

차이점
: 동기식은 요청에 대한 응답을 기다린 후 응답이 오면 다음 요청을 진행하는 방식
비동기식은 요청에 대한 응답을 기다리지 않고 다음 동작을 진행한다.

장단점
: 동기식은 로직이 단순하고, 순서대로 실행가능 그러나 동시에 수행하는 작동은 불가하다.
비동기식은 동시에 여러가지 요청을 실행할 수 있지만 요청이 많아지거나 처리하는데 오래 걸리는 요청들은 부하가 발생할 수 있고 이를 위한 추가적인 처리가 필요할 수 있다.

4. 데이터베이스에서 인덱스를 사용하는 이유는?

인덱스는 데이터를 논리적으로 정렬해서 검색과 정렬 속도를 높이기 위해 사용한다.

5. Rdis와 mongoDb에 대해 설명한다면?

둘다 No SQL 방식을 사용한다.
몽고DB는 document 형식으로 데이터를 저장하고 , Redis는 key-value 형식으로 데이터를 저장한다.
Redis는 인메모리DB로 데이터를 메모리에 저장하고 관리하여 성능이 좋지만 데이터를 유한하게 저장하기 때문에 캐쉬등과 같이 데이터의 저장기한이 있고, 빠른 성능이 필요한 기능에 사용된다.
MongoDB는 mysql처럼 서버-클라이언트 방식으로 설치해서 사용하는데 no sql 방식이므로 가변적 데이터 구조를 다루는데 유용하다.

6. TCP와 UDP의 차이점과 장단점은?

UDP는 비연결형 프로토콜로 흐름제어, 오류제어를 하지 않는다. / 송수신에 적은 데이터만 있어도 된다.
TCP는 연결형 프로토콜로 흐름제어와 오류제어를 한다. / 송수신에 신뢰성이 높다.

profile
Code의 美를 추구하는 개발자 🪞

0개의 댓글