면접 질문이나 실무 설계 문제는 정답을 외우는 방식으로는 오래 가지 않는다. 중요한 건 주어진 상황에서 병목이 어디인지, 어떤 선택지가 있고, 각 선택이 어떤 비용을 만드는지 설명하는 것이다.

이 폴더에는 그런 식으로 한 번쯤 깊게 생각해볼 만한 주제를 모았다. 처음부터 완벽한 답을 만들기보다, 문제를 쪼개고 가정을 세우고 트레이드오프를 비교하는 연습용으로 보면 좋다.

읽는 순서

먼저 MySQL에서 데이터베이스 성능과 인덱스 감각을 잡는다. 그다음 Redis 클러스터로 캐시와 분산 저장소의 운영 문제를 이어서 보면 좋다.

트래픽이 몰리는 상황을 보고 싶다면 아이템 대량 개봉이 적당하다. 요청을 한 번에 처리할지, 큐로 넘길지, 결과의 일관성을 어디까지 보장할지 고민할 수 있다.

장애 대응 관점은 토스뱅크 상황 가정에서 다룬다. 타임아웃, 재시도, 멱등성, 서킷브레이커처럼 실무에서 자주 부딪히는 주제를 한 흐름으로 연결해볼 수 있다.

공부할 때 보는 기준

각 글을 읽을 때는 “무엇이 문제인가 → 왜 단순한 해결책으로 부족한가 → 어떤 선택지가 있는가 → 내가 고른 방식의 단점은 무엇인가” 순서로 정리해보면 좋다. 이 흐름이 잡히면 면접에서도 키워드 나열이 아니라 설계 대화에 가깝게 답할 수 있다.