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

    Dependency Injection을 활용한 코드 설계 경험에 대해 구체적으로 이야기해줄 수 있나요?

    답변 미리보기

    DI(의존성 주입)를 처음 제대로 적용한 건 학부 프로젝트에서 외부 API 호출 로직이 비즈니스 로직과 강하게 결합되어 테스트가 불가능해진 문제를 겪고…

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

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

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

    問
    01
    DI 패턴을 어떻게 이해했는가?
    Dependency Injection 패턴에 대한 이해도가 답에 나타나야 합니다. 없으면 면접관이 '이 패턴에 대해 어떻게 생각하나요?'를 추가로 묻는 경우가 자주 보입니다.
    骨
    02
    구체적 사례를 제시했는가?
    구체적인 코드 설계 사례가 답에 포함된 흔적이 있어야 합니다. 없으면 면접관이 '어떤 프로젝트에서 사용했나요?'를 추가로 묻는 경우가 많습니다.
    語
    03
    DI 활용의 결과는 어땠는가?
    Dependency Injection을 활용하여 얻은 결과나 효과가 답에 있어야 합니다. 없으면 면접관이 '구현 후 어떤 변화가 있었나요?'를 추가로 묻는 경우가 자주 보입니다.
    本
    04
    DI의 한계나 단점은 무엇인가?
    Dependency Injection의 한계나 단점에 대한 인식이 답에 필요합니다. 없으면 면접관이 '어떤 상황에서 문제가 발생할 수 있나요?'를 추가로 묻는 자리에서 자주 보입니다.
    말로 해봐야 는다
    읽는 것과 말하는 건 다릅니다.
    이 질문, 소리 내어 답해 볼까요?
    당근마켓 면접관 페르소나가 이 질문을 던지고, 당신의 답에 꼬리질문으로 되물어요.
    음성으로 답해보기
    DI 적용 계기·구체 구현·테스트 가용성 향상·설계 습관 연결 중심으로 푸는 결약 100초팀 프로젝트 DB 레이어 DI 도입 경험·Repository 패턴·테스트 가용성 중심으로 푸는 결약 82초순환 의존성 오류를 설계 신호로 읽고 단방향 구조로 정리한 경험 중심으로 푸는 결약 85초
    예시 답변 1
    약 100초

    DI 적용 계기·구체 구현·테스트 가용성 향상·설계 습관 연결 중심으로 푸는 결

    DI(의존성 주입)를 처음 제대로 적용한 건 학부 프로젝트에서 외부 API 호출 로직이 비즈니스 로직과 강하게 결합되어 테스트가 불가능해진 문제를 겪고 나서였습니다. API를 직접 호출하는 코드가 서비스 레이어 안에 박혀 있다 보니, 테스트할 때마다 실제 요청이 나가거나 환경 설정이 필요했습니다. DI를 적용하면서 외부 API 클라이언트를 인터페이스로 추상화하고, 실제 구현체와 Mock 구현체를 주입 가능하게 만든 구조로 바꿨습니다. 그랬더니 단위 테스트에서 Mock을 주입해 외부 의존 없이 비즈니스 로직만 검증할 수 있게 됐습니다.

    Python에서는 생성자 인자로 의존성을 받는 방식으로 구현했는데, 의존성을 외부에서 주입받는 구조로 바꾸는 것만으로도 코드 모듈성이 확 달라진다는 걸 직접 경험했습니다. 이후 프로젝트에서는 설계 초반부터 "이 클래스가 무엇에 의존하는가"를 먼저 정의하고, 그 의존성을 생성자로 받는 패턴을 기본으로 쓰고 있습니다.

    이 결의 특징
    테스트 불가능한 결합을 인터페이스 추상화로 해결한 결이 보입니다.
    이 결이 통하는 자리
    DI 패턴의 실질적 적용력을 확인하는 자리에서 통하는 결입니다.
    예시 답변 2
    약 82초

    팀 프로젝트 DB 레이어 DI 도입 경험·Repository 패턴·테스트 가용성 중심으로 푸는 결

    DI를 팀 프로젝트 DB 레이어에 처음 도입한 건 팀원마다 ORM 세션 관리 방식이 달라 테스트 환경이 복잡하게 얽혔던 때였습니다. 각자 세션을 직접 생성하다 보니 테스트마다 DB 상태 의존성이 충돌했고, 해결책으로 Repository 인터페이스를 공통으로 정의하고 구현체를 생성자로 주입받는 구조를 도입했습니다.

    테스트에서는 InMemory 구현체를 주입해 실제 DB 없이 비즈니스 로직만 검증할 수 있게 됐고, 팀원 간 코드 충돌도 눈에 띄게 줄었습니다. 이 경험에서 DI가 단순히 결합을 낮추는 패턴이 아니라 "무엇을 만드는가"와 "어디서 조합하는가"를 분리하는 설계 원칙이라는 걸 실감했습니다. 이후로는 새 기능 설계 시 의존성 그래프를 먼저 그리고 주입 경로를 정하는 순서를 따르게 됐고, 코드 변경 영향 범위가 이전보다 훨씬 예측 가능한 방향으로 바뀌었습니다.

    이 결의 특징
    세션 관리 충돌을 Repository 패턴으로 해결한 결이 있습니다.
    이 결이 통하는 자리
    팀 협업에서의 설계 원칙 이해를 확인하는 자리에서 효과가 있습니다.
    예시 답변 3
    약 85초

    순환 의존성 오류를 설계 신호로 읽고 단방향 구조로 정리한 경험 중심으로 푸는 결

    스프링 컨테이너를 처음 쓸 때 컨테이너가 의존성을 자동으로 주입한다는 개념이 이론으로만 이해됐습니다. 실감한 건 빈 설정을 잘못해 순환 의존성이 발생했을 때였습니다. 두 클래스가 서로를 참조하는 구조를 컨테이너가 감지하고 오류를 던졌는데, 그 오류가 단순 버그가 아니라 설계 문제를 알려주는 신호라는 걸 그제야 알아챘습니다.

    순환 의존을 없애려고 인터페이스를 다시 분리하고 의존 방향을 단방향으로 정리하는 과정에서, DI가 강요하는 제약이 오히려 더 나은 구조를 만드는 압력이 된다는 걸 경험했습니다. 그 이후로는 컨테이너 없이 수동으로 의존성을 조립하는 코드를 먼저 써보고 컨테이너에 맡기는 방식을 병행하며, 설계 의도가 구조에 제대로 반영됐는지 확인하는 과정을 갖게 됐습니다.

    이 결의 특징
    순환 의존성 오류를 설계 문제의 신호로 읽어내는 결이 보입니다.
    이 결이 통하는 자리
    DI가 강요하는 제약을 구조 개선 기회로 보는 시야를 확인하는 자리에서 통하는 결입니다.
    !
    위 답변은 여러 풀이 중 한 가지 예시입니다. 정답이 아니며, 외워서 그대로 말하면 면접관이 다음 질문을 그 자리에서 시작하는 경우가 많습니다. 본인의 프로젝트·기준·숫자로 다시 짜는 자리로만 쓰세요.
    ✕자주 빠지는 자리

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

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

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

    壹그 설계 방식으로 어떤 장점이 있었나요?
    貳그 경험에서 어떤 어려움이 있었나요?
    參다른 개발 방식과 비교했을 때 어떤 차이가 있었나요?
    이제, 직접 답해볼 차례예요.
    눈으로 읽은 답은 면접장에서 나오지 않아요. 당근마켓 면접관과 이 질문으로 한 번 대화해 보세요.
    이 질문으로 모의면접 해보기
    또는, 다음 질문으로

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

    토스 · 서비스 오너
    데이터 기반으로 복잡한 문제를 해결한 경험에 대해 구체적으로 이야기해 주실 수 있나요?
    이 질문 보기
    카카오페이 · UX/UI 디자이너
    데이터 기반의 서비스 기획 경험에 대해 구체적으로 설명해 주세요.
    이 질문 보기
    이스트소프트 · 서비스 오너
    복잡한 문제를 구조화하고 해결한 경험에 대해 이야기해 줄 수 있나요?
    이 질문 보기
    이스트소프트 · 프로덕트 디자이너
    AI 기반 디자인 툴을 활용한 경험에 대해 이야기해 주세요.
    이 질문 보기
    안내 · 이 페이지의 질문·답변·꼬리질문은 유사 직군 채용 시장의 공개된 면접 후기·커뮤니티 게시물을 분석해 구성한 학습 자료입니다. 실제 출제·회사 공식 입장과는 무관하며, 정정 요청 시 24시간 내 반영합니다. 자세히
    개인정보처리방침이용약관문의
    © 2026 우문현답. All rights reserved.
    이 페이지 목차
    01면접관의 의도02답변의 결03실수·꼬리질문04관련 질문
    말로 해봐야 는다
    이 질문, 당근마켓 면접관과
    음성으로 답해볼까요?
    모의면접 해보기
    첫 회 무료 · 종료 즉시 음성 폐기