1. 기술 면접 준비

질문 : MVC 패턴에 대해서 설명해주세요

MVC 패턴은 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. SW의 비즈니스 로직과 View(화면)을 구분하는데 중점을 두고 있습니다.

MVC 패턴의 세 가지 부분은 다음과 같이 설명할 수 있습니다.

  1. 모델: 데이터와 비즈니스 로직을 관리합니다. 즉, 모델은 앱이 포함해야 할 데이터가 무엇인지를 정의합니다.
  2. 뷰: 레이아웃과 화면을 처리합니다. 즉, 앱의 데이터를 보유주는 방식을 정의합니다.
  3. 컨트롤러: 명령을 모델과 뷰 부분으로 라우팅합니다. 즉 앱의 사용자로부터 입력에 대한 응답으로 모델 및 view를 업데이트 하는 로직을 포함합니다.

질문 : RDMBS 정규화에 대해 설명해주세요.

정규화란 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 의미합니다.

정규화의 목적으로는

  1. 데이터베이스의 변경 시 이상 현상 제거
  2. 데이터베이스 구조 확장 시 재 디자인 최소화
  3. 사용자에게 데이터 모델을 더욱 의미있게
  4. 다양한 관점에서 Query를 지원하기 위함

4가지가 존재하며, DB 정규화 절차로는 제 1~5정규화까지 있지만, 평균적으로 제1~3 정규화와 BCNF 정규화까지만 진행합니다.

DB 정규화, 비정규화, 역정규화