🚌 2024년 11월 4일~ 2024년 11월 11일까지의 주제는 자료구조와 알고리즘이다.
💡 공통으로 준비한 질문
1️⃣ 첫번째 접은 글은 내 말로 풀어쓴 정답
2️⃣ 두번째 접은 글은 해석 또는 공부한 내용 또는 추가적으로 궁금한 내용
- 📗 자료 구조 편 -
1. Array와 LinkedList의 차이점에 대해 설명해 주세요.
- Array는 인덱스로 값을 찾는데 빠르지만, LinkedList는 값의 삽입과 삭제가 빠릅니다.
또한, Array는 배열을 선언할 때 크기와 데이터 타입을 지정해야 하며, 중간에 데이터를 삽입하거나 삭제할 시 매우 비효율적입니다. LinkedList는 한 노드에 연결될 노드의 포인터 위치를 가리키는 방식으로 되어 있어 삽입과 삭제 시 주소값만 바꾸어 연결해주기 때문에 빠르게 진행이 가능합니다.
Array vs ArrayList vs LinkedList | 👨🏻💻 Tech Interview
Array vs ArrayList vs LinkedList 세 자료구조를 한 문장으로 정의하면 아래와 같이 말할 수 있다. Array는 index로 빠르게 값을 찾는 것이 가능함 LinkedList는 데이터의 삽입 및 삭제가 빠름 ArrayList는 데이터
gyoogle.dev
2. Array와 LinkedList 그림으로 보는 차이
[CS/자료구조] Array와 LinkedList 정의, 차이점
1. 배열(Array) 미리 할당된 크기에 연관된 데이터를 메모리 상에 연속적이고 순차적으로 저장하는 선형 자료구조 특징 저장공간이 고정되어 있음 순차적으로 저장 인덱스로 원소에 바로 접근할
velog.io
2. Stack과 Queue의 개념 및 사용 사례를 설명해 주세요.
- 스택이란?
- LIFO 형식을 사용합니다.
- 사용 사례로는 함수의 콜스택, 문자열 역순 출력, 연산자 후위 표기법 때 많이 사용합니다.
나중에 들어온 게 먼저 나가는 방식
- 큐란?
- FIFO 형식을 사용합니다.
- 사용 사례로는 버퍼, 마구 입력된 것을 처리하지 못하고 있는 상황, BFS 입니다.

스택 & 큐 | 👨🏻💻 Tech Interview
스택 & 큐 스택(Stack) 입력과 출력이 한 곳(방향)으로 제한 LIFO (Last In First Out, 후입선출) : 가장 나중에 들어온 것이 가장 먼저 나옴 언제 사용? 함수의 콜스택, 문자열 역순 출력, 연산자 후위표기
gyoogle.dev
tech-interview/contents/datastructure.md at master · WeareSoft/tech-interview
:loudspeaker:🙍 tech interview. Contribute to WeareSoft/tech-interview development by creating an account on GitHub.
github.com
[자료구조] 스택 (STACK), 큐(QUEUE) 개념/비교 /활용 예시
[자료구조] 스택 (STACK), 큐(QUEUE) 개념/비교 /활용 예시/ 실생활 활용 스택 (STACK)이란? 📌 스택의 개념 스택(stack)이란 쌓아 올린다는 것을 의미한다. 따라서 스택 자료구조라는 것은 책을 쌓는 것
devuna.tistory.com
3. Priority Queue 및 Heap에 대해 설명해 주세요.
- 우선순위 큐란?
- 데이터들이 우선 순위를 가지고 있고, 우선순위가 높은 데이터가 먼저 나갑니다.
- 배열, 연결리스트, 힙으로 구현하며 시뮬레이션 시스템, 작업 스케줄링, 수치해석 계산에 사용됩니다.
- 힙이란?
- 완전 이진 트리의 일종으로, 여러 값 중, 최대값과 최소값을 빠르게 찾아내도록 만들어진 자료구조입니다.
- 힙의 종류로는 최대힙과 최소 힙이 있습니다.
힙(Heap) | 👨🏻💻 Tech Interview
힙(Heap) 알아야할 것 1.힙의 개념 2.힙의 삽입 및 삭제 힙은, 우선순위 큐를 위해 만들어진 자료구조다. 먼저 우선순위 큐에 대해서 간략히 알아보자 우선순위 큐 : 우선순위의 개념을 큐에 도입한
gyoogle.dev
우선순위 큐와 힙의 차이
큐(Queue): 먼저 들어오는 데이터가 먼저 나가는 구조 (FIFO - First In First Out) 우선순위 큐(Priority Queue): 우선순위가 높은 데이터가 먼저 나가는 구조 힙(Heap): 루트 노드에 가장 큰 값 혹은 가장 작은
verycrazy.tistory.com
우선순위 큐와 힙 자료 구조의 이해
이 블로그 포스트는 우선순위 큐와 힙 자료 구조에 대해 설명합니다. 힙 자료 구조의 정의와 특성, 우선순위 큐의 구현과 응용, 그리고 두 자료 구조의 차이점과 활용에 대해 다룹니다.
f-lab.kr
4. Hash Table과 Hash Collision 해결 방법에 대해 설명해 주세요.
- 해시 테이블이란?
- Key-Value 쌍으로 값을 저장하는 자료구조입니다.
- 해시 테이블에 key로 접근했을 때 hash function에서 나온 hash 값을 저장소의 인덱스로 활용합니다. 그렇기에 시간 복잡도 O(1)을 보장합니다.
- Hash Collision이란?
- 다른 데이터가 같은 해시 값으로 충돌나는 현상을 말합니다.
- 해결 방법은
- 체이닝 : 연결리스트로 노드를 계속 추가해나가는 방식
- Open Addressing : 해시 함수로 얻은 주소가 아닌 다른 주소에 데이터를 저장할 수 있도록 허용
- 선형 탐사 : 정해진 고정 폭으로 옮겨 해시값의 중복을 피함
- 제곱 탐사 : 정해진 고정 폭을 제곱수로 옮겨 해시값의 중복을 피함
- 가 있습니다.
해시(Hash) | 👨🏻💻 Tech Interview
해시(Hash) 데이터를 효율적으로 관리하기 위해, 임의의 길이 데이터를 고정된 길이의 데이터로 매핑하는 것 해시 함수를 구현하여 데이터 값을 해시 값으로 매핑한다. 결국 데이터가 많아지면,
gyoogle.dev
tech-interview/contents/datastructure.md at master · WeareSoft/tech-interview
:loudspeaker:🙍 tech interview. Contribute to WeareSoft/tech-interview development by creating an account on GitHub.
github.com
[면접총정리] 신입 개발자 인터뷰 대비 총정리 자료 - ① 자료구조
🧑🏻💻 글을 시작하기에 앞서.. - 신입 개발자 인터뷰에서 자주 나오는 질문을 모아 한 번에 정리한 포스트입니다. - 신입 개발자 기술면접을 준비하는 사람으로, 정확하지 않은 정보가 포함
hoons-dev.tistory.com
- 📘 알고리즘 편 -
1. 동적 계획법(DP, Dynamic Programming)에 대해 설명해주세요.
- DP란?
- 한 가지 문제에 대해서, 단 한번만 풀도록 만들어주는 알고리즘입니다.
- 똑같은 연산을 반복하지 않도록 만들어주고, 실행 시간을 줄이기 위해 많이 이용되는 수학적 접근 방식의 알고리즘입니다.
2. 퀵 정렬(Quick Sort)에 대해 설명해주세요.
- 퀵 정렬이란?
- 분할 정복 방법을 통해 주어진 배열을 정렬합니다.
- 분할정복이란? 문제를 작은 2개의 문제로 분리하고 각각 결한 다음, 결과를 모아서 원래의 문제를 해결하는 방법
- 정렬 과정은 피벗을 기준으로 왼쪽에는 피벗보다 작은 수를, 오른쪽에는 피벗보다 큰 수를 놓습니다. 피벗을 기준으로 나뉜 두 배열에서 각각 피벗을 정리해서 앞과정과 같이 정리합니다. 더 이상 나눌 수 없을 때까지 반복하여 정렬합니다.
- 장점으로는 속도가 빠르며, 추가 메모리 공간을 필요로 하지 않습니다. 단점은 정렬된 리스트에 대해서는 퀵 정렬의 불균형 분할에 의해 오히려 수행시간이 더 많이 걸립니다.
- 분할 정복 방법을 통해 주어진 배열을 정렬합니다.
퀵 정렬(Quick Sort) | 👨🏻💻 Tech Interview
퀵 정렬(Quick Sort) Goal Quick Sort에 대해 설명할 수 있다. Quick Sort 과정에 대해 설명할 수 있다. Quick Sort을 구현할 수 있다. Quick Sort의 시간복잡도와 공간복잡도를 계산할 수 있다. Quick Sort의 최악인
gyoogle.dev
tech-interview-study/contents/algorithm.md at master · devham76/tech-interview-study
기술 면접 스터디를 기반으로 CS기본 개념을 정리하는 저장소입니다. Contribute to devham76/tech-interview-study development by creating an account on GitHub.
github.com
3. Big-O 표기법의 시간 복잡도 크기 순서를 말해주세요.
- O(1) < O(log N) < O(N) < O(N log N) < O(N²) < O(2ⁿ) < O(N!)
4. 재귀 알고리즘에 대해 설명해주세요.
- 재귀 알고리즘이란 함수 내부에서 함수가 자기 자신을 또 다시 호출하여 해결하는 알고리즘입니다. 자기자신을 계속해서 호출하여 끝없이 반복되게 하므로 반복을 중단할 조건이 필요합니다.
'개인 공부 > TIL' 카테고리의 다른 글
[TIL - CS ] 면접을 위한 CS 공부 4편 - 자료구조와 알고리즘 - (0) | 2024.11.08 |
---|---|
[ TIL - 면접 ] 자소서 질문 대비 공부 2편 - 스프링 Bean Scope 편 - (0) | 2024.11.06 |
[ TIL - CS ] 면접을 위한 CS 공부 2편 - 운영체제 - (0) | 2024.11.01 |
[ TIL - 면접 ] 자소서 질문 대비 공부 1편 - 스프링 & 스프링부트 개념 편 - (0) | 2024.10.29 |
[ TIL - CS ] 면접을 위한 CS 공부 1편 - 운영체제 - (0) | 2024.10.28 |