cs
-
네트워크(Computer Network) 정리취업 활동/면접 준비 2021. 1. 1. 15:49
네트워크 - GET과 POST 비교 둘 다 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요청하는 방식입니다. GET 방식은 요청하는 데이터가 HTTP 메시지 header 부분의 url에 담겨서 전송되고, POST 방식은 요청하는 데이터가 HTTP 메시지 body 부분에 담겨서 전송됩니다. GET 방식은 서버에서 어떤 값을 조회할 때 사용되고, POST 방식은 서버에 값을 추가하여 값의 변화가 있을 때 사용됩니다. 추가적으로 GET 방식의 경우에는 브라우저에서 caching을 할 수 있습니다. - TCP와 UDP 비교 TCP는 reliable 한 protocol 이므로, 신뢰성 있는 통신을 합니다. 여기서 신뢰성이 있다는 것은 순차적 전달을 하고, 지연과 손실이 발생하지 않도록 데이터를 전송하며, 발생한..
-
운영체제(Operating System) 정리취업 활동/면접 준비 2021. 1. 1. 15:49
운영체제 - 프로세스와 스레드 프로세스는 실행중인 프로그램이며, 디스크로부터 메모리로 적재되어 CPU의 할당을 받을 수 있습니다. 프로세스는 생성될 때 각각 별도의 주소공간에 할당되며 코드, 데이터, 힙, 스택 영역을 가지고 있습니다. 멀티 프로세스의 장점으로는, 각 프로세스간 독립적으로 동작하기 때문에 서로 영향을 끼치지 않습니다. 단점으로는, 각각 독립된 메모리 영역을 가지고 있어 다른 프로세스와 데이터 공유 간 IPC를 해야 하는 등 오버헤드가 있으며, Context switching에 대한 오버헤드도 존재합니다. 스레드는 프로세스의 실행 단위입니다. 프로세스와 달리 스레드는 다른 스레드와 공간, 자원을 공유합니다. 멀티 스레드의 장점으로는, 전역 변수와 정적 변수에 대한 자료를 공유할 수 있습니다..
-
알고리즘(Algorithm) 정리취업 활동/면접 준비 2021. 1. 1. 15:49
Sort 알고리즘 - Bubble Sort 서로 인접한 두 개의 원소를 비교하고, 조건을 만족하지 않는다면 서로 swap해 가며 정렬하는 알고리즘입니다. Stable sort 입니다. 모든 경우에 대해서 O(n^2)의 시간복잡도를 가집니다. - Selection Sort 위치가 이미 정해져 있고, 어떤 원소를 넣을 지 선택해가며 정렬하는 알고리즘입니다. Unstable sort 입니다. 모든 경우에 대해서 O(n^2)의 시간복잡도를 가집니다. - Insertion Sort 2번째 원소부터 시작하여, 앞에 있는 원소들과 비교해가며 삽입할 위치를 지정한 후, 원소들을 뒤로 옮기고 그 자리에 삽입하여 정렬하는 알고리즘입니다. Stable sort입니다. 최적의 경우 O(n), 최악의 경우O(n^2)의 시간 복..
-
자료구조(Data Structure) 정리취업 활동/면접 준비 2021. 1. 1. 15:49
자료구조 - Array 와 Linked List Array는 index로 해당 원소에 접근할 수 있고, 찾고자 하는 원소의 index 값을 알고 있으면, O(1)에 해당 원소로 접근할 수 있습니다. 즉, Random access가 가능하다는 장점이 있습니다. 하지만, 삽입과 삭제의 경우에는 배열의 연속적인 특징을 위해 shift를 해야 하기 때문에 비용이 발생하며, 최악의 경우 O(n)의 시간 복잡도를 가집니다. Linked List는 이러한 문제를 해결할 수 있습니다. 각각의 원소들은 자기 자신 다음에 어떤 원소인지를 기억하고 있습니다. 따라서 삽입, 삭제 연산을 O(1)만에 해결할 수 있습니다. 그러나 index 값으로 접근을 할 수 없기 때문에 탐색 과정에서 최악의 경우 O(n)의 시간 복잡도를 가..