Skip to content

Latest commit

 

History

History
108 lines (70 loc) · 4.14 KB

db_expected_question.md

File metadata and controls

108 lines (70 loc) · 4.14 KB

DataBase Expected question

Key

  1. 복합키에 대해 설명해 주세요.
  2. primary key에 대한 특성에 대해 설명해 주세요.

ERD와 정규화 과정

  1. 정규화의 정의와 장점에 대하여 설명해 주세요.
  2. 정규화는 무엇이며 발생하는 이상현상에 대하여 설명해 주세요.

트랜잭션

  1. 트랜잭션에 대해서 간략하게 설명해 주세요.
  2. 트랜잭션을 병행할 때 발생할 수 있는 문제점을 설명해 주세요.
  3. 트랜잭션의 격리수준에 대해 설명해 주세요.
  4. 트랜잭션 Isolation 보장하는 방법에 대해 설명해 주세요.
  5. 커밋에 대해 설명해 주세요.
  6. 커밋된 이후에 변경되지 않은 상태를 뭐라고 하는 건가요?
  7. ACID 원칙의 정의와 설명에 대해 설명해 주세요.
  8. 서로 다른 데이터베이스 (ex: oracle, redis, mysql) 2PC 트랜잭션이 필요할 때 어떻게 적용 할 수 있는가?
  9. mysql, oracle의 default 아이솔레이션 레벨 전략이 무엇인지 설명해 주세요.

인덱스

  1. 인덱스를 쓰는 이유에 대해 설명해 주세요.
  2. 인덱스의 내부 원리에 대해서 설명해 주세요.
  3. 인덱스를 구현하는 자료구조에 대해서 설명해 주세요.
  4. 인덱스의 특징에 대해 아는대로 말해보세요.
  5. 인덱스를 어떤 칼럼에 사용하는게 좋을까요?
  6. 모든 칼럼에 인덱스를 사용하면 성능이 더 좋아지나요?
  7. 인덱스를 거는 칼럼 정하는 기준은 무엇인가요?
  8. 카디널리티가 높으면 왜 칼럼 선정할까요?
  9. hash 테이블 시간복잡도 O(1)로 트리보다 빠른데 왜 트리를 사용할까요?
  10. Multi column Index를 사용 시 고려해야할 사항은 무엇인가요?
  11. Index를 구현하는 자료구조에 대해서 말씀해 주세요.

조인

  1. Left Outer Join과 Inner Join 차이점에 대해서 설명해 주세요.
  2. A, B 테이블에 같은 컬럼이 존재할 경우 조인(Inner Join/Outer Join) 시 어떤 값을 출력하나요?

저장 프로시저

  1. 함수와 프로시저의 차이를 알려주세요.
  2. 저장 프로시저 관련해서 저장 프로시저의 장점과 단점 2가지 이상 설명해 주세요.
  3. 저장 프로시저 내에서 저장 프로시저를 호출할 수 있나요?
  4. Multi column Index 장점은 무엇인가요?

RDBMS와 NoSQL

  1. RDB의 특징은 무엇인가요?
  2. NoSQL이 나오게된 이유에 대해 설명해 주세요.
  3. MySQL에서 스토리지 엔진의 역할은?
  4. NoSQL의 종류와 각각의 특징은?
  5. 어떤 상황에서 NoSQL 사용이 적절한가?
  6. RDB와 NoSQL 비교해서 설명해 주세요.
  7. NoSQL에서의 CAP theorem(정리)은 무엇인가요?

RDB와 NoSQL에서의 클러스터링/레플리케이션 방식

  1. 데이터베이스 클러스터링과 리플리케이션의 차이에 대해 설명해 주세요.
  2. mongoDB에서 Config Server에 저장된 metadata는 무엇인가요?
  3. Replication의 구축목적은 무엇인가요?

B- Tree와 B+ Tree

  1. B-tree와 B+tree의 차이점은 무엇인가요?
  2. 배열 대신 B tree 자료구조를 사용하는 이유가 무엇인가요?

DB Locking

  1. Locking 단위 설정에 대한 장점과 단점이 무엇인가요?
  2. Lock 연산 종류 2가지에 대해 설명해 주세요.
  3. Optimistic Lock/Pessimistic Lock에 대해 설명해 주세요.

DB의 Connection Pool

  1. Connection Pool이란 무엇인지 설명해 주세요
  2. Connection Pool을 사용하는 이유에 대해 설명해 주세요.
  3. DB와 Client가 Connection을 어떻게 구성하는지 설명해 주세요.
  4. Connection Pool의 동작 원리에 대해 설명해 주세요.
  5. 실시간 통신과 풀 사용시 차이점에 대해 설명해 주세요.

Trigger

  1. 트리거와 프로시저의 차이점에 대해 설명해 주세요.
  2. 트리거를 사용하는 이유에 대해 설명해 주세요.
  3. 트리거에서 사용되는 임시 테이블에 대해 설명해 주세요

Redis

  1. Redis란 무엇이고 언제 사용하나요?
  2. Redis와 MongoDB의 차이점은 무엇인가요?
  3. Redis가 지원하는 데이터 구조에는 어떤것들이 있나요?