1️⃣ 아이템 대량 개봉 & 부하 분산 전반적인 설명
RPC 이유와 기술적 특징
확률 어떻게 검증했는지
Redis Set srandmember, TreeMap 기반 확률 로직 구현
MQ 주시/풀링 모델, prefetch size
MongoDB 트랜잭션 에러
분산 관련 문제 상황 가정
부하 관점에서 어떻게 문제 해결할지 상황 가정
처리 여부 결정 규칙 관련 수정 방안
DB 트랜잭션과 락에 대한 상황 가정
2️⃣ Redis & 클러스터 Redis 클러스터링 되어있으면 싱글스레드가 맞는지
복제 직접 구현한다면 어떻게 할지
클러스터에 어떻게 연결하고 싶은지
클러스터에 인스턴스 추가/삭제 시 필요한 작업
클러스터링하면 데이터를 어떻게 찾아서 인스턴스를 선택할 것인지
샤딩
3️⃣ MySQL 성능 최적화 경험
fulltext가 like% 쿼리라면 어느 정도 성능일지
쿼리 어떻게 분석하는 편인지
분석 시 중요 지표들
성능과 I/O 지표
해시 조인과 NL 조인 쓰면 좋은 상황과 특징
데이터 저장 구조/단위
인덱스 구조
어떻게 범위 탐색 하는지
4️⃣ 토스뱅크 상황 가정 질문 토스뱅크에서 하나의 은행으로 송금 (상황 가정 질문)
타임아웃이 걸리면 어떻게 될지
connection 타임아웃과 read 타임아웃 각각 어떻게 될지
어떤 응답이 올 것이며 그에 따라 어떻게 대처할 수 있을지
요청이 없었음, 진행 중, 성공, 실패
요청 ID, 요청 시간을 활용하여 제어하는 방법
정책을 통해 해결하는 방법
재시도 전략, 지수 백오프
서킷브레이커, RateLimit
서킷브레이커 기술 흐름 설명
이 상황에서 어떤 지표를 통해 open을 선정해야 할지