기본기 80

면접/필기 지식·응용 질문.

네트워크 · 21동시성 · 18OS/메모리 · 20아키텍처/데이터 · 21
# 제목 분류 난이도
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) 관리와 대역폭 최적화 네트워크
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 동시성
1 스택 vs 힙, 프로세스 메모리 구조, 값/참조 OS/메모리
2 컨텍스트 스위칭, 스케줄링, CPU 캐시/캐시라인/지역성 OS/메모리
3 동적 할당 비용·단편화, 메모리 풀/오브젝트 풀 OS/메모리
4 C# 가비지 컬렉션: 세대별 GC, LOH, GC 압박 줄이기 OS/메모리
5 가상 메모리, 페이지 테이블, TLB OS/메모리
6 메모리 정렬, 구조체 패딩, 스택 오버플로 OS/메모리
7 페이지 폴트, 디맨드 페이징, 스와핑 OS/메모리
8 질문 — NUMA와 캐시 일관성(MESI) OS/메모리
9 질문 — 메모리 할당자 심화 (tcmalloc/jemalloc, 단편화) OS/메모리 최상
10 질문 — 언어별 메모리 관리 비교: C++ RAII/이동 vs C# GC (종합) OS/메모리 최상
11 Copy-on-Write와 fork, 페이지 캐시·mmap(메모리 매핑) OS/메모리
12 데이터 지향 설계(DOD): AoS vs SoA와 캐시 친화적 레이아웃 OS/메모리
13 제로카피(zero-copy) I/O: read/write 의 복사 경로와 sendfile·mmap·splice·io_uring OS/메모리
14 가비지 컬렉션 알고리즘 비교: 레퍼런스 카운팅 vs Mark-Sweep vs 세대별 GC OS/메모리
15 메모리 오버커밋과 OOM Killer, 컨테이너(cgroup) 메모리 제한 OS/메모리
16 엔디안(Endianness)과 구조체 직렬화·캐스팅 이슈 OS/메모리
17 대형 페이지(Huge Pages)와 TLB 커버리지, THP의 트레이드오프 OS/메모리
18 커널 메모리 할당자: 버디 시스템(Buddy System)과 슬랩(Slab) 할당 OS/메모리
19 가상 메모리와 페이징: 주소 변환·페이지 폴트·copy-on-write OS/메모리
20 페이지 교체 알고리즘과 스래싱(thrashing) OS/메모리
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) 설계: 이중부기·잔액 스냅샷·감사와 멱등성 아키텍처/데이터