CS 면접 예상질문 정리
운영체제
프로세스
-
프로세스와 스레드의 차이는 무엇인가요?
-
교착상태란 무엇이며, 교착상태가 발생하기 위해서는 어떤 조건이 있어야 하나요?
-
교착상태의 해결법은 무엇인가요?
-
뮤텍스와 세마포어에 대해서 설명해 보시오.
-
컨텍스트 스위칭이란 무엇인가요?
-
경쟁 상태란 무엇인가요?
-
프로세스 혹은 스레드의 동기화란 무엇인가요?
-
사용자 수준의 스레드와 커널 수준의 스레드의 차이는 무엇인가요?
-
CPU 스케줄링 방법에는 대표적으로 어떤 것들이 있나요?
-
동기와 비동기, 블로킹과 넌블로킹의 차이는 무엇인가요?
메모리
-
프로세스에 할당되는 메모리의 각 영역에 대해서 설명해 주세요.
-
메모리 구조의 순서가 어떻게 되는가? CPU에서 가까운 순으로 말해보시오.
-
페이지와 세그멘테이션에 대해서 설명해 보시오.
-
외부 단편화란? 내부 단편화란?
-
First Fit, Best Fit, Worst Fit에 대해서 설명해 보시오.
-
페이지 교체 알고리즘 종류에는 어떤 것들이 있나요?
네트워크
전산 기본
-
OSI 7계층에 대해서 설명해주세요.
-
TCP/IP 4계층에 대해서 설명해주세요.
-
DNS가 무엇인가요?
도메인 네임 서비스 입니다.
TCP/UDP
- TCP와 UDP의 차이에 대해서 설명해 주세요.
- TCP 헤더에 대해서 설명해 주세요.
- MTU가 무엇인가요?
- 3-way hand shake, 4-way hand shake 흐름에 대해서 설명해주세요.
HTTP
- HTTP 프로토콜에 대해서 아는대로 말해주세요.
- HTTP와 HTTPS 의 차이는 무엇인가요?
- HTTPS가 동작하는 방식에 대해서 설명해 주세요.
- HTTP 1.0과 1.1의 차이는 무엇인가요?
- HTTP2와 그 특징에 대해서 설명해 주세요.
- HTTP 헤더의 구조에 대해서 설명해 주세요.
- keep-alive 헤더에 대해서 설명해 주세요.
- HTTP GET과 POST의 차이는 무엇인가요?
- 쿠키와 세션에 대해서 설명해 주세요.
웹
- 웹브라우저에서 서버로 요청했을 때, 흐름을 설명해주세요.
- CORS란 무엇인가요?
- 웹 서버와 웹 어플리케이션 서버(WAS)의 차이는 무엇인가요?
- REST API에 대해서 설명해 주세요.
- API Gateway란 무엇인가요?
- API Gateway가 다운되면 모든 API를 사용 못할지도 모르는데, 어떤 방안을 마련해야 할까요?
데이터베이스
전산 기본
- JOIN에 대해서 설명해 주세요.
- 내부 조인과 외부 조인의 차이는 무엇인가요?
- 정규화에 대해서 설명해 주세요.
- 파티셔닝과 샤딩에 대해서 설명해 주세요.
- ORM이란 무엇인가요?
- NoSQL이란 무엇인가요?
- 스키마란 무엇인가요?
인덱스
- 인덱스란 무엇인가요? 어떻게 동작 하나요?
- 인덱스의 알고리즘에는 어떤 것들이 있나요?
- Table Full Scan과 Index Range Scan 을 설명해주세요.
트랜잭션
- 트랜잭션이란 무엇인가요? 4가지 원칙을 포함해서 설명해 주세요.
- 트랜잭션의 격리 수준과 각 수준에서 발생할 수 있는 문제들에 대해 말해보세요.
- 공유 락과 배타 락의 차이는 무엇인가요?
- 데드락이란 무엇이며, 어떻게 발생할까요?
알고리즘
전산 기본
- 빅오 표기법에 대해서 설명해주세요
- 팩토리얼(factorial)을 구현해 보세요(손코딩).
- 피보나치 수열 구현 방식 세 가지를 말해보시고, 시간복잡도와 공간복잡도를 설명해 주세요.
- BFS/DFS 차이는 무엇인가요?
- 프림 알고리즘에 대해서 설명해 주세요.
- 다익스트라 알고리즘에 대해서 설명해 주세요.
- 은행원 알고리즘에 대해서 설명해 주세요.
정렬
- 정렬의 종류에는 어떤 것들이 있나요?
- 삽입 정렬이 일어나는 과정을 설명해 보세요.
- 퀵 정렬이 일어나는 과정을 설명해 보세요.
- 54321 배열이 있을 때, 어떤 정렬을 사용하면 좋을까요?
- 랜덤으로 배치된 배열이 있을때, 어떤 정렬을 사용하면 좋을까요?
- 자릿수가 모두 같은 수가 담긴 배열이 있을 때, 어떤 정렬을 사용하면 좋을까요?
자료구조
전산 기본
- 배열과 링크드 리스트의 차이점에 대해서 설명해 주세요.
- 스택과 큐에 대해서 설명해 주세요.
- 해시테이블에 대해서 설명해 주세요.
트리
- 포화(Perfect) 이진트리, 완전(Complete) 이진트리, 정(Full) 이진트리의 차이점에 대해 각각 설명해주세요.
- 그래프와 트리의 차이점에 대해서 설명해 주세요.
- 힙 자료구조에 대해 설명해 주세요.
- 힙의 삽입과 삭제는 어떻게 이루어지나요?
- 레드 블랙 트리에 대해 설명해주세요.
- 레드 블랙 트리의 삽입과 삭제 과정에 대해서 말해보세요.
- B-Tree에 대해서 설명해 주세요.
- 최소 신장 트리에 대해서 설명해 주세요.
프로그래밍
전산 기본
- 객체지향이 무엇인가요? 절차지향과의 차이점은 뭐죠?
- 객체지향 SOLID 원칙에 대해서 설명해 주세요.
- 객체지향 4가지 특징에 대해서 설명해 주세요.
- 대표적인 객체지향 언어에는 어떤 것들이 있나요?
- 데이터 타입과 변수의 차이는 무엇인가요?
- 함수형 프로그래밍에 대해서 설명해 주세요.
- AOP란 무엇인가요?
- 컴파일러와 인터프리터의 차이는 무엇인가요?
- 오버로딩과 오버라이딩의 차이는 무엇인가요?
- 1급 객체에 대해서 설명해 주세요.
출처 : https://velog.io/@hygoogi/%EA%B8%B0%EC%88%A0-%EB%A9%B4%EC%A0%91-%EC%A7%88%EB%AC%B8-%EB%AA%A8%EC%9D%8C