CS 면접 예상질문 정리

운영체제

프로세스

메모리

네트워크

전산 기본

  • OSI 7계층에 대해서 설명해주세요.

    OSI 7계층

  • TCP/IP 4계층에 대해서 설명해주세요.

    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