백엔드 CS 개념 정리
기술 면접 핵심 토픽을 정리했어요. 개념을 읽고 바로 퀴즈로 확인하세요.
자료구조
개념 정리
면접 퀴즈
배열 (Array)
연결 리스트 (Linked List)
배열 vs 연결리스트
스택 (Stack)
큐 (Queue)
해시 테이블 (Hash Table)
이진 탐색 트리 (BST)
트리 순회
힙 (Heap)
그래프 기초
BFS vs DFS
시간 복잡도 (Big-O)
정렬 알고리즘 비교
트라이 (Trie)
그리디와 동적 계획법
운영체제 / 시스템 기초
개념 정리
면접 퀴즈
프로세스 (Process)
스레드 (Thread)
프로세스 vs 스레드
프로세스 상태
뮤텍스 vs 세마포어
교착 상태 (Deadlock)
가상 메모리
페이지 폴트
페이지 교체 알고리즘
CPU 스케줄링
컨텍스트 스위칭
사용자 모드 vs 커널 모드
fork()와 exec()
부팅 과정과 커널 패닉
파일시스템과 inode
동기와 비동기, 블로킹과 논블로킹
네트워크
개념 정리
면접 퀴즈
TCP vs UDP
TCP 3-way Handshake
TCP 흐름 제어
HTTP 메서드
HTTP 상태 코드
HTTPS와 TLS
DNS 조회 과정
URL 입력 후 화면까지
쿠키 vs 세션
REST API 설계
CORS
OSI 7계층
로드밸런서 (L4 vs L7)
NAT 와 사설 네트워크
WebSocket 과 실시간 통신
CDN 과 엣지 전달
HTTP 버전 (1.1, 2, 3)
네트워크 장애 진단
데이터베이스
개념 정리
면접 퀴즈
B-tree 인덱스
클러스터드 vs 논클러스터드 인덱스
복합 인덱스
커버링 인덱스
ACID 속성
트랜잭션 격리 수준
Dirty Read / Phantom Read
낙관적 락 vs 비관적 락
데드락
정규화 (1NF~3NF)
반정규화
EXPLAIN 실행 계획
N+1 문제
샤딩
복제 (Replication)
조인 종류와 뷰
데이터 타입과 정밀도
무중단 스키마 변경과 대량 작업
백업과 복구
RDB vs NoSQL
캐시
개념 정리
면접 퀴즈
캐시 기본과 캐시 계층
캐시 읽기와 쓰기 전략
TTL과 캐시 무효화
캐시 교체 정책 (LRU/LFU)
캐시 스탬피드 (Thundering Herd)
분산 캐시와 Redis 자료구조 선택
캐시 일관성 문제
로컬 캐시 vs 분산 캐시
분산 시스템 기초
개념 정리
면접 퀴즈
CAP 정리
복제와 샤딩
최종 일관성과 읽기 정합성
분산 트랜잭션과 Saga
타임아웃과 재시도, 서킷 브레이커
서비스 메시
합의 알고리즘과 리더 선출
분산 락과 단일 실행 보장
메시징
개념 정리
면접 퀴즈
메시지 큐 기초
이벤트 기반 아키텍처
메시지 전달 보장
멱등 소비자와 중복 처리
메시지 순서 보장과 파티셔닝
DLQ와 재시도 설계
Kafka와 RabbitMQ 선택 기준
컨슈머 랙과 처리량 튜닝
API 설계 / 서버 아키텍처
개념 정리
면접 퀴즈
REST API 설계 원칙
인증과 인가
HTTP 상태 코드와 에러 응답 설계
멱등성과 재시도
페이지네이션: offset vs cursor
API 버저닝
Rate Limiting과 백프레셔
REST vs GraphQL vs gRPC
성능 / 관측 / 운영
개념 정리
면접 퀴즈
성능 측정과 병목 분석
지연 시간과 처리량 (p50/p95/p99)
관측성 3요소 (메트릭, 로그, 트레이스)
APM과 분산 트레이싱
슬로우 쿼리와 실행 계획 튜닝
커넥션 풀과 타임아웃 설계
부하 테스트와 용량 산정
보안
개념 정리
면접 퀴즈
OWASP Top 10
암호화 기초
SQL 인젝션과 파라미터 바인딩
XSS와 출력 이스케이프
CSRF와 SameSite 쿠키
비밀번호 저장과 해시
HTTPS와 TLS 핸드셰이크
JWT 저장 위치와 리프레시 토큰
랭킹/피드
개념 정리
면접 퀴즈
요구사항과 순서를 정하는 문제
후보를 고르고 순위를 매긴다
점수와 신선도
누구 것을 미리 만드나
변하는 목록에서 다음 장 넘기기
이미 본 것을 걸러내기
점수에 쓰는 집계 값
좋은 순서인지 어떻게 아나
실시간 채팅
개념 정리
면접 퀴즈
요구사항 정리와 범위 자르기
팬아웃 전략
연결 계층 분리
순서 보장과 파티션 나누기
메시지 저장과 지난 대화 조회
접속하지 않은 사용자에게 전달하기
읽음 표시와 갱신 비용
접속 상태와 타이핑 표시
파일/미디어 업로드
개념 정리
면접 퀴즈
요구사항 정리와 범위 자르기
업로드 경로와 그 한계
서명된 주소로 직접 업로드
멀티파트와 청크 업로드
재개와 재시도
메타데이터와 저장소 정합성
중복 제거와 콘텐츠 해시
검증과 용량 제한
후처리와 전달
처리율 제한 장치
개념 정리
면접 퀴즈
요구사항 정리와 세는 기준 정하기
고정 윈도우와 경계 버스트
요청 시각을 다 들고 세기
어림의 정도를 고르기
토큰 버킷과 버스트 정책
게이트웨이 20대가 값을 공유하기
초과 응답과 클라이언트 협조
한도를 정하고 굴리기
안정 해시
개념 정리
면접 퀴즈
요구사항 정리와 재배치 비용
나머지 연산의 한계
해시 링과 이동량
가상 노드와 고르기
담당 지점을 찾는 방법
모두가 같은 링을 보게 하기
뜨거운 키와 조회 쏠림
사본을 둘지 정하기
키-값 저장소
개념 정리
면접 퀴즈
요구사항과 포기할 것 정하기
정족수로 조절하기
값이 갈렸을 때 고르기
쓰기 경로와 내구성
읽기 경로와 걸러내기
파일 합치기와 그 대가
잠깐 죽은 사본 다루기
사본을 다시 맞추기
분산 ID 생성기
개념 정리
면접 퀴즈
요구사항과 포기할 순서
중앙에서 발급하기
무작위로 만들기
칸을 나눠 쓰기
시계가 뒤로 갈 때
노드 번호를 나눠 주기
정렬이 보장하는 것과 아닌 것
ID를 외부에 보일 때
URL 단축기
개념 정리
면접 퀴즈
요구사항과 두 경로의 무게
키 공간 계산하기
키를 만드는 세 방법
겹쳤을 때 다루기
어떤 응답으로 보낼지
읽기 경로 다루기
남용과 도메인 지키기
만료와 삭제, 그리고 하지 않은 것
웹 크롤러
개념 정리
면접 퀴즈
요구사항과 예산 계산
예의가 처리량을 정한다
방문할 목록 관리하기
무엇을 먼저, 언제 다시
같은 내용 다른 주소
끝나지 않는 경로
가져오기 한 번의 비용
규칙 준수와 하지 않은 것
알림 시스템
개념 정리
면접 퀴즈
요구사항과 두 종류의 알림
제공자가 경계다
폭주와 우선순위
두 번 보내지 않기
수신 설정과 거부
템플릿과 내용
보냈다는 것과 도착했다는 것
채널 선택과 비용
검색어 자동완성
개념 정리
면접 퀴즈
요구사항과 요청 증폭
답을 노드마다 미리 둔다
통째로 다시 만들어 바꾼다
한 대에 안 들어갈 때
캐시가 가장 크게 듣는 자리
입력을 어떻게 받나
급상승은 다른 경로로
보여주지 않을 것과 하지 않을 것
동영상 스트리밍
개념 정리
면접 퀴즈
요구사항과 재생이라는 문제
조각과 목록
화질을 누가 고르나
인코딩을 어떤 순서로 하나
무엇을 미리 만들지 정한다
전송 원가
시작과 끊김의 상충
누가 볼 수 있는지와 하지 않을 것