취업 활동
-
운영체제(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)의 시간 복잡도를 가..
-
2020 카카오 여름 개발자 인턴 면접취업 활동/면접 준비 2021. 1. 1. 15:48
면접 정리 순서 1. 기본적인 CS 지식 (자료구조, 알고리즘, 운영체제, 네트워크, DB) 2. Java 관련 지식 3. 웹 관련 지식 (스프링, HTTPS, DNS 서버, 세션, 쿠키…) 4. 프로젝트(포트폴리오) 간단히 정리 & 코드 리뷰 1. 기본적인 Computer Science 지식 1) 자료구조 hongchan.tistory.com/42 2) 알고리즘 hongchan.tistory.com/43 3) 네트워크 hongchan.tistory.com/46 4) 운영체제 hongchan.tistory.com/44 5) DB hongchan.tistory.com/45 2. Java 관련 지식 hongchan.tistory.com/47 3. 웹 관련 지식 hongchan.tistory.com/48