기본기 96
면접/필기 지식·응용 질문.
네트워크 · 25동시성 · 22OS/메모리 · 24아키텍처/데이터 · 25
- 1 하TCP vs UDP, 게임에서의 선택, 3-way handshake
- 2 중Nagle/TCP_NODELAY, 흐름제어 vs 혼잡제어, 패킷 경계 문제
- 3 상IO 멀티플렉싱: select/poll/epoll/IOCP, Reactor vs Proactor
- 4 상신뢰성 UDP(RUDP) 설계: 순서보장·재전송·ACK
- 5 하IP 주소 체계, 서브넷, NAT의 기본
- 6 중DNS 동작 원리, 서버 디스커버리, Anycast/지역 라우팅
- 7 중TLS/암호화 핸드셰이크, 대칭/비대칭, 인증서, DTLS
- 8 상지연 보상: 클라 예측, 서버 재조정, 보간/외삽, lag compensation
- 9 최상질문 — 대규모 동시접속 서버 설계 (C10K / C10M)
- 10 최상질문 — 실시간 동기화 모델과 네트워크 권위 (종합)
- 11 중MTU·MSS·IP 단편화와 Path MTU Discovery, UDP 게임 패킷 크기 설계
- 12 상소켓 버퍼와 대역폭-지연 곱(BDP), TCP 윈도우 스케일링, 처리량 튜닝
- 13 상QUIC와 HTTP/3: UDP 위의 신뢰성·다중 스트림·연결 마이그레이션
- 14 중로드 밸런싱: L4 vs L7, 세션 어피니티, 일관 해싱, 헬스체크
- 15 중NAT 트래버설과 홀펀칭: STUN·TURN·ICE, P2P vs 릴레이
- 16 중TCP 연결 종료(4-way), TIME_WAIT/CLOSE_WAIT, SO_REUSEADDR/REUSEPORT, 포트 고갈
- 17 중WebSocket 프로토콜: 핸드셰이크, 프레임 구조, 게임 트래픽에서의 트레이드오프
- 18 중멀티캐스트·브로드캐스트: 유니캐스트 대비 트레이드오프와 게임 서버 활용
- 19 중TCP 혼잡 제어: Reno·CUBIC·BBR과 실시간 게임 트래픽
- 20 중게임 네트워크 직렬화: 바이너리 프로토콜 설계와 스키마 진화
- 21 상관심 영역(AoI) 관리와 대역폭 최적화
- 22 상RTT 추정과 재전송 타임아웃(RTO): SRTT·RTTVAR·Karn 알고리즘과 게임 RUDP 적용
- 23 중패킷 손실·지터·재정렬 대응: 지터 버퍼·FEC·중복 전송과 실시간 게임 트레이드오프
- 24 상epoll 엣지 트리거 vs 레벨 트리거와 논블로킹 EAGAIN 드레인
- 25 중SYN 플러드와 연결 고갈 방어: SYN 쿠키·백로그·accept 큐 vs SYN 큐
- 1 하동시성 기초 개념: 프로세스/스레드, race condition, 동기화 도구
- 2 중데드락: 4조건, 예방/회피, 락 순서와 경합 줄이기
- 3 상메모리 모델과 가시성: volatile, Interlocked, memory_order, happens-before
- 4 상락 vs lock-free, CAS, ABA 문제, 잡큐/Actor 모델
- 5 중컨텍스트 스위칭, 캐시, false sharing
- 6 중스레드풀 설계: 적정 스레드 수, 작업 큐, I/O vs CPU 바운드
- 7 중라이브락, 기아(starvation), 우선순위 역전, 공정성
- 8 상질문 — async/await의 동작 원리와 함정 (C#)
- 9 최상질문 — 멀티코어 확장성: 틱 루프 동시성 설계 (종합)
- 10 최상질문 — 메모리 배리어와 약한 메모리 모델 심화
- 11 최상락프리 자료구조의 안전한 메모리 회수 (Hazard Pointer / RCU / Epoch)
- 12 중확장성의 한계: 암달의 법칙·구스타프슨 법칙과 경합
- 13 중병렬 처리 패턴: Fork-Join·작업 훔치기(work-stealing)·데이터 병렬 vs 작업 병렬
- 14 중동기화 프리미티브 비교: mutex·semaphore·condition variable·barrier·latch·event·spinlock
- 15 상코루틴/파이버 기반 동시성: 스택풀 vs 스택리스, 유저모드 스케줄링
- 16 중동시성 버그 재현과 검출: 데이터 레이스 디텍터(ThreadSanitizer/Helgrind)와 결정적 재현 기법
- 17 중생산자-소비자 큐 설계: SPSC/MPMC, 링버퍼, 블로킹 vs 논블로킹, 백프레셔
- 18 상뮤텍스는 어떻게 구현되나: futex·사용자공간 스핀·커널 대기·adaptive mutex
- 19 중스레드 안전성의 수준 분류와 합성(composition)의 함정
- 20 상논블로킹 진행 보장(progress guarantees): wait-free · lock-free · obstruction-free
- 21 상동시 자료구조 설계: 락 스트라이핑·세밀한 잠금과 동시 해시맵/스킵리스트
- 22 상확장 가능한 락: 스핀락의 한계와 티켓·MCS·CLH 락, 백오프
- 1 하스택 vs 힙, 프로세스 메모리 구조, 값/참조
- 2 중컨텍스트 스위칭, 스케줄링, CPU 캐시/캐시라인/지역성
- 3 상동적 할당 비용·단편화, 메모리 풀/오브젝트 풀
- 4 상C# 가비지 컬렉션: 세대별 GC, LOH, GC 압박 줄이기
- 5 중가상 메모리, 페이지 테이블, TLB
- 6 하메모리 정렬, 구조체 패딩, 스택 오버플로
- 7 중페이지 폴트, 디맨드 페이징, 스와핑
- 8 상질문 — NUMA와 캐시 일관성(MESI)
- 9 최상질문 — 메모리 할당자 심화 (tcmalloc/jemalloc, 단편화)
- 10 최상질문 — 언어별 메모리 관리 비교: C++ RAII/이동 vs C# GC (종합)
- 11 중Copy-on-Write와 fork, 페이지 캐시·mmap(메모리 매핑)
- 12 중데이터 지향 설계(DOD): AoS vs SoA와 캐시 친화적 레이아웃
- 13 중제로카피(zero-copy) I/O: read/write 의 복사 경로와 sendfile·mmap·splice·io_uring
- 14 중가비지 컬렉션 알고리즘 비교: 레퍼런스 카운팅 vs Mark-Sweep vs 세대별 GC
- 15 중메모리 오버커밋과 OOM Killer, 컨테이너(cgroup) 메모리 제한
- 16 중엔디안(Endianness)과 구조체 직렬화·캐스팅 이슈
- 17 중대형 페이지(Huge Pages)와 TLB 커버리지, THP의 트레이드오프
- 18 상커널 메모리 할당자: 버디 시스템(Buddy System)과 슬랩(Slab) 할당
- 19 중가상 메모리와 페이징: 주소 변환·페이지 폴트·copy-on-write
- 20 중페이지 교체 알고리즘과 스래싱(thrashing)
- 21 상메모리 사용량 진단: RSS와 힙 사용량의 괴리, 할당자 반환 정책, 누수 vs 단편화
- 22 상NUMA 아키텍처와 메모리 지역성: 원격 접근 비용·first-touch·스레드/메모리 어피니티
- 23 중GC 일시정지(pause)의 내부 메커니즘과 저지연 튜닝
- 24 상저장 I/O 내구성: 페이지 캐시·write-back·fsync/fdatasync·O_DIRECT
- 1 하게임서버 기본 구조: 클라-서버, 룸/세션, 게이트웨이
- 2 중DB 트랜잭션·ACID, 인덱스 기본, 게임 데이터 영속화
- 3 상캐시(Redis), 캐시 일관성, 비동기 영속화, 멱등성, 분산락
- 4 상서버 토폴로지: 단일 vs 분산, 존/샤딩, 매치메이킹, 부하분산
- 5 중트랜잭션 격리수준·락·MVCC, 동시성 이상현상
- 6 중DB 인덱스 심화·쿼리 최적화, 실행계획, 복합 인덱스
- 7 상읽기 복제(replication), 복제 지연, 리더 선출, 읽기/쓰기 분리
- 8 상질문 — 메시지 큐, 이벤트 소싱, CQRS
- 9 최상질문 — CAP 정리와 분산 트랜잭션 (Saga, 2PC)
- 10 최상질문 — 대규모 MMO/실시간 게임 아키텍처 (종합)
- 11 중게임서버 관측성(Observability): 로깅·메트릭·트레이싱과 부하 테스트
- 12 중랭킹/리더보드 자료구조와 저장 설계 (Sorted Set, 동점, 페이지네이션)
- 13 중게임 데이터 모델링: RDBMS vs NoSQL, 정규화/비정규화, 핫·콜드 분리
- 14 중분산 고유 ID 생성: Snowflake·UUID·ULID와 시계 역행 문제
- 15 상매치메이킹 레이팅 시스템: Elo·Glicko·TrueSkill과 매칭 품질
- 16 중레이트 리미팅 알고리즘: 토큰 버킷·누수 버킷·고정/슬라이딩 윈도우와 분산 적용
- 17 중대규모 타이머 스케줄링: 타임휠(Timing Wheel)과 지연 작업 큐
- 18 상게임 서버 배포 전략: Blue-Green·Canary·Rolling과 상태 유지 서버의 제약
- 19 상분산 합의(Consensus): Raft·Paxos 기초와 게임 서버 메타데이터 관리
- 20 상이벤트 소싱(Event Sourcing)과 CQRS
- 21 중게임 재화 원장(ledger) 설계: 이중부기·잔액 스냅샷·감사와 멱등성
- 22 중게임 로그·텔레메트리 파이프라인 설계
- 23 상백업·복구와 재해복구(DR): 스냅샷·WAL·PITR·RPO/RTO
- 24 중멱등성과 exactly-once의 착시: at-least-once + dedup 설계
- 25 상장애 격리·복원력 패턴: 서킷 브레이커·벌크헤드·타임아웃·재시도·백오프·부하 차단