learning jini draft 2026-06-10

콜로세움 면접 CS 질답 시뮬레이션 회고 (2026-06-10)

TL;DR

콜로세움(시리즈B, 2027 IPO 목표) 백엔드 시니어 면접 대비 4시간 CS 질답 시뮬레이션. 부릉 TMS 카드 5종을 다루며 "프레임워크가 한 일 vs 내가 깐 안전망" 분리, 계층 방어 라인, "당시엔 용어 안 썼지만 결과적으로 X" 사후 명명 라인 등 시그니처 답변 구조 4종 확립. 반복 약점은 수치/관측성 부재 · 표준 용어 부재 · 부릉 외 회사 다양성 빈자리. 다음 액션: 2026-06-11 12:30-13:30 면접 웜업.


컨텍스트


다룬 카드

  1. 부릉 TMS 워커 매니징 — 멀티 스레드 솔루션 변형 + 시간 예산 + 동시 문제 시 솔루션 퀄리티 trade-off, 스케일링 트리거=문제 단위 격리
  2. EKS 셀프서비스 플랫폼 — 플랫폼팀/사용팀 책임 경계, 의도된 게이트
  3. RDB-as-MQ → outbox 패턴 — Axon framework + 주문 트랜잭션과 같은 begin/commit에 묶음
  4. 워커 동시성 + idempotency — Axon RDB event store 1차 방어 + order_id 기반 state check no-op
  5. Redis lock + 낙관적 락(version 컬럼) — 상황별 선택, 이중 방어

시그니처 패턴 (다음 면접에 그대로 가져갈 답변 구조)

1. "프레임워크가 한 일 vs 내가 깐 안전망" 분리

2. "계층 방어" 라인

3. "당시엔 용어 안 썼지만 결과적으로 X" 사후 명명 라인

4. "결과 회수 + 의도된 게이트 + 트레이드오프 회고" 3단 구조


반복적으로 약했던 곳 (다음 면접 사전 보강 필수)

1. 수치/관측성 부재

2. 표준 용어 부재

3. 회사 다양성 빈자리


메타 학습 (면접 준비 방법론 자체)

1. 면접관 모드 ↔ 코칭 모드 토글

2. "잘 모릅니다" 재프레이밍

3. 결정·질문 둘 다 하나씩 (오늘 메모리 업데이트한 룰)


다음 면접 사전 준비 체크리스트


답변 라인 모음 (그대로 사용 가능한 표현)

RDB-as-MQ 방어

"초기에는 Kafka 대신 RDB 작업 큐를 썼고, 주문 상태 변경과 큐 row 생성을 같은 트랜잭션에 묶어서 이벤트 유실을 막았습니다. 결과적으로 outbox 패턴에 가까운 설계였습니다."

워커 동시성

"Axon framework가 RDB event store 위에서 1차 방어를 했고, 운영 중 중복 케이스가 관찰돼서 우리가 책임진 레이어에서는 중요도 낮은 건 throw + 모니터링, 정합성 필요한 건 idempotent 처리(order_id 기반 state check no-op)로 막았습니다."

이중 방어

"Redis lock으로 1차 직렬화하고, idempotency를 2차 안전망으로 깔아서, TTL 만료 후 동시 진입이 생겨도 한 번만 반영되도록 이중 방어했습니다."

사후 명명

"당시엔 outbox라는 용어를 쓰진 않았지만, 결과적으로 outbox 패턴이었습니다."