1. override와 overload의 차이점은?
override
상속받은 클래스가 부모의 메서드를 재정의하여 사용하는 것.
overload
인자의 타입이나 개수가 다른 같은 이름의 메서드를 여러개 정의하는 것.
2. 포인터에 대해 설명하시오
해당 값이 저장된 메모리 상의 주소를 저장하는 변수
3. 가비지콜렉터란?
C#이나 Java같은 매니지먼트언어에서
더 이상 사용되지 않는 변수를 찾아내서 해당 변수가 차지하고있던 메모리를 회수해주는 것.
4. 프로세스와 쓰레드의 차이는?
운영체제에서 실행중인 하나의 프로그램을 말함. (하나 이상의 쓰레드를 포함)
쓰레드는 실행되는 독립적인 실행 단위를 말한다.
5. 퀵소트 / 버블소트에 대해 설명하시오
퀵소트(quick sort) - O(n logn) 배열의 한 원소를 선택하여 pivot으로 잡고 pivot보다 작은값과 큰값으로 나눠 합침.
이후에 그 작은값과 큰값에서 pivot을 새로잡고 반복하는 방식으로 정렬하는 방법
버블소트(bubble sort) - 두 인접한 원소를 연속해서 검사하는 방법 O(n²)
선택정렬(selection sort) - O(n²) 처음부터 끝까지 돌아서 최저값을 1번으로 보내고.
다시 처음부터 끝까지 돌아서 최저값을 2번.. 반복..
삽입정렬(insertion sort) - O(n²) k번째 원소를 1부터 k-1까지 비교하면서 적절한 위치에 끼워넣고 그뒤의 자료를 한칸씩 밀어내는 방식.
병합정렬(merge sort) - O(n logn) 원소개수가 1 또는 0이 될때까지 두 부분으로 나누고 자른 역순으로 크기를 비교해 병합해 나가는 방식
기수 정렬(radix sort) - O(n) 가장 낮은 자리수부터 정렬을 반복하여 정렬하는 방식. 예를 들어 3자리이하 수라면 1의자리, 10의자리, 100의 자리 순으로 정렬한다.
카운팅 정렬(counting sort) - O(n) 각 숫자마다 몇번 등장했는지 저장하여 등장횟수의 누적합을 통해 수열을 정렬하는 방법. 숫자 크기에 따라 비효율적
6. 스택, 트리, 큐, 힙의 개념에 대해 설명하시오
스택 (stack) : 나중에 들어간게 먼저 나오는 LIFO 자료구조
큐 (queue) : 먼저 들어간게 먼저 나오는 FIFO 자료구조
힙 (heap) : 완전이진트리를 기본으로 한 자료구조. 최대값이나 최솟값을 빠르게 찾아내도록함.
트리 (tree) : 노드를 이용하여 계층을 만든 자료구조
7. DB에서 Index란?
검색속도를 높이기 위해 사용하는 하나의 기술. 인덱스는 1개~여러개의 컬럼으로 생성할 수 있다.
8. 네트워크의 OSI 7 Layer에 대해 설명하시오
7계층 - 응용계층 : 응용 프로그램
6계층 - 표현계층 : 네트워크 형식을 응용프로그램 형식으로 변환
5계층 - 세션계층 : 2대의 기기 간에 대화가 필요할때 세션을 만듬
4계층 - 전송계층 : 보낼 데이터의 용량과 속도, 목적지 등을 처리함. IP주소가 여기서 작동
3계층 - 네트워크계층 : 라우터 기능. 다른 여러 라우터를 통한 라우팅을 비롯한 패킷 전달을 담당
2계층 - 데이터링크계층 : 노드간 데이터 전송을 제공.
1계층 - 물리 계층 : 시스템의 전기적, 물리적 표현
Application - Presentation - Session - Transport - Network - DataLink - Physical
'프로그래밍 공부 > 기타' 카테고리의 다른 글
핸들이란? (0) | 2018.11.26 |
---|---|
lib와 dll의 차이점 (0) | 2018.11.26 |
?? 연산자 (0) | 2018.06.04 |
VS IntelliCode (0) | 2018.06.04 |
람다식 (0) | 2018.06.04 |