목록분류 전체보기 (345)
Welcome! Everything is fine.
PUT과 PATCH의 차이를 설명해보세요. HTTP METHODHTTP METHOD란 클라이언트가 요청을 보낼 때 요청에 포함되어 해당 요청의 종류와 목적을 나타낸다.주요 메소드POST : 데이터 생성GET :데이터 조회PUT : 데이터 갱신, 해당 리소스가 없으면 생성PATCH : 데이터 일부 갱신DELETE : 데이터 삭제기타 메소드HEAD : 데이터 조회, 그러나 HTTP 메시지에 바디를 포함하지 않고 헤더로만 응답TRACE : 쿠키 및 세션 값을 포함해 클라이언트의 요청 메시지를 그대로 반환CONNECT : 요청한 자원을 양방향으로 연결, SSL을 사용하는 웹사이트에 접속 가능OPTION : 서버가 지원하는 HTTP 메서드를 메시지 헤더에 포함해 응답PUT과 PATCH의 차이PUT리소스 전체를 업..
기술면접 스터디에서 받은 질문을 복습하기 위한 용도로 정리한 내용입니다. 임계 영역(critical section)이란 무엇인가요?임계 영역이란 공유 자원에 접근할 수 있고 접근 순서에 따라 결과가 달라지는 코드 영역을 말합니다. 다시 말해, 동일한 자원을 동시에 접근하는 작업을 실행하는 영역을 의미합니다.임계 영역에서 여러 접근이 동시에 발생하는 것을 방지하기 위한 방법은 무엇인가요?임계 영역에서 여러 접근이 동시에 발생하는 것을 방지하기 위해서는 상호배제, 진행, 한정된 대기의 3가지 조건을 충족해야합니다. 먼저 상호 배제란 한 프로세스가 임계 영역을 실행 중일 때 다른 프로세스가 임계 영역에 접근할 수 없어야 하는 것을 말합니다. 진행은 임계 영역을 실행 중인 프로세스가 없을 때 다른 프로세스가 임..
Context Switching이란 무엇인가요? 인터럽트(interrupt)인터럽트(interrup)란 CPU에서 프로세스를 처리하다가 예외 상황이 발생할 때 이에 대응할 수 있게 CPU에 처리를 요청하는 것을 말한다. 인터럽트가 발생하는 경우는 입출력 이벤트가 발생할 때, CPU 사용시간이 만료되었을 때, 자식 프로세스를 생성할 때 등이 있다. Context SwitchingCPU는 하나의 프로세스만 처리할 수 있기 때문에 멀티 프로세스를 처리하려면 인터럽트가 발생하면서 콘텍스트 스위칭이 발생한다.콘덱스트 스위칭이란 CPU가 처리중인 프로세스를 변경하는 것이다. 다시 말해, 현재 실행 중인 프로세스의 제어를 다른 프로세스에 넘겨서 그 프로세스가 실행 가능하도록 하는 것을 의미한다. 콘덱스트 스위칭이 발..
스와핑(Swapping)에 대해 설명해주세요. 스와핑(Swapping)이란?프로세스가 실행되기 위해서는 메모리에 로드되어야하는데, 메모리 공간보다 많은 프로세스가 로드되는 경우가 있을 수 있다. 이때 중기 스케줄러(메모리에 로드된 프로세스 수를 동적으로 조절)가 프로세스를 저장 공간으로 옮겨 저장한다. 이 프로세스는 저장 공간에 있다가 이벤트 요청이 오면 다시 메모리에 로드된다.메모리 관리를 위해 사용되는 기법 프로세스의 일부 또는 전체를 물리적 메모리에서 보조 기억장치, 즉 하드 디스크의 스왑 공간으로 이동시키는 과정 프로세스가 메모리에 적재될 공간이 부족할 때 사용swap in & swap outswap in : 보조 기억장치에서 주 기억장치로 불러오는 과정, 프로세스가 메모리에서 스왑 영역으로 옮..
우선순위 큐의 동작원리에 대해 설명해주세요. 우선 순위 큐란?우선순위 큐 : 우선순위가 높은 데이터부터 꺼내는 자료구조배열, 연결 리스트, 힙으로 구현 가능하나 주로 가장 효율적인 힙을 가지고 구현한다.top이 최대면 최대힙, top이 최소면 최소힙으로 표현, 힙으로 구현된 이진 트리는 모든 정점이 자신의 자식 요소보다 우선순위가 높다는 성질을 가지고 있다. 시간 복잡도는 O(logN).힙이란? 완전 이진 트리의 한 종류. (최대 힙 & 최소 힙)최대 힙은 부모 노드가 자식 노드의 값보다 크고 최소 힙은 부모 노드가 자식 노드의 값보다 작다.최대 힙과 최소 힙을 이용해 최댓값과 최솟값을 빠르게 찾을 수 있어 우선순위 큐를 구현하거나 힙 정렬을 하는 데 주로 사용한다.힙의 삽입/삭제 연산삽입/삭제 예시 그..
완전 이진 트리, 포화 이진 트리, 이진 탐색 트리의 차이점은 무엇인가요? 발표 때 사용한 PDF로 질문에 대한 답변을 대신합니다:) 더보기기술 면접 대비 CS 전공 핵심요약집 | 이수진 - 교보문고 (kyobobook.co.kr)자료구조 이진트리(Binary Tree) 그림으로 쉽게 이해하기 (tistory.com)
인덱스를 사용 중일 때 데이터를 삭제하면 발생할 수 있는 문제에 대해 설명해보세요. 인덱스를 구현하는 방식에 대해 설명해보세요. 인덱스란?인덱스란 데이터베이스에서 튜플의 검색 속도를 높이기 위해 속성 값과 튜플이 저장된 주소를 저장하는 것을 말한다. 해당 테이블의 컬럼을 색인화하여 검색 시 해당 테이블의 레코드를 full scan하는 것이 아니라 인덱스 파일을 검색하여 검색 속도를 빠르게 한다. 항상 최신의 정렬상태 유지하고, 데이터베이스 크기의 약 10% 정도의 저장 공간이 필요하다. 장점 : 인덱스 테이블에 데이터가 정렬되어 있어서 검색 속도가 빠르다. 단점 : 인덱스 테이블을 저장하기 위한 추가 공간이 필요하다, 정렬된 상태를 유지하기 위해 데이터를 추가/수정/삭제하는 경우에는 속도가 느리다. 따라..
데이터베이스의 락에 대해 설명해보세요. 락(lock)이란?동시성 제어를 위해 락(lock)을 사용한다! 락(lock) : 트랜잭션이 처리되는 순서를 보장하기 위한 방법. 데이터 베이스의 무결성을 유지하는데 목적이 있다. 트랜잭션이 동시에 수행될 때, 일관성을 해치지 않도록 데이터의 접근을 제어하는 DBMS의 기능이다. 운영체제에서의 데이터 동기화를 위해 임계 영역에 대한 접근을 제한하는 상호배제 기법과 유사하다.락(lock)의 종류낙관적 잠금 : 데이터 갱신 시 경합이 발생하지 않을 것이라고 보는 것. 동시 업데이트가 거의 없는 경우 사용한다.비관적 잠금 : 동일한 데이터를 동시에 수정할 가능성이 높다고 보는 것. 동시 업데이트가 빈번한 경우, 외부 시스템과 연동한 경우 사용한다.공유 락베타 락 공유 락..