- NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요.
- RDBMS 는
장점1) 중복된 데이터가 없고(데이터 무결성) 관계간 데이터를 중복없이 한 번만 저장할 수 있습니다.
단점 1) 테이블과 테이블이 관계를 맺고 있어 시스템이 커질 경우 JOIN 문이 많은 복잡한 쿼리가 만들어집니다. 성능 향상을 위해선 서버와 성능을 향상 시켜야하는 Scale-up 만 지원하기 때문에, 비용이 비싸질 수 있습니다.
단점 2) 이러한 스키마로 인해 데이터가 유연하지 못합니다. (스키마가 변경될 경우 번거롭고 어려움)
NoSQL 은
장점 1) 스키마가 없어 유연하고 자유로운 데이터 구조를 갖고 있습니다. → 언제든 데이터를 조정,(새로운 필드를) 추가할 수 있습니다.
장점 2) 데이터 분산이 용이(병렬화 가능) 하고 성능 향상을 위해 Scale-up 뿐 아니라 Scale-out 도 가능
단점 1) 데이터 중복이 발생할 수 있고, 중복 데이터가 변경될 경우 모든 컬렉션에서 수정을 하여야 합니다
단점 2) 스키마가 없어 명확한 데이터 구조를 보장하지 않고 데이터 구조 결정이 어려울 수 있습니다.
- RDBMS 는
- mvc 패턴에 대해서 설명해주세요.
- MVC 패턴이란 Model(모델), View(뷰), Controller(컨트롤러)의 앞글자를 따서 이름지어진 디자인 패턴입니다.
MVC 패턴을 사용하는 이유는
1. 개발자가 역할을 나눠 모델, 컨트롤러, 뷰를 동시에 개발할 수 있습니다. 예를 들어 Java개발자가 모델과 컨트롤러를 개발하고, UI 개발자가 뷰부분을 담당하여 개발할 수 있습니다. 이를 통해 개발시간 단축과 역할분리가 가능합니다.
2. 확장성있고 유연한 코딩이 가능하고, 중복 코드를 없앨 수 있습니다. 예를 들어, Java 코드로 로직을 설계한것이 웹으로 배포할 내용과, 앱으로 배포할 내용이 있다면 View 부분만 바꿔서 코딩할 수 있습니다.
3. 컴포넌트 별로 나눠져 있어, 디버깅/테스트가 편리합니다.
하지만 단점도 있습니다.
1. View 와 Model 의 의존성이 높다는 것 입니다. View 와 Model 의 높은 의존성은 프로젝트의 규모가 커질 수록 복잡해져 유지보수를 어렵게 만들 수 있습니다.
- MVC 패턴이란 Model(모델), View(뷰), Controller(컨트롤러)의 앞글자를 따서 이름지어진 디자인 패턴입니다.
- RDBMS의 정규화에 대해 설명해주세요.
- 답변
- Primary Key, Foreign Key에 대해 설명해주세요.
- 답변
- HTTP 메서드에 대해 설명해주세요.
- 답변
- CORS(Cross Origin Resource Sharing)에 대해 설명해주세요.
- 답변
- 브라우저의 작동방식에 대해서 설명해주세요.
- 답변
- 쿠키, 세션의 개념과 차이를 설명해보세요
- 답변
- TCP/UDP에 대해서 설명해주세요.
- 답변
- http, https 차이점에 대해 설명해주세요
- 답변
- DI, IoC에 대해 설명해주세요.
- 답변
- 객체지향 프로그래밍이란 무엇이고 어떻게 활용할 수 있나요?
- 답변
- 대용량 트래픽 발생 시 어떻게 대응해야 하나요?
- 답변
- ORM을 사용하면서 쿼리가 복잡해지는 경우에는 어떻게 해결하는게 좋을까요?
- 답변
- GET, POST의 개념과 함께 데이터 흐름에 대해서 설명해주세요.
- 답변
- OSI 7계층에 대해 아는대로 설명해주세요.
- 답변
- 세션 기반 인증과 토큰 기반 인증의 차이에 대해 설명해주세요.
- 답변
- JWT, Refresh, Access Token에 대해서 설명해주세요.
- 답변
- OAuth에 대해서 설명해주세요.
- 답변
- 클래스형과 함수형의 차이를 설명해주세요. 어떤 방식을 주로 사용하였고 그 이유가 뭔지 답변해주세요.
- 답변
- CI/CD에 대해서 설명해주세요.
- 답변
- TDD에 대해서 설명해주세요.
- 답변
- 프로세스와 쓰레드에 대해서 설명하고 그 차이에 대해서 설명해주세요.
- 답변
- 멀티프로세스와 멀티쓰레드의 특징에 대해 설명해주세요.
- 답변
- 쿼리 최적화에 대해 설명해주시고 방법에 대해 설명해주세요.
- 답변
- DB 로직 최소화를 하려면 어떻게 해야 할까요?
- 답변
- 테스트코드에 대해서 아는대로 설명해주시고 활용 경험에 대해서 답변해주세요.
- 답변
- Array, LinkedList에 대해 설명해주시고 각각 어떻게 사용하는지 말씀해주세요.
- 답변
- AWS S3, EC2를 사용하는 이유와 사용 경험에 대해서 답변해주세요.
- 답변
- 정렬 알고리즘에 대해서 아는대로 설명해주세요.
- 답변
'ComputerScience' 카테고리의 다른 글
MVC 패턴 (0) | 2023.08.18 |
---|---|
디자인패턴 ) MVC, MVP, MVVM 비교 (0) | 2023.08.18 |
Database ) RDBMS와 NoSQL의 차이점 (0) | 2023.08.17 |
왜 JWT를 사용하는가? JWT 사용 이유 (0) | 2023.07.14 |
JWT란? 왜 사용할까? 장단점은? (0) | 2023.07.14 |