“자료구조는 공부했는데 면접에서 뭘 물어볼지 몰라 당황했어요.” 개발자 면접을 준비하는 분이라면 한 번쯤 겪어본 상황입니다. CS 지식은 범위가 방대하지만, 실제 기술 면접에서는 CS 면접 질문 빈출 패턴이 뚜렷하게 존재합니다. 운영체제·네트워크·데이터베이스·자료구조 영역에서 반복적으로 등장하는 질문들이 있고, 면접관이 원하는 답변의 핵심 포인트도 공통적입니다. 면접에서 가장 빈번하게 등장하는 CS 질문 10가지를 선별하고, 각 질문에 대한 핵심 개념·모범 답변 구조·면접관이 원하는 포인트까지 완전히 정리합니다.
목차
- 이 글을 읽기 전에 — CS 면접의 평가 방식 이해
- 운영체제 빈출 질문 TOP 3
- 네트워크 빈출 질문 TOP 3
- 데이터베이스 빈출 질문 TOP 2
- 자료구조·알고리즘 빈출 질문 TOP 2
- CS 면접 실전 대비 전략 — 어떻게 공부하고 어떻게 말할 것인가
1. 이 글을 읽기 전에 — CS 면접의 평가 방식 이해
기술 면접에서 CS 질문을 던지는 이유는 단순히 암기력을 테스트하기 위함이 아닙니다. 면접관은 세 가지를 동시에 평가합니다.
첫째, 개념의 정확한 이해. 표면적인 정의를 외웠는지가 아니라, 그 개념이 왜 존재하고 어떤 문제를 해결하는지를 이해하고 있는지를 봅니다.
둘째, 비교와 트레이드오프 사고. “A와 B의 차이가 뭔가요?”라는 질문의 핵심은 단순 차이 나열이 아닙니다. 어떤 상황에서 A를 쓰고 어떤 상황에서 B를 쓰는지, 각각의 장단점을 이해하고 있는지를 봅니다.
셋째, 실무 연결. 이론을 실제 코드나 시스템에 어떻게 적용하는지를 연결할 수 있는지를 봅니다.
이 세 가지를 염두에 두고 각 질문의 답변을 준비하시기 바랍니다.
2. 운영체제 빈출 질문 TOP 3
Q1. 프로세스(Process)와 스레드(Thread)의 차이는 무엇인가요?
빈출 이유: 운영체제 면접에서 거의 빠지지 않는 단골 질문입니다. 멀티스레딩·동시성 프로그래밍의 기초이며, 이후 교착상태·동기화 질문으로 이어지는 관문이기도 합니다.
핵심 개념:
프로세스는 실행 중인 프로그램의 인스턴스입니다. 운영체제로부터 독립된 메모리 공간(코드 영역, 데이터 영역, 힙, 스택)을 할당받아 실행됩니다. 프로세스끼리는 기본적으로 메모리를 공유하지 않아 하나가 죽어도 다른 프로세스에 영향을 주지 않습니다.
스레드는 프로세스 안에서 실행되는 실행 흐름의 단위입니다. 같은 프로세스에 속한 스레드들은 코드·데이터·힙 영역을 공유하고, 스택만 독립적으로 가집니다.[메모리 구조 비교] 프로세스 A 프로세스 B ┌─────────────┐ ┌─────────────┐ │ 코드 │ │ 코드 │ │ 데이터 │ │ 데이터 │ │ 힙 │ │ 힙 │ │ 스택(메인) │ │ 스택(메인) │ └─────────────┘ └─────────────┘ 독립된 메모리 공간 (IPC로만 통신 가능) 프로세스 A (멀티스레드) ┌────────────────────────┐ │ 코드 (공유) │ │ 데이터 (공유) │ │ 힙 (공유) │ ├──────────┬─────────────┤ │스택(T1) │ 스택(T2) │ ← 스택만 독립 └──────────┴─────────────┘
핵심 차이 비교:항목프로세스스레드메모리 공간독립공유 (힙·데이터·코드)생성 비용높음 (fork)낮음컨텍스트 스위칭 비용높음낮음통신 방법IPC(파이프, 소켓 등)공유 메모리 직접 접근독립성높음 (하나 죽어도 무관)낮음 (하나 문제 → 전체 영향)
면접관이 원하는 포인트: 단순 정의에서 멈추지 않고, “그렇다면 멀티프로세스와 멀티스레드 중 언제 무엇을 쓰는지”까지 연결해 답하면 좋은 평가를 받습니다.
한 줄 요약 답변: “프로세스는 독립된 메모리를 가진 실행 단위이고, 스레드는 프로세스 안에서 메모리를 공유하는 실행 흐름입니다. 스레드는 생성·통신 비용이 낮지만 한 스레드의 오류가 전체에 영향을 줄 수 있습니다.”
Q2. 교착상태(Deadlock)란 무엇이며, 어떻게 예방하나요?
빈출 이유: 멀티스레드·동시성 프로그래밍을 다루는 백엔드·시스템 개발자에게 필수 개념입니다. 데이터베이스 트랜잭션 교착상태까지 연결해 물어보는 경우도 많습니다.
핵심 개념:
교착상태란 둘 이상의 프로세스(또는 스레드)가 서로가 가진 자원을 기다리며 무한히 대기하는 상태입니다.
교착상태 발생의 4가지 필요 조건 (Coffman 조건):① 상호 배제 (Mutual Exclusion) → 자원은 한 번에 하나의 프로세스만 사용 가능 ② 점유 대기 (Hold and Wait) → 자원을 점유한 채로 다른 자원을 기다림 ③ 비선점 (No Preemption) → 다른 프로세스가 점유한 자원을 강제로 빼앗을 수 없음 ④ 순환 대기 (Circular Wait) → P1→P2→P3→P1 형태로 순환하며 서로를 기다림 4가지 조건이 모두 성립할 때만 교착상태 발생 → 하나만 제거해도 교착상태 방지 가능
예방·회피·탐지·회복 전략:
- 예방: 4가지 조건 중 하나를 원천 차단. 예) 자원 할당 순서를 고정해 순환 대기 불가능하게 만들기
- 회피: 은행원 알고리즘(Banker’s Algorithm)처럼 자원 할당 전 안전 상태인지 확인
- 탐지·회복: 교착상태 발생을 허용하되 주기적으로 탐지하고 프로세스를 강제 종료하거나 자원을 선점하여 회복
실무 연결: “Java에서 synchronized 블록의 락 획득 순서를 항상 동일하게 유지하여 순환 대기 조건을 제거합니다.”
Q3. 메모리의 스택(Stack)과 힙(Heap)의 차이는 무엇인가요?
빈출 이유: 개발자가 매일 마주치는 메모리 구조이며, 메모리 누수(Memory Leak)·스택 오버플로우·GC(가비지 컬렉션) 질문으로 이어집니다.
핵심 개념:
스택(Stack):
- 함수 호출 시 지역 변수, 매개변수, 반환 주소가 저장됩니다
- LIFO(Last In First Out) 구조로 함수가 반환되면 자동으로 메모리가 해제됩니다
- 크기가 컴파일 타임에 결정되며, 크기 초과 시
StackOverflowError발생 - 매우 빠른 할당·해제 (포인터 하나만 이동)
- 스레드마다 독립적으로 가짐
힙(Heap):
- 동적으로 할당되는 객체가 저장됩니다 (
new키워드 등) - 개발자가 명시적으로 해제하거나 GC가 관리합니다
- 크기가 런타임에 결정되며 상대적으로 크고 유연합니다
- 할당·해제가 스택보다 느리고 단편화 발생 가능
- 같은 프로세스 내 스레드들이 공유
javapublic void example() { int x = 10; // 스택에 저장 (지역 변수) String name = "Alice"; // 참조(주소)는 스택, 실제 객체는 힙 Person p = new Person(); // 참조는 스택, Person 객체는 힙 } // 메서드 반환 시 스택 변수 자동 해제 // Person 객체는 힙에 남아있다가 GC가 수거
면접관이 원하는 포인트: “Java에서 GC가 힙 메모리를 어떻게 관리하는지”, “메모리 누수가 왜 힙에서 발생하는지”까지 연결하면 심화 답변이 됩니다.
3. 네트워크 빈출 질문 TOP 3
Q4. TCP와 UDP의 차이는 무엇이고, 각각 언제 사용하나요?
빈출 이유: 네트워크 분야의 가장 기본적이면서 중요한 질문입니다. HTTP/3(QUIC)이 UDP 기반으로 전환되면서 더욱 자주 언급됩니다.
핵심 개념:
TCP (Transmission Control Protocol):
- 연결 지향적: 3-way handshake로 연결 수립, 4-way handshake로 연결 종료
- 신뢰성 보장: 패킷 손실 시 재전송, 순서 보장, 흐름 제어, 혼잡 제어
- 느리지만 정확함: 데이터가 반드시 도착하고 순서가 맞음을 보장
- 용도: HTTP/HTTPS, 이메일(SMTP), 파일 전송(FTP), 데이터 정합성이 중요한 모든 곳
UDP (User Datagram Protocol):
- 비연결 지향적: 연결 수립 과정 없음
- 신뢰성 없음: 패킷 손실, 순서 뒤바뀜, 중복 전송 가능
- 빠름: 오버헤드가 거의 없어 지연(latency)이 최소
- 용도: 스트리밍(YouTube, 넷플릭스), 온라인 게임, DNS, VoIP, HTTP/3(QUIC)
3-way handshake 흐름:클라이언트 서버 │──── SYN (연결 요청) ────→│ │←── SYN+ACK (확인+연결) ──│ │──── ACK (확인) ─────────→│ │ (연결 수립 완료) │ │──── 데이터 전송 ─────────→│
핵심 비교:항목TCPUDP연결 방식연결 지향비연결 지향신뢰성보장 (재전송)미보장순서 보장보장미보장속도상대적으로 느림빠름헤더 크기20~60 bytes8 bytes주요 사용처HTTP, FTP, 이메일스트리밍, 게임, DNS
Q5. HTTP와 HTTPS의 차이는 무엇인가요? TLS 핸드셰이크는 어떻게 동작하나요?
빈출 이유: 웹 개발자 면접에서 거의 빠지지 않습니다. 보안 인식과 네트워크 이해를 동시에 확인하는 질문입니다.
핵심 개념:
HTTP(HyperText Transfer Protocol)는 데이터를 평문(Plain Text) 으로 전송합니다. 네트워크 상에서 패킷을 가로채면 내용을 그대로 읽을 수 있습니다.
HTTPS(HTTP Secure)는 HTTP에 TLS(Transport Layer Security) 암호화 레이어를 추가한 것입니다. 데이터가 암호화되어 전송되므로 중간에서 가로채도 내용을 알 수 없습니다.
HTTPS가 보장하는 세 가지:
- 기밀성(Confidentiality): 데이터 암호화로 도청 불가
- 무결성(Integrity): 전송 중 데이터 변조 탐지
- 인증(Authentication): 서버의 신원을 CA(인증기관)를 통해 확인
TLS 1.3 핸드셰이크 (간략화):클라이언트 서버 │── ClientHello (지원 암호화 목록) ──→│ │←── ServerHello + 인증서 ───────────│ │── 인증서 검증 (CA 공개키로 확인) ──│ │── 클라이언트 키 교환 ────────────→│ │ (이후 대칭키로 암호화 통신)│
면접 심화 포인트: “HTTP/2와 HTTP/3의 차이”까지 연결하거나, “대칭키와 비대칭키 암호화의 차이”를 설명하면 심화 답변이 됩니다.
Q6. OSI 7계층과 TCP/IP 4계층 모델을 설명해주세요
빈출 이유: 네트워크 전반의 이해도를 확인하는 질문입니다. 실무에서 네트워크 문제가 발생했을 때 어느 계층의 문제인지 판단하는 능력과 연결됩니다.
핵심 개념:
OSI 7계층:7계층 응용 (Application) — HTTP, FTP, DNS, SMTP 6계층 표현 (Presentation) — 암호화, 압축, 인코딩 5계층 세션 (Session) — 세션 수립·유지·종료 4계층 전송 (Transport) — TCP, UDP (포트 번호) 3계층 네트워크 (Network) — IP, 라우팅 (IP 주소) 2계층 데이터링크 — MAC 주소, ARP, 이더넷 1계층 물리 (Physical) — 전기 신호, 케이블
TCP/IP 4계층 (실제 인터넷 표준):4계층 응용 (Application) — HTTP, FTP, DNS, SMTP 3계층 전송 (Transport) — TCP, UDP 2계층 인터넷 (Internet) — IP, ICMP 1계층 네트워크 접근 — 이더넷, Wi-Fi
면접관이 원하는 포인트: 각 계층의 이름을 외우는 것보다, “HTTP 요청이 전송될 때 각 계층에서 어떤 헤더가 붙고 어떤 역할을 하는지”를 흐름으로 설명하면 훨씬 좋은 평가를 받습니다.
4. 데이터베이스 빈출 질문 TOP 2
Q7. 데이터베이스 인덱스(Index)란 무엇이며, 어떻게 동작하나요?
빈출 이유: 실무에서 성능 문제의 가장 흔한 원인이 인덱스이며, 백엔드 개발자의 DB 이해도를 확인하는 핵심 질문입니다.
핵심 개념:
인덱스는 데이터베이스 테이블의 특정 컬럼에 대한 검색 속도를 높이기 위한 자료구조입니다. 책의 목차와 같습니다. 목차 없이 책 전체를 뒤지는 것(Full Table Scan)과 목차로 바로 찾는 것(Index Scan)의 차이입니다.
B+Tree 인덱스 구조 (MySQL InnoDB 기본): [Root 노드] 50 100 / \ / \ [20,30,40] [60,70] [80,90] [110,120] ↓ ↓ ↓ ↓ [실제 데이터] [실제 데이터] ... (Leaf 노드가 링크드 리스트로 연결)
B+Tree의 핵심은 리프 노드들이 링크드 리스트로 연결되어 범위 검색(BETWEEN, <, >)이 효율적이라는 점입니다.
인덱스의 장단점:
장점: SELECT 성능 극적 향상, 정렬·그룹핑 효율화
단점: INSERT·UPDATE·DELETE 시 인덱스도 함께 갱신되어 쓰기 성능 저하. 추가 디스크 공간 소모.
인덱스를 사용하면 안 되는 경우:
sql-- 인덱스가 있어도 사용되지 않는 패턴 SELECT * FROM users WHERE YEAR(created_at) = 2024; -- 함수 적용 SELECT * FROM users WHERE name LIKE '%kim'; -- 앞 와일드카드 SELECT * FROM users WHERE age != 20; -- 부정 조건 -- 위 경우 인덱스를 걸어도 Full Table Scan 발생
면접 심화 포인트: “복합 인덱스(Composite Index)의 컬럼 순서가 왜 중요한지”, “Covering Index가 무엇인지”까지 설명하면 뛰어난 답변이 됩니다.
Q8. 트랜잭션(Transaction)의 ACID 특성과 격리 수준(Isolation Level)을 설명해주세요
빈출 이유: 데이터 정합성과 동시성 처리의 핵심 개념으로, 실무에서 가장 자주 버그의 원인이 됩니다.
핵심 개념:
ACID:
- A – 원자성(Atomicity): 트랜잭션의 연산은 모두 실행되거나 아무것도 실행되지 않아야 합니다. (ALL or NOTHING)
- C – 일관성(Consistency): 트랜잭션 실행 전후로 데이터베이스가 일관된 상태를 유지해야 합니다.
- I – 격리성(Isolation): 동시에 실행되는 트랜잭션이 서로 영향을 주지 않아야 합니다.
- D – 지속성(Durability): 커밋된 트랜잭션은 시스템 장애가 발생해도 영구적으로 반영되어야 합니다.
격리 수준 4단계 (낮은 격리 → 높은 격리):격리 수준Dirty ReadNon-Repeatable ReadPhantom ReadREAD UNCOMMITTED발생발생발생READ COMMITTED방지발생발생REPEATABLE READ방지방지발생 (InnoDB는 방지)SERIALIZABLE방지방지방지
각 이상 현상 설명:Dirty Read: T1이 수정하고 아직 커밋 안 한 데이터를 T2가 읽음 → T1이 롤백하면 T2는 존재하지 않는 데이터를 읽은 것이 됨 Non-Repeatable Read: T1이 같은 데이터를 두 번 읽는 사이 T2가 그 데이터를 수정·커밋 → T1이 같은 쿼리를 두 번 실행했는데 결과가 다름 Phantom Read: T1이 조건 검색을 두 번 하는 사이 T2가 행을 추가·삭제·커밋 → 두 번째 검색에서 처음에 없던 행이 생기거나 사라짐
면접관이 원하는 포인트: “MySQL InnoDB의 기본 격리 수준이 REPEATABLE READ이고, MVCC로 Phantom Read까지 방지한다”는 실무 지식을 연결하면 차별화됩니다.
5. 자료구조·알고리즘 빈출 질문 TOP 2
Q9. 해시테이블(Hash Table)의 동작 원리와 충돌 해결 방법을 설명해주세요
빈출 이유: 자료구조 중 실무에서 가장 많이 쓰이는 HashMap/HashSet의 내부 구조를 이해하는지 확인하는 질문입니다.
핵심 개념:
해시테이블은 키(Key)를 해시 함수에 통과시켜 나온 인덱스에 값을 저장하는 자료구조입니다. 평균 O(1)의 시간복잡도로 삽입·검색·삭제가 가능합니다.
동작 원리:키: "apple" ↓ 해시 함수 (hash("apple")) ↓ = 3 (예시 인덱스) ↓ 배열[3]에 값 저장 키: "banana" ↓ hash("banana") = 7 ↓ 배열[7]에 값 저장
해시 충돌(Hash Collision): 서로 다른 키가 같은 인덱스를 가리키는 현상. 아무리 좋은 해시 함수를 써도 배열 크기보다 키가 많아지면 충돌은 반드시 발생합니다.
충돌 해결 방법 2가지:
① 체이닝(Chaining): 같은 인덱스에 링크드 리스트로 연결배열[3] → ["apple":값1] → ["cherry":값2] → null (충돌 발생 시 이어 붙임)
Java의 HashMap이 기본적으로 사용하는 방식입니다. Java 8부터는 체인 길이가 8을 초과하면 링크드 리스트를 Red-Black Tree로 변환해 최악의 경우를 O(n)에서 O(log n)으로 개선합니다.
② 개방 주소법(Open Addressing): 충돌 시 다른 빈 슬롯을 찾아 이동
- 선형 탐사(Linear Probing): 충돌 시 다음 인덱스(+1, +2, …)를 순서대로 탐색
- 이중 해싱(Double Hashing): 두 번째 해시 함수로 이동 폭을 결정
시간복잡도:연산평균최악 (모든 키 충돌 시)삽입O(1)O(n)검색O(1)O(n)삭제O(1)O(n)
Q10. 정렬 알고리즘을 비교해주세요 — 면접에서 가장 자주 나오는 3가지
빈출 이유: 알고리즘 이해도를 확인하는 가장 전형적인 질문입니다. “어떤 상황에서 어떤 정렬을 써야 하는가?”를 설명할 수 있는지가 핵심입니다.
핵심 개념:
① 퀵 정렬(Quick Sort):
- 방식: 피벗을 선택해 작은 것은 왼쪽, 큰 것은 오른쪽으로 분할하고 재귀 반복
- 시간복잡도: 평균 O(n log n), 최악 O(n²) (피벗이 최솟값·최댓값인 경우)
- 공간복잡도: O(log n) (재귀 스택)
- 특징: 캐시 친화적, 실제 성능이 가장 빠른 경우가 많아 대부분의 표준 라이브러리가 기반으로 사용
- 불안정 정렬: 동일 값의 상대 순서 보장 안 됨
② 병합 정렬(Merge Sort):
- 방식: 배열을 반으로 나누고 정렬 후 병합하는 분할 정복
- 시간복잡도: 항상 O(n log n) (최선·평균·최악 동일)
- 공간복잡도: O(n) (병합 시 임시 배열 필요)
- 특징: 성능이 안정적, 외부 정렬(디스크 기반)에 적합
- 안정 정렬: 동일 값의 상대 순서 보장
③ 힙 정렬(Heap Sort):
- 방식: 최대 힙을 구성하고 루트(최댓값)를 반복적으로 꺼내 정렬
- 시간복잡도: 항상 O(n log n)
- 공간복잡도: O(1) (제자리 정렬)
- 특징: 추가 메모리 없음, 그러나 캐시 비친화적으로 실제 성능은 퀵·병합보다 느린 경우 많음
정렬 알고리즘 비교표:알고리즘평균최악공간안정성사용 시점퀵 정렬O(n log n)O(n²)O(log n)불안정일반적 최선병합 정렬O(n log n)O(n log n)O(n)안정안정성·외부 정렬 필요 시힙 정렬O(n log n)O(n log n)O(1)불안정메모리 제약 환경버블 정렬O(n²)O(n²)O(1)안정거의 정렬된 소규모삽입 정렬O(n²)O(n²)O(1)안정소규모·거의 정렬된 데이터
면접관이 원하는 포인트: “Java의 Arrays.sort()는 int 등 기본형에는 Dual-Pivot QuickSort를, 객체 배열에는 TimSort(병합+삽입)를 사용한다”는 실무 지식을 언급하면 높은 평가를 받습니다.
6. CS 면접 실전 대비 전략 — 어떻게 공부하고 어떻게 말할 것인가
공부 전략: 주제별 깊이가 아닌 연결고리로 공부하라
CS 면접 준비에서 가장 흔한 실수는 각 개념을 독립적으로 외우는 것입니다. 면접관은 개념들이 어떻게 연결되는지를 봅니다. 예를 들어 인덱스 질문을 받으면 B+Tree 자료구조로 연결하고, B+Tree를 설명하다 보면 이진 탐색 알고리즘으로 연결됩니다. 주제 간 연결고리를 의식하며 공부하세요.
답변 구조: “정의 → 원리 → 비교 → 실무 연결” 4단계
1단계 — 정의: 한 문장으로 핵심을 먼저 말한다 "인덱스는 데이터 검색 속도를 높이기 위한 자료구조입니다." 2단계 — 원리: 어떻게 동작하는지 설명한다 "B+Tree 구조로 데이터를 정렬 저장하고, O(log n)으로 원하는 데이터를 탐색합니다." 3단계 — 비교/트레이드오프: 장단점 또는 다른 선택지와 비교 "SELECT 성능은 크게 향상되지만, INSERT/UPDATE/DELETE는 인덱스 갱신 비용으로 느려집니다." 4단계 — 실무 연결: 언제 어떻게 쓰는지 "카디널리티가 높은 컬럼에 인덱스를 걸고, 함수를 적용하면 인덱스가 무력화되니 주의합니다."
모를 때의 대처법
모르는 질문이 나왔을 때 침묵하거나 “모르겠습니다”로 끝내는 것은 최악입니다. 다음처럼 말하세요.
“정확한 내부 구현은 지금 기억이 나지 않지만, 제가 이해하는 방향으로 논리를 전개해보면 [추론 내용]일 것 같습니다. 면접 후 공부해서 보완하겠습니다.”
논리적 추론 과정을 보여주는 것 자체가 평가 대상입니다.
영역별 추천 학습 순서
1주차: 운영체제 — 프로세스/스레드, 메모리, 교착상태, 동기화 2주차: 네트워크 — OSI/TCP-IP, TCP/UDP, HTTP/HTTPS, DNS 3주차: 데이터베이스 — 인덱스, 트랜잭션, ACID, 정규화 4주차: 자료구조 — 배열, 링크드리스트, 스택/큐, 해시, 트리 5주차: 알고리즘 — 정렬, 탐색, 그래프(BFS/DFS), 동적 프로그래밍 6주차: 모의 면접 — 위 10가지 질문을 소리 내어 답변 연습
결론
CS 면접 질문 빈출 TOP 10은 운영체제 3문제(프로세스·교착상태·메모리), 네트워크 3문제(TCP/UDP·HTTP/HTTPS·OSI), 데이터베이스 2문제(인덱스·트랜잭션), 자료구조·알고리즘 2문제(해시테이블·정렬)로 구성됩니다. 이 10가지를 완벽히 소화한다고 모든 CS 면접을 통과할 수는 없지만, 기술 면접의 절반 이상을 커버할 수 있는 핵심 골격이 됩니다. 가장 중요한 것은 답변을 외우는 것이 아니라 개념을 이해하고, “정의 → 원리 → 비교 → 실무 연결”의 흐름으로 말하는 연습을 반복하는 것입니다. 오늘부터 각 질문에 대해 소리 내어 3분 답변을 연습해보세요.
⚠️ 면책 고지: 이 글에서 소개한 질문과 답변 예시는 일반적인 기술 면접 경향을 바탕으로 정리한 것이며, 특정 기업의 면접 내용과 다를 수 있습니다. 실제 면접에서는 답변을 외우기보다 개념의 본질을 이해하고 자신의 언어로 표현하는 것이 가장 중요합니다. 기업별, 포지션별로 심화 질문의 방향이 달라질 수 있으므로 지원 기업의 기술 스택과 블로그 등을 함께 참고하시기 바랍니다.
답글 남기기