우문현답
愚 問 賢 答
회사별 면접직군별진행 방식
    홈›회사별›당근마켓›백엔드›질문 상세
    問
    당당근마켓백엔드경험·이력2026년 출제

    복잡한 인프라 환경에서 동시성 문제를 해결하기 위해 어떤 접근 방식을 취할 수 있을까요?

    답변 미리보기

    인턴 때 여러 서비스가 동일한 DB 레코드를 동시에 업데이트하면서 데이터 불일치가 생기는 문제를 담당했습니다. 같은 재고 수량을 두 요청이 거의 동시에 읽고…

    예상 답변 시간
    60~90초
    예상 꼬리질문
    3회
    난이도
    난이도 중상
    출제 빈도
    높음
    INTERVIEWER'S INTENT · 면접관의 의도

    이 질문, 네 갈래로 뜯어봅니다.

    면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.

    問
    01
    동시성 문제를 어떻게 해결했는가?
    복잡한 인프라 환경에서 동시성 문제를 해결한 경험의 흔적이 답에 있어야 합니다. 없으면 면접관이 '구체적인 사례는?'을 추가로 묻는 경우가 많습니다.
    骨
    02
    어떤 접근 방식을 사용했는가?
    동시성 문제 해결을 위한 구체적인 접근 방식을 설명한 흔적이 있어야 합니다. 없으면 면접관이 '다른 방법도 생각해봤나요?' 같은 질문을 던지는 자리가 자주 보입니다.
    語
    03
    문제를 해결한 결과는 어땠는가?
    해결한 동시성 문제의 결과에 대한 평가가 답에 있어야 합니다. 없으면 면접관이 '그 결과에 대해 어떻게 생각하나요?'를 추가로 묻는 경우가 자주 보입니다.
    本
    04
    협업 과정에서의 역할은 무엇인가?
    문제 해결 과정에서의 자신의 역할을 구체적으로 언급한 흔적이 있어야 합니다. 없으면 면접관이 '팀원들과의 협업은 어땠나요?'를 추가로 묻는 경우가 많습니다.
    말로 해봐야 는다
    읽는 것과 말하는 건 다릅니다.
    이 질문, 소리 내어 답해 볼까요?
    당근마켓 면접관 페르소나가 이 질문을 던지고, 당신의 답에 꼬리질문으로 되물어요.
    음성으로 답해보기
    분산 환경 동시성 문제 해결 경험 - 락과 메시지 큐 방식 서술약 82초분산 환경에서 낙관적 잠금(Optimistic Locking)으로 동시성 이슈를 처리한 경험 결약 60초분산 트랜잭션에서 SAGA 패턴으로 장기 실행 트랜잭션의 일관성을 유지한 경험 결약 62초
    A
    약 82초

    분산 환경 동시성 문제 해결 경험 - 락과 메시지 큐 방식 서술

    인턴 때 여러 서비스가 동일한 DB 레코드를 동시에 업데이트하면서 데이터 불일치가 생기는 문제를 담당했습니다. 같은 재고 수량을 두 요청이 거의 동시에 읽고 각자 감소 연산을 한 뒤 저장하면, 하나의 차감이 무시되는 Lost Update 패턴이었습니다. 첫 접근은 Optimistic Locking이었습니다. 레코드에 version 컬럼을 추가하고, 업데이트 시 읽은 시점의 version과 현재 version이 같을 때만 반영하도록 조건을 걸었습니다. 충돌이 잦지 않은 경우에 효율적이었지만, 트래픽이 몰리면 재시도가 반복되는 문제가 있었습니다. 그래서 메시지 큐(Kafka)로 요청을 순차 처리하는 구조로 전환했습니다. 재고 차감 이벤트를 큐에 쌓고 소비자가 하나씩 처리하니, 동시성 충돌 자체가 없어졌습니다. 처리 지연은 늘었지만 정확성이 보장되는 쪽이 이 도메인에서 더 중요한 요구사항이었습니다. 동시성 문제는 단일 해법이 없고, 트레이드오프를 파악한 후 도메인 요구에 맞는 선택을 해야 한다는 걸 배웠습니다.

    이 결의 특징
    Lost Update 문제를 낙관적 잠금에서 메시지 큐로 전환하며 해결한 구체적 경험을 보여주는 결입니다.
    이 결이 통하는 자리
    동시성 문제 해결 실무 경험을 확인하려는 질문에 통하는 결입니다.
    예시 답변 2
    약 60초

    분산 환경에서 낙관적 잠금(Optimistic Locking)으로 동시성 이슈를 처리한 경험 결

    분산 마이크로 환경에서 동시성 이슈를 다룬 경험으로 낙관적 잠금(Optimistic Locking) 방식을 적용한 것이 있습니다. 비관적 잠금(Pessimistic Locking)은 충돌을 미리 막기 위해 항상 잠금을 걸기 때문에 트래픽이 많을 때 성능 저하가 심했습니다.

    낙관적 잠금은 업데이트 시점에 버전 필드를 확인해서 충돌 여부를 판단하는 방식으로, 잠금 없이 대부분의 요청을 처리하고 충돌이 발생했을 때만 재시도하는 전략입니다. 읽기 요청이 많고 동시 수정 충돌이 드문 경우에 효율적이었습니다. 단, 재시도 횟수가 많아지면 성능이 떨어지기 때문에 충돌 빈도가 높은 데이터에는 적합하지 않다는 것도 경험했습니다.

    충돌 빈도에 따라 방식이 달라집니다. 낙관적 잠금이 낮은 충돌 환경에서 효율적입니다. 동시성 전략은 트래픽 패턴을 보고 선택해야 합니다.

    이 결의 특징
    충돌 빈도에 따라 잠금 전략을 다르게 선택하는 기준을 짚는 결입니다.
    이 결이 통하는 자리
    트래픽 패턴에 맞는 기술 선택을 확인하려는 질문에서 설득력을 인정받는 결입니다.
    예시 답변 3
    약 62초

    분산 트랜잭션에서 SAGA 패턴으로 장기 실행 트랜잭션의 일관성을 유지한 경험 결

    마이크로서비스 환경에서 동시성 문제 중 하나는 여러 서비스에 걸친 트랜잭션을 어떻게 일관되게 유지하느냐였습니다. 전통적인 분산 트랜잭션(2PC)은 서비스 간 결합도가 높아지고 가용성이 낮아지는 문제가 있어서 SAGA 패턴을 대안으로 적용한 경험이 있습니다. SAGA는 각 서비스가 로컬 트랜잭션을 처리하고 성공 시 다음 서비스를 호출하는 방식으로, 중간 실패가 발생하면 보상 트랜잭션을 역순으로 실행해서 롤백 효과를 냅니다. 코레오그래피 방식으로 구현할 경우 각 서비스가 이벤트를 발행하고 구독하는 방식으로 흐름이 구성되는데, 서비스 간 직접 호출 없이 이벤트 버스로 연결되어 결합도가 낮아지는 장점이 있었습니다. 대신 보상 트랜잭션 설계와 이벤트 순서 보장이 복잡해지는 단점도 있습니다.

    분산 일관성은 보상 트랜잭션으로 유지합니다. SAGA가 마이크로서비스 트랜잭션의 실용적 대안입니다. 패턴 선택이 아키텍처 설계의 핵심입니다.

    이 결의 특징
    분산 트랜잭션의 결합도 문제를 SAGA 패턴으로 해결하는 결입니다.
    이 결이 통하는 자리
    마이크로서비스 아키텍처 설계 이해를 확인하려는 질문에서 자주 채택되는 결입니다.
    !
    위 답변은 여러 풀이 중 한 가지 예시입니다. 정답이 아니며, 외워서 그대로 말하면 면접관이 다음 질문을 그 자리에서 시작하는 경우가 많습니다. 본인의 프로젝트·기준·숫자로 다시 짜는 자리로만 쓰세요.
    ✕자주 빠지는 자리

    같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.

    • ✕떨어뜨린 옵션이 1개라도 있는가? "이게 답이었어요"만으로는 의사결정이 아니라 그냥 선택입니다.
    • ✕선택 기준이 그 프로젝트에 한정되는가? "성능이 좋아서"는 일반론, "우리 트래픽이 X 패턴이라서"가 본인의 답입니다.
    • ✕결과 숫자 1개를 정확히 말할 수 있는가? P95·QPS·적중률 — 무엇이든 1개. 숫자가 없으면 직감으로 한 일처럼 들리기 쉽습니다.
    • ✕지금 다시 한다면 어떻게 할지 답할 수 있는가? "잘했다"보다 "이건 다르게 했을 것 같다"가 더 깊은 인상을 남깁니다.
    ▶이어질 꼬리질문

    진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.

    壹지금까지의 경험 중 가장 어려운 동시성 문제는 무엇이었나요?
    貳이 문제를 해결하기 위해 어떤 도구나 기술을 사용했나요?
    參동시성 문제 해결에서 팀원 간의 협력은 어떻게 이루어졌나요?
    이제, 직접 답해볼 차례예요.
    눈으로 읽은 답은 면접장에서 나오지 않아요. 당근마켓 면접관과 이 질문으로 한 번 대화해 보세요.
    이 질문으로 모의면접 해보기
    또는, 다음 질문으로

    같은 흐름에서 자주 이어지는 질문들이에요.

    쿠팡 · 백엔드
    복잡한 인프라 문제를 해결하기 위해 간단한 솔루션을 정의하고 구현했던 경험에 대해 이야기해 줄 수 있어?
    이 질문 보기
    토스 · ML 엔지니어
    복잡한 문제를 해결하기 위해 어떤 기술적 접근 방식을 사용한 경험이 있나요?
    이 질문 보기
    스마일게이트 · 경영기획
    복잡한 문제를 해결하기 위해 어떤 접근 방식을 사용하나요?
    이 질문 보기
    삼성전자 · 데이터 엔지니어
    데이터 인프라 문제를 해결하기 위해 어떤 접근 방식을 취하는 것이 효과적일까요?
    이 질문 보기
    안내 · 이 페이지의 질문·답변·꼬리질문은 유사 직군 채용 시장의 공개된 면접 후기·커뮤니티 게시물을 분석해 구성한 학습 자료입니다. 실제 출제·회사 공식 입장과는 무관하며, 정정 요청 시 24시간 내 반영합니다. 자세히
    개인정보처리방침이용약관문의
    © 2026 우문현답. All rights reserved.
    이 페이지 목차
    01면접관의 의도02답변의 결03실수·꼬리질문04관련 질문
    말로 해봐야 는다
    이 질문, 당근마켓 면접관과
    음성으로 답해볼까요?
    모의면접 해보기
    첫 회 무료 · 종료 즉시 음성 폐기