[IT] 신입 개발자 기술 면접 질문 정리 1 - SQL

2024. 6. 22. 21:05·etc.
728x90
728x90

* 취준생 시절 면접 때 직접 들었던 질문 위주로 정리했고, 예상 질문으로 제가 준비했던 것들도 있습니다.

 

- 인성 면접 : 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 넌클러스터드 인덱스

 

● 테이블

 

 

320x100
반응형
저작자표시 비영리 변경금지 (새창열림)

'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
'etc.' 카테고리의 다른 글
  • [IT] 신입 개발자 기술 면접 질문 정리 3 - Java
  • [IT] 신입 개발자 기술 면접 질문 정리 2 - HTML, CSS, JavaScript
  • [IT] 신입 개발자 인성 면접 질문 정리
  • [Zapier(재피어)] 구글 스프레드시트에 신규 데이터 입력 시 자동 메일 발송
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (383)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (10)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • etc. (13)
      • Error Note (14)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    php
    tailwindcss
    typeScript
    오블완
    jQuery
    zapier
    Swing
    SEO
    java
    http
    개발일지
    HTML
    SpringBoot
    SQL
    CSS
    면접
    Android
    js
    Codeigniter
    Wordpress
    티스토리챌린지
    vuejs
    git
    cs
    jsp
    Hotkeys
    errorNote
    C#
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[IT] 신입 개발자 기술 면접 질문 정리 1 - SQL
상단으로

티스토리툴바