* 취준생 시절 면접 때 직접 들었던 질문 위주로 정리했고, 예상 질문으로 제가 준비했던 것들도 있습니다.
- 인성 면접 : https://young0105.tistory.com/347
- 기술 면접 2 : https://young0105.tistory.com/349
- 기술 면접 3 : https://young0105.tistory.com/350
- 기술 면접 4 : https://young0105.tistory.com/351
● 이상 현상
- 테이블에서 일부 데이터들이 불필요하게 중복되어 발생하는 문제
- 삽입 이상 : 데이터를 삽입할 때, 원하지 않는 값들이 함께 삽입됨
- 삭제 이상 : 데이터를 삭제할 때, 원하지 않는 값들도 함께 연쇄적으로 삭제됨
- 갱신 이상 : 데이터를 갱신할 때, 일부 데이터만 갱신되어 모순이 발생함
→ 이상 현상을 방지하기 위해 '정규화'를 수행함
● 정규화
- 데이터 중복성을 제거해서 이상 현상을 방지하고, 데이터의 일관성을 유지하기 위해 무손실 분해하는 과정
- 무손실 분해
: 테이블이 분해될 때에는 분해로 인한 정보 손실이 발생하지 않아야 하고,
JOIN을 사용하면 분해 전의 테이블로 복원 가능해야 함
● 정규화 단계
- https://young0105.tistory.com/282
● 정규화 기반 설계 경험
● 역정규화 (반정규화)
- 데이터 중복을 일부 허용함으로써, JOIN 쿼리 사용을 줄여 실행 속도를 향상시킴
● 인덱스
- 데이터 검색 속도를 향상시키기 위해 사용하는 구조
- 인덱스가 생성된 컬럼에 대해 정렬된 값을 가짐
→ 해당 컬럼의 값을 이용하여 검색을 수행할 때 빠르게 검색 가능
- https://young0105.tistory.com/118
● 인덱스가 검색 속도를 향상시킨다면, 모든 컬럼에 인덱스를 생성해도 되는가?
- 모든 컬럼에 인덱스를 설정하는 것은 풀 스캔하는 것과 같으므로 의미가 없음
● 트랜잭션
- https://young0105.tistory.com/229
● JOIN vs UNION
- JOIN : Column 방향으로 합치는 것 (Column이 추가됨)
- UNION : Row 방향으로 합치는 것 (Row가 추가됨)
● UNION vs UNION ALL
- UNION : 중복을 제거해서 Row 방향으로 데이터를 합치는 것
- UNION ALL : 중복 포함해서 Row 방향으로 데이터를 합치는 것
● WHERE 절 vs HAVING 절
- WHERE : 개별 데이터에 대한 조건 설정
- HAVING : GROUP BY로 묶은 그룹에 대한 조건 설정
● 식별관계 vs 비식별관계
- 식별관계
: 부모의 기본키/고유키를 자식이 자신의 기본키로 사용함
→ 부모가 없으면 자식도 없음
- 비식별관계
: 부모의 기본키/고유키를 자식이 기본키로 사용하지 않음
→ 부모가 없어도 자식이 독립적으로 생길 수 있음
● DDL (데이터 정의어)
- CREATE : https://young0105.tistory.com/114
- ALTER, RENAME, RROP, TRUNCATE : https://young0105.tistory.com/114
● DML (데이터 조작어)
- INSERT, UPDATE, DELETE : https://young0105.tistory.com/116
● DCL (데이터 제어어)
- GRANT, REVOKE : https://young0105.tistory.com/134
● 데이터베이스 스키마
- DB 구조와 제약 조건에 관한 전반적인 명세를 정의한 메타데이터 집합
● JOIN
- https://young0105.tistory.com/121
● CHAR vs VARCHAR
- CHAR : 고정 길이 → 선언된 크기보다 짧은 문자열을 입력하면 나머지 공간이 공백으로 채워짐
- VARCHAR : 가변 길이
● DELETE vs DROP vs TRUNCATE
- DELETE : 행 삭제 (조건을 설정해서 특정 데이터만 삭제 가능)
· 트랜잭션을 사용해서 롤백 가능
- TRUNCATE : 모든 행 삭제 (조건 설정 불가)
· 트랜잭션을 사용할 수 없어서 롤백할 수 없음
- DROP : 테이블 삭제
● 관계차수
- https://young0105.tistory.com/120
● 기본키(PK) vs 외래키(FK)
- https://young0105.tistory.com/119
● 커넥션 풀
- 미리 DB 커넥션을 풀에 저장해 두고, 요청이 들어올 때마다 커넥션 풀에서 커넥션을 하나씩 꺼내서 사용함
● SQL Injection
● RDBMS vs NoSQL
● 데이터베이스 트리거
● 프로시저
● 클러스터드 인덱스 vs 넌클러스터드 인덱스
● 테이블
'etc.' 카테고리의 다른 글
[IT] 신입 개발자 기술 면접 질문 정리 3 - Java (0) | 2024.06.27 |
---|---|
[IT] 신입 개발자 기술 면접 질문 정리 2 - HTML, CSS, JavaScript (0) | 2024.06.22 |
[IT] 신입 개발자 인성 면접 질문 정리 (0) | 2024.06.22 |
[Zapier(재피어)] 구글 스프레드시트에 신규 데이터 입력 시 자동 메일 발송 (0) | 2024.04.05 |
[Zapier(재피어)] Schedule Trigger (0) | 2024.04.03 |