기술 면접 Study
1. Stack과 Queue 자료구조에 대해 말씀해주시고 차이점에 대해 설명해주세요.
- Stack의 자료 구조는 데이터를 순서대로 쌓으며, 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조로 후입선출의 구조입니다. 이와 반대로 Queue는 먼저 들어온 것이 먼저 나가는 선입선출의 구조로 처음 들어온 자료가 삭제되고 뒤로 자료가 쌓이는 형태입니다.
2. Array와 Linked List 자료구조에 대해 말씀해주시고 차이점에 대해 설명해주세요.
- Array는 입력된 데이터들이 메모리 공간에서 연속적으로 저장되어 있는 자료 구조입니다. 연속적으로 저장되는 특징으로 index를 통한 접근이 용이합니다. Linked List는 여러 개의 노드들이 순차적으로 연결된 형태를 갖는 자료 구조로 Array와 다르게 메모리를 연속적으로 사용하지 않고, 노드가 연결된 구조이기 때문에 삽입 및 삭제에 용이합니다.
3. RDB와 NoSQL은 무엇인가요? 차이점 또는 장단점 위주로 설명해주세요.
- RDB는 Relational DataBase로 관계형 데이터베이스를 의미합니다.
엑셀의 형식과 유사한 2차원 테이블 형식으로 구성되며, 속성과 값을 이용하여 데이터를 정의하고 저장 및 관리합니다. 이러한 데이터들을 활용하기 위해 사용자는 SQL(Structed Query Language)이라는 언어를 활용합니다. - NoSQL은 Not Only SQL로 RDB와 반대되는 방식을 사용하며, 데이터 와 테이블 간의 관계를 정의하지 않습니다. 따라서 정해진 스키마가 없기에 보다 자유롭게 데이터를 저장할 수 있습니다.
- 차이점으로는 RDB는 반드시 스키마 규격에 맞춰 데이터를 다뤄야 하지만, NoSQL은 테이블에 스키마가 정해져있지 않아 데이터 저장이 비교적 자유롭습니다.그리고, NoSQL은 RDB보다 복잡도가 떨어져 대용량의 데이터를 저장 및 관리할 수 있습니다. 데이터를 업데이트 하는 데 있어 RDB는 빠르지만, NoSQL은 비교적 느립니다.(NoSQL 레디스는 빠르다 체크)
네 RDB 와 NoSQL에 대해 설명해보겠습니다.
RDB는 Relational DataBase로 관계형 데이터베이스를 의미합니다.
엑셀의 형식과 유사한 2차원의 테이블 형식으로 구성되며
속성과 값을 이용하여 데이터를 정의하고 저장 및 관리합니다.
이러한 데이터들을 활용하기 위해 사용자는 SQL이라는 언어를 사용합니다.
NoSQL은 Not Only SQL로 RDB와 반대되는 방식을 사용하여
데이터와 테이블 간의 관계를 정의 하지 않습니다.따라서 정해진 스키마가
없기에 보다 자유롭게 데이터를 저장할 수 있습니다.
차이점으로 NoSQL은 RDB보다 복잡도가 떨어져 대용량의 데이터를 저장 및
관리 할 수 있습니다. 데이터를 업데이트 하는 데 있어 RDB는 빠르지만,
NoSQL은 비교적 느립니다.
4. Join의 뜻은 무엇인가요? Inner Join과 Left (Outer) Join에 대한 차이점을 설명해주세요.
- Join이란 테이블 간의 관계성에 따라서 복수의 테이블을 결합해 하나의 테이블인 것처럼 결과를 출력하는 것을 의미합니다.
- Left Join은 합집합을 의미하며, 왼쪽의 모든 행을 조회합니다. 매칭되는 행이 없어도 결과를 가져오고 없는 경우를 NULL로 표시하지만, 교집합을 의미하는 Inner Join은 Join하는 두개의 테이블에서 겹치지 않는 행이 존재할 경우, 그 행은 결과에서 제외됩니다.
만약 두 테이블에서 Left Join의 결과와 Inner Join의 결과가 같다면 상대적으로 성능이 좋은 Inner Join을 사용하는 것이 좋습니다.
네 Join은 테이블 간의 관계성에 따라 복수의 테이블을 결합해 하나의
테이블인 것처럼 결과를 출력하는 것을 의미합니다.
Left Join은 합집합을 의미하며, 왼쪽의 모든 행을 조회합니다.
매칭되는 행이 없어도 결과를 가져오며, 없는 경우 NULL로 표시하지만,
Inner Join은 교집합을 의미하며, Join하는 두 개의 테이블에서 겹치지 않는 행이 존재할 때,
그 행은 결과에서 제외됩니다.
만약 두 테이블에서 두 Join의 결과가 같다면 상대적으로 성능이 좋은
Inner Join을 사용하는 것이 좋습니다.
'취업_TIL' 카테고리의 다른 글
취업_TIL | 2022-10-20 (11) _ DB (0) | 2022.10.20 |
---|---|
취업_TIL | 2022-09-16 (10) _ 기술 면접 STUDY 5 ~ 6 (1) | 2022.09.16 |
취업_TIL | 2022-09-07 (8) _ 기술 면접 대비 질문 43~52 (0) | 2022.09.07 |
취업_TIL | 2022-09-06 (7) _ 기술 면접 대비 질문 41~42 및 알고리즘 풀이 (0) | 2022.09.06 |
취업_TIL | 2022-09-05 (6) _ 기술 면접 대비 질문 28~40 (0) | 2022.09.05 |