TIL

(2024-07-18) 면접 준비

o_coding 2024. 7. 18. 15:35

면접 질문1.NoSql과 RDBMS의 차이점을 장단점을 들어가면서 설명하시오

:NoSql은 스키마가 없기 때문에 유연한 구조를 가지고 있고 수평적 확장이 가능해 대규모 데이터를 처리하는대 용의하다. RDBMS보다 읽기쓰기 성능은 높지만 수정하는 경우 속도가 RDBMS에 비해 느리고 중복을 허용하기 때문에 중복된 칼럼을 수정하는 경우 여러개의 데이터를 변경해야한다.

RDBMS는 데이터의 구조가 명확할 경우 사용하고 외래키를 통해 테이블간에 Join이 가능하고 데이터의 중복을 허용하지 않는다.단점으로는 외래키로 테이블간에 관계를 맺고 있기 때문에 다수의 Join문이 발생해서 쿼리가 복잡해진다. 그리고 데이터의 구조가 명확한 경우 사용하기 때문에 유연하지가 않다.

 

정리 : NoSQL은 데이터 구조 유연,대규모 데이터 처리 용의,RDBMS보다 읽기쓰기 빠르고 수정 느림,중복허용

          RDBMS는 구조가 명확,외래키로 Join가능,쿼리가 복잡해짐,유연하지가 않다.

 

면접 질문1.MVC패턴에 대해 설명하세요

:MVC패턴은 사용자 인터페이스로 부터 비지니스 로직을 분리하기 위한 소프트웨어 디자인 패턴이다. 어플리케이션의 구성요소를 Model-View-Controller로 나누어서 개발하는 방법이다. 따라서 역할 분리로 인해 낮은 결합도로 모둘화할 수 있고 코드의 재사용성이 높아진다.

Model - 데이터를 관리하는 역할 컨트롤러가 호출하면 DB와 연동해서 CRUD같은 비지니스 로직을 수행한다.

View - 사용자 인터페이스 이고 컨트롤러가 모델로 부터 데이터를 요청하면 뷰는 해당 데이터를 가져와서 사용자에화면에 출력한다.

Controller - 모델과 뷰 사이를 이어주는 인터페이스 역할을 한다. 뷰에서 전달한 이벤트에 따라 모델이 어플리케이션 상태를 관리할 수 있게한다. 모델이 가진 데이터를 뷰에 전달하여 화면을 만든다.

 

정리:MVC패턴은 사용자 인터페이스랑 비지니스 로직 분리를 위한 디자인패턴, Model - View - Controller로 나뉘고 모델은 데이터 관리,View는 사용자 화면 출력, Controller는 모델뷰사이를 연결

 

 

'TIL' 카테고리의 다른 글

(2024-06-27) Cascade.REMOVE 와 OrphanRemoval 의 차이점  (0) 2024.06.27
(2024-06-26) JDBC  (0) 2024.06.26
(2024-06-20) 변경감지  (0) 2024.06.21
(2024-06-19) 아웃소싱 팀프로젝트 시작  (0) 2024.06.20
(2024-06-18) 통합테스트  (0) 2024.06.19