- ✨프로세스와 스레드의 차이점에 대해 설명하시오.
- ✨Race Condition에 대해 설명하시오.
- ✨메모리가 부족하면 OS 가 어떤일을 할까?(iOS 측면도 )
- ✨교착상태(데드락, Deadlock)이 발생하기위한 조건과 해결책
- ✨CPU 스케쥴링의 종류
- race condition(경쟁상태)를 방지하기 위한 조건
- 프로세스에 할당되는 메모리의 각 영역에 대해서 설명해 주세요.
- 메모리 구조의 순서가 어떻게 되는가? CPU에서 가까운 순으로 말해보시오.
- Cache Memory의 역할은 무엇인가
- Caching Locality와 Cache Hit Ratio에 대해 설명하시오
- 운영체제란
- 멀티 프로세스와 멀티 스레드의 차이점
- First Fit, Best Fit, Worst Fit
- 외부단편화, 내부단편화
- 페이지와 세그멘테이션
- 페이지 교체 알고리즘의 종류
- 가상 메모리의 개념과 사용할시의 장단점
- 시스템 콜
- IPC
- 인터럽트
- 뮤텍스와 세마포어의 차이
- Context Switching의 개념과 과정
- 임계구역
- 프로세스 혹은 스레드의 동기화란 무엇인가요?
- 사용자 수준의 스레드와 커널 수준의 스레드의 차이는 무엇인가요?
- fork()란 무엇인가요?
- child process 와 zombie process
- 동기와 비동기, 블로킹과 넌블로킹의 차이는 무엇인가요?
- Swapping
- 은행원 알고리즘
- Bounded- Buffer Problem
- Readers and Writers Problem
- Dining Philosophers Problem
- Call Stack에 대해 설명하시오
- Heap Corruption에 대해 설명하시오
- Heap 메모리는 무엇이고 사용하는 이유는 무엇인가
- Heap과 Stack의 장단점 비교 (속도, 크기 등)
- 거짓 에 대해 설명하시오
- ✨TCP 와 UDP의 특징과 차이점에 대해 설명하시오.
- ✨HTTP GET과 POST의 차이는 무엇인가요?
- ✨3-way hand shake, 4-way hand shake 흐름에 대해서 설명해주세요.
- ✨TCP의 신뢰성 보장은 어떻게?
- ✨TCP RST
- OSI 7계층
- TCP/IP 4계층에 대해서 설명해주세요.
- DNS가 무엇인가요?
- 도메인 이름으로 실제 IP를 어떻게 찾을 수 있는지 흐름을 설명해 주세요.
- TCP 헤더에 대해서 설명해 주세요.
- 대칭키와 공개키
- HTTP 프로토콜에 대해서 아는대로 말해주세요.
- HTTP와 HTTPS 의 차이는 무엇인가요?
- HTTP 1.0과 1.1의 차이는 무엇인가요?
- HTTP 헤더의 구조에 대해서 설명해 주세요.
- 쿠키와 세션에 대해서 설명해 주세요.
- 웹브라우저에서 서버로 요청했을 때, 흐름을 설명해주세요.
- CORS란 무엇인가요?
- 웹 서버와 웹 어플리케이션 서버(WAS)의 차이는 무엇인가요?
- REST API에 대해서 설명해 주세요.
- API Gateway란 무엇인가요?
- 흐름제어 / 혼잡제어 / 오류제어
- JSON과 XML을 비교하시오.
- ✨LinkedList vs ArrayList의 차이점에 대해 설명하시오 (+Array는 추가적인 메모리 확보가 )
- call by Value 와 call by Reference 의 차이점에 대해 설명하시오.
- 빅오 표기법에 대해서 설명해주세요.
- DFS & BFS
- 다익스트라 알고리즘에 대해서 설명해 주세요.
- 프림 알고리즘에 대해서 설명해 주세요.
- 크루스칼 알고리즘과 프림 알고리즘에 대해서 설명해 주세요.
- 인접행렬과 인접리스트에 대해 설명하시오
- HashTable vs HashMap의 차이점에 대해 설명하시오
- 공간복잡도
- 54321 배열이 있을 때, 어떤 정렬을 사용하면 좋을까요?
- 랜덤으로 배치된 배열이 있을때, 어떤 정렬을 사용하면 좋을까요?
- 자릿수가 모두 같은 수가 담긴 배열이 있을 때, 어떤 정렬을 사용하면 좋을까요?
- ✨스택과 큐에 대해서 설명해 주세요.
- ✨해시테이블에 대해서 설명해 주세요.
- 배열과 링크드 리스트의 차이점에 대해서 설명해 주세요.
- 시간 복잡도란 무엇인가
- 시간 복잡도는 실제 수행 시간과 어떤 관계가 있는가?
- 시간복잡도가 작은 알고리즘은 무조건 빠른가?
- 최악의 복잡도는 나쁘지만 실제로는 자주 사용되는 알고리즘을 나열하시오
- 분할정복에 대해 설명하고 그 예시를 드시오
- Dynamic Programming가 무엇이고 왜 어떻게 사용하는가?
- Memoization 에 대해 설명하시오
- 그래프와 트리의 차이점에 대해서 설명해 주세요.
- 힙 자료구조에 대해 설명해 주세요.
- 힙의 삽입과 삭제는 어떻게 이루어지나요?
- 포화(Perfect) 이진트리, 완전(Complete) 이진트리, 정(Full) 이진트리의 차이점에 대해 각각 설명해주세요
- Binary Search Tree
- 레드 블랙 트리에 대해 설명해주세요.
- 레드 블랙 트리의 삽입과 삭제 과정에 대해서 말해보세요.
- B-Tree에 대해서 설명해 주세요.
- 최소 신장 트리에 대해서 설명해 주세요.
- ✨인덱스란 무엇인가요? 어떻게 동작 하나요?
- ✨결합인덱스
- ✨NoSQL vs RDBMS
- ✨트랜잭션이란 무엇인가요? 4가지 원칙을 포함해서 설명해 주세요.
- 트랜잭션의 격리 수준과 각 수준에서 발생할 수 있는 문제들에 대해 말해보세요.
- 인덱스의 알고리즘에는 어떤 것들이 있나요?
- JOIN에 대해서 설명해 주세요.
- 내부 조인과 외부 조인의 차이는 무엇인가요?
- 정규화에 대해서 설명해 주세요.
- 파티셔닝과 샤딩에 대해서 설명해 주세요.
- 스키마란 무엇인가요?
- ORM이란 무엇인가요?
- ✨함수형 프로그래밍에 대해서 설명해 주세요.
- ✨오버로딩과 오버라이딩의 차이는 무엇인가요?
- ✨reference와 value는 각각 어디에 메모리 할당되는가
- ✨heap, stack에 메모리 할당하는 것 중 어떤 것이 더 빠른가? 그 이유는?
- ✨TDD (도입한 이유, 느낀점, 테스트코드를 고쳐야할 때도 있을텐데?)
- ✨CRUD 개념과 구현해본 경험
- ✨싱글톤의 개념과 사용경험
- ✨shared instance의 장단점
- ✨Generic
- ✨PKI
- ✨공유자원을 동시에 접근하면 왜 안되는가?
- ✨GC, ARC의 개념
- ✨왜 GC를 런타임에 해야할까?
- ✨Retain Cycle
- ✨GC로 Retaind cycle을 피할 수 있을까?
- ✨여러 언어에서 다중상속을 지원하지 않는이유
- ✨현실세계에서는 다중상속이 가능한데 왜 프로그래밍 언어에서는 안될까?
- ✨다중상속을 하면 어떤 문제가 발생하는가, 어떻게 해결할 수 있나?
- ✨immutability의 개념과 필요성
- ✨if를 지양하는 것이 좋은데 그 이유과 극복방법
- 프레임워크와 라이브러리 차이는 무엇인가요?
- 컴파일러와 인터프리터의 차이는 무엇인가요?
- 1급 객체에 대해서 설명해 주세요.
- 클래스, 객체, 인스턴스 차이에 대해서 설명해 주세요.
- 순수 추상 클래스와 인터페이스의 차이는 무엇인가요?
- 디자인 패턴이란 무엇인가요?
- 클린코드란?
- 애자일 기법이란?
- 객체지향이 무엇인가요? 절차지향과의 차이점은 뭐죠?
- 객체지향 SOLID 원칙에 대해서 설명해 주세요.
- 객체지향 4가지 특징에 대해서 설명해 주세요.
- 데이터 타입과 변수의 차이는 무엇인가요?
- AOP란 무엇인가요?