STUDY

면접에 나올 것 같은 CS 문제 리스트

Lim임 2025. 12. 9. 13:57

by Chat GPT

 

자료구조와 알고리즘을 암기해서 대답 할 수 있는가

CS 면접 단골 질문 모음 (핵심만)

자료구조(Data Structure)

  1. 배열(Array) vs 연결 리스트(Linked List) 차이
  2. 스택(Stack)과 큐(Queue)의 차이 / 사용 예시
  3. 해시 테이블(Hash Table)의 동작 방식
  4. 트리(Tree)와 그래프(Graph)의 차이
  5. 이진 탐색 트리(BST) vs 힙(Heap)
  6. 시간 복잡도(Big-O notation)를 설명해보세요.

⚙️ 알고리즘(Algorithm)

  1. 정렬 알고리즘 종류와 차이 (퀵/병합/버블/삽입 등)
  2. 그리디 알고리즘이란? 예시
  3. DP(동적 계획법)과 메모이제이션의 차이
  4. DFS vs BFS 차이
  5. 해싱 충돌 해결 방식 (체이닝 vs 오픈 어드레싱)

운영체제(OS)

  1. 프로세스 vs 스레드 차이
  2. 컨텍스트 스위칭(Context Switching)은 무엇인가
  3. CPU 스케줄링 알고리즘 종류
  4. 뮤텍스(Mutex) vs 세마포어(Semaphore) 차이
  5. 메모리 구조(Heap, Stack 차이)
  6. 가상 메모리(Virtual Memory)란?
  7. 교착상태(Deadlock) 조건 4가지

네트워크(Network)

  1. TCP vs UDP 차이
  2. 3-way handshake / 4-way handshake 설명
  3. DNS가 뭐고 어떻게 동작하는가
  4. HTTP vs HTTPS
  5. 쿠키(Cookie), 세션(Session), JWT 차이
  6. REST API의 특징
  7. OSI 7계층 각 계층 역할

Database

  1. SQL vs NoSQL 차이
  2. 트랜잭션(Transaction) ACID
  3. 인덱스(Index)는 어떻게 동작하는가
  4. JOIN 종류
  5. 정규화(Normalization)

기본 보안

  1. 암호화(대칭키 vs 비대칭키) 차이
  2. XSS, CSRF 설명
  3. 해시 함수(Hash Function)의 특징

프론트

🚀 React + JS/TS 프론트엔드 면접 단골 질문 모음

React 기본 개념

  • React의 핵심 개념(Declarative, Component-based, Virtual DOM)을 설명해보세요.
  • Virtual DOM이 무엇이며 어떻게 렌더링 성능을 높이나요?
  • React의 렌더링 과정(Reconciliation)을 설명해보세요.
  • Props vs State 차이
  • 부모 → 자식 데이터 전달 말고, 자식 → 부모로 전달하는 방법
  • Key를 왜 사용하나요? Key가 없으면 어떤 문제가 생기나요?

Hooks

  • useState 내부 동작 원리
  • useEffect는 언제 실행되나요?
  • 의존성 배열을 잘못 넣으면 어떤 문제가 생기나요?
  • useEffect cleanup 함수는 언제 호출되나요?
  • useMemo / useCallback 차이
  • useRef의 역할 및 렌더링과의 관계
  • 커스텀 훅을 왜 쓰나요?

컴포넌트 구조/패턴

  • Presentational & Container 패턴
  • 상태 끌어올리기(Lifting State Up)
  • Controlled vs Uncontrolled Component
  • Atomic Design 적용 경험
  • Render Props 패턴 / HOC를 설명해주세요.
  • React Router v6의 큰 변화

성능 최적화

  • React 렌더링 최적화 방법
    • memo
    • useMemo, useCallback
    • React.lazy + Suspense
    • 컴포넌트 분리
  • 불필요한 리렌더링이 무엇이며 어떻게 방지하나요?
  • React에서 리스트 랜더링 성능 최적화 어떻게 하나요?

상태관리

  • Context API 문제점(리렌더링)
  • Redux vs Zustand vs Recoil 차이
  • React Query를 왜 쓰나요? (서인은 이거 자주 물어볼 듯)
  • 서버 상태 vs 클라이언트 상태 차이
  • JWT 기반 인증 흐름

JavaScript 기본기

  • var / let / const 차이
  • 호이스팅(Hoisting)
  • Closure(클로저)란 무엇인가
  • Event Loop와 Call Stack 설명
  • Promise / async-await 차이
  • Debounce / Throttle
  • 얕은 복사 vs 깊은 복사

TypeScript

  • 타입 추론(Type inference)
  • interface vs type 차이
  • 유니온 타입 / 교차 타입
  • 타입 좁히기(Narrowing)
  • 제네릭(Generics) 왜 사용하나요?
  • Partial, Pick, Omit 같은 유틸리티 타입 언제 쓰나요?

브라우저 동작 원리

  • 브라우저 렌더링 과정(Critical Rendering Path)
  • Reflow/Repaint 차이
  • CSR vs SSR vs SSG
  • 웹스토리지(LocalStorage/SessionStorage) 차이

네트워크(프론트엔드 필수)

  • HTTP vs HTTPS
  • 쿠키 / 세션 / JWT 차이
  • CORS가 왜 발생하나요? 해결 방법은?
  • HTTP status code 자주 쓰는 것들

프로젝트/경험 기반 질문

  • 프로젝트에서 어떤 상태관리 도구를 썼고, 왜 선택했나요?
  • API 요청 실패 시 어떻게 에러 핸들링했나요?
  • React Query 사용 시 캐싱 전략은 어떻게 했나요?
  • 컴포넌트 구조 설계 시 어떤 기준으로 나누나요?
  • 렌더링 최적화 실제로 적용한 예시 설명해보세요.