티스토리 뷰
모의 면접
- 자료구조를 알아야 하는 이유에 대해 서술하시오
자료구조는 데이터를 효율적으로 저장하고 조작하기 위한 기본적인 도구입니다 자료구조를 이해하는 것은 프로그래밍에서 효율적인 알고리즘을 개발하고 문제를 해결하는 데 필수적입니다
- 자료구조에 대해서 간단하게 정의해주세요
자료구조는 데이터의 조직, 관리, 저장을 위한 방법을 정의한 것입니다 데이터를 구조화하여 저장하고 접근할 수 있는 방법을 말합니다
- OOP란?
OOP(객체 지향 프로그래밍)는 프로그래밍 패러다임 중 하나입니다 프로그램을 객체들의 모임으로 바라보고 이들 간의 상호작용으로 프로그램을 구성하는 것을 의미합니다
- 클라우드 서비스 모델에 대해 무엇이 있으며, 각각 설명하시오
클라우드 서비스 모델로는 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)가 있습니다 각각은 하드웨어, 플랫폼, 소프트웨어를 서비스 형태로 제공합니다
- 네트워크 OSI, TCP/IP 모델을 비교하시오
OSI 모델은 7개의 계층으로 이루어져 있고, TCP/IP 모델은 4개의 계층으로 이루어져 있습니다. OSI 모델은 더 추상화된 계층이 많고, TCP/IP 모델은 실질적인 네트워킹 구현을 고려한 모델입니다
- TCP, UDP 차이를 말하시오
TCP는 연결 지향적이고 신뢰성이 높은 전송 프로토콜이며, UDP는 비연결성이고 데이터 전송이 보장되지 않는 프로토콜입니다
- 프로토콜이 무엇이며, 알고 있는 프로토콜 중 하나를 설명하시오
프로토콜은 컴퓨터나 네트워크 장치 사이의 통신을 규정하는 규칙의 집합입니다 예를 들어, HTTP(Hypertext Transfer Protocol)는 웹 서버와 클라이언트 간의 통신을 규정하는 프로토콜입니다
- 그래프의 인접 리스트와 인접 행렬의 차이점은 무엇인가요?
인접 리스트는 각 정점마다 인접한 정점들을 연결 리스트로 저장하는 방식이고, 인접 행렬은 정점 간의 연결 관계를 이차원 배열로 나타내는 방식입니다
- 시간 복잡도와 공간 복잡도의 차이는 무엇인가요?
시간 복잡도는 알고리즘의 수행 시간을 의미하고, 공간 복잡도는 알고리즘이 사용하는 메모리 공간의 크기를 의미합니다
- 재귀 함수(Recursive Function)가 무엇이며, 어떤 상황에서 사용하나요? 예시를 들어 설명해 주세요
재귀 함수는 자기 자신을 호출하는 함수를 말하며, 주로 하위 문제들이 동일한 형태의 원래 문제로 축소될 때 사용됩니다. 예를 들어, 팩토리얼 계산이나 피보나치 수열 계산에 재귀 함수가 사용될 수 있습니다
- 데이터베이스와 SQL은 무엇인가요?
데이터베이스는 데이터의 집합을 의미하며, SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터를 관리하고 조작하기 위한 언어입니다
- 배열과 연결 리스트의 차이는 무엇인가요? 각각의 장단점은 무엇인가요?
배열은 연속된 메모리 공간에 데이터를 저장하는 자료구조이고, 연결 리스트는 불연속된 메모리 공간에 데이터를 저장하고 다음 노드를 가리키는 링크를 이용하는 자료구조입니다 배열은 빠른 접근이 가능하지만 삽입, 삭제가 비효율적이고, 연결 리스트는 삽입, 삭제가 용이하지만 접근 시간이 더 많이 소요될 수 있습니다
- 리스트에서 삽입 삭제 하는 방법을 자유롭게 알려주세요
리스트에서 삽입은 특정 위치에 요소를 추가하는 것이며, 삭제는 특정 위치의 요소를 제거하는 것입니다
- 트리에 대해서 간단하게 정의해주세요
트리는 계층적인 구조로 이루어진 자료구조로, 하나의 루트 노드로부터 시작하여 여러 개의 하위 노드로 이어지는 구조를 갖습니다
- 파이썬에서 기본 자료형 3가지 이상 간단하게 설명해주세요
파이썬의 기본 자료형에는 정수형(int), 부동소수점형(float), 문자열(str) 등이 있습니다
- 재귀 함수에 대해서 간단하게 정의해주세요
재귀 함수는 자기 자신을 호출하여 문제를 해결하는 함수로, 함수가 자기 자신을 호출하는 행위를 재귀라고 합니다
- BFS는 일반적으로 어떤 자료구조를 사용하나요?
BFS(Breadth-First Search)는 일반적으로 큐 자료구조를 사용합니다
- 브루트 포스 방법은 무엇인지 간단하게 설명해주세요
브루트 포스 방법은 가능한 모든 경우의 수를 대입하여 문제를 해결하는 방법으로, 가장 간단하고 직접적인 방법입니다
- DB에 대해서 간단하게 정의해주세요
DB(Database)는 데이터를 체계적으로 저장하고 관리하는 시스템을 의미합니다
- 쿼리에 대해서 간단하게 정의해주세요
쿼리는 데이터베이스에서 데이터를 조회하거나 조작하기 위해 사용되는 명령어나 문장을 의미합니다
- 스키마에 대해서 간단하게 정의해주세요
스키마는 데이터베이스 구조를 정의하고, 데이터베이스에 저장될 데이터의 형식, 구조, 관계 등을 정의하는 것입니다
- Set 자료구조는 어떤 특성을 가지고, 어떤 상황에서 쓰이나요?
Set 자료구조는 중복된 원소를 허용하지 않고, 원소들의 순서가 없는 자료구조입니다. 중복된 원소를 제거하거나 존재 여부를 판단할 때 사용됩니다
- join 연산에 대해서 설명해주세요
join 연산은 관계형 데이터베이스에서 두 개 이상의 테이블을 결합하여 필요한 정보를 가져오는 연산입니다. 주로 특정 열의 값이 일치하는 행을 기준으로 테이블을 결합하며, INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN 등의 종류가 있습니다 이를 통해 데이터의 일부를 조합하여 원하는 정보를 효과적으로 추출할 수 있습니다
'내일배움캠프 개발자과정 > TIL' 카테고리의 다른 글
내일배움캠프 32일차 TIL (0) | 2024.03.28 |
---|---|
내일배움캠프 31일차 TIL (1) | 2024.03.27 |
내일배움캠프 29일차 TIL (0) | 2024.03.25 |
내일배움캠프 28일차 TIL (1) | 2024.03.22 |
내일배움캠프 27일차 TIL (0) | 2024.03.21 |