우문현답
愚 問 賢 答
회사별 면접직군별진행 방식
    홈›회사별›토스›프론트엔드›질문 상세
    問
    토토스프론트엔드직무 역량2026년 출제

    공통 컴포넌트나 라이브러리를 설계할 때, 재사용성과 확장성을 어떻게 균형 있게 고려하시나요? 실제 사례로 설명해주세요.

    답변 미리보기

    팀 프로젝트에서 폼 입력 컴포넌트를 공통 라이브러리로 만들었는데, 처음 설계에서 너무 많은 것을 담으려다가 쓰는 곳마다 props가 복잡해지는 문제가…

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

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

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

    問
    01
    재사용성을 고려했는가?
    재사용성을 고려한 흔적이 답에 있어야 합니다. 없으면 면접관이 '어떤 방식으로 재사용성을 높였나요?'를 추가로 묻는 경우가 자주 보입니다.
    骨
    02
    확장성을 어떻게 했는가?
    확장성을 다룬 흔적이 답에 있어야 합니다. 없으면 면접관이 '어떤 방법으로 확장성을 확보했나요?' 같은 질문을 던지는 자리가 자주 보입니다.
    語
    03
    사례를 제시했는가?
    실제 사례를 제시한 흔적이 답에 있어야 합니다. 없으면 면접관이 '그 사례에 대해 좀 더 상세히 말해줄 수 있나요?'를 추가로 묻는 경우가 많습니다.
    本
    04
    균형을 어떻게 맞췄는가?
    재사용성과 확장성을 균형 있게 맞춘 방법이 답에 있어야 합니다. 없으면 면접관이 '어떤 기준으로 균형을 결정했나요?'를 질문하는 자리가 자주 보입니다.
    말로 해봐야 는다
    읽는 것과 말하는 건 다릅니다.
    이 질문, 소리 내어 답해 볼까요?
    토스 면접관 페르소나가 이 질문을 던지고, 당신의 답에 꼬리질문으로 되물어요.
    음성으로 답해보기
    실제 컴포넌트 설계 경험에서 균형 잡는 방식 서술약 90초디자인 시스템 초기 구축 실패 경험 — API 표면 좁히기와 OCP 원칙 적용 중심약 85초인턴 라이브러리 하위 호환성 파괴 경험 — YAGNI 원칙과 최소 인터페이스 전환 중심약 85초
    공통 컴포넌트 재사용성·확장성 균형 설계 경험
    약 90초

    실제 컴포넌트 설계 경험에서 균형 잡는 방식 서술

    팀 프로젝트에서 폼 입력 컴포넌트를 공통 라이브러리로 만들었는데, 처음 설계에서 너무 많은 것을 담으려다가 쓰는 곳마다 props가 복잡해지는 문제가 생겼습니다. 재사용성을 높이려고 옵션을 많이 뒀더니, 어느 팀원도 쉽게 못 쓰는 컴포넌트가 됐습니다. 그 이후 방향을 바꿔 "현재 사용 사례 3개를 커버하는 최소 인터페이스"를 먼저 정의했습니다. 확장성은 처음부터 구현하는 것보다 나중에 추가하기 쉬운 구조를 만드는 방향으로 접근했습니다. 슬롯 패턴을 활용해 기본 동작은 컴포넌트가 처리하되, 커스텀이 필요하면 외부에서 주입할 수 있게 했습니다. 균형을 맞추는 기준은 "이 인터페이스를 처음 보는 팀원이 15분 안에 쓸 수 있는가"였습니다. 복잡성이 이 기준을 초과하면 쪼개거나 단순화했습니다. 이 과정에서 재사용성과 확장성은 처음부터 모두 잡으려 하면 둘 다 잃는다는 걸 배웠습니다.

    이 결의 특징
    옵션을 늘려 재사용성을 높이려다 실패한 경험에서 최소 인터페이스로 방향을 바꾸는 결이 보입니다.
    이 결이 통하는 자리
    설계 판단의 자기 교정 능력을 확인하는 자리에서 통하는 결입니다.
    예시 답변 2
    약 85초

    디자인 시스템 초기 구축 실패 경험 — API 표면 좁히기와 OCP 원칙 적용 중심

    팀 내 디자인 시스템을 처음 구축할 때, 재사용성과 확장성을 동시에 잡으려다 둘 다 놓친 경험이 있습니다. 버튼 컴포넌트에 variant·size·icon·loading 등 열 개 이상의 props를 몰아넣었는데, 실제 사용 케이스의 80%는 두 가지만 필요했습니다. 이후 API 표면을 의도적으로 좁히는 방향으로 전환했습니다. 현재 사용 중인 케이스 세 가지만 지원하고, 나머지는 slot이나 render prop으로 외부에서 주입하게 열어뒀습니다. 확장성은 처음부터 구현하는 것보다 "나중에 추가하기 쉬운 구조"를 만드는 것을 목표로 삼았습니다. 내부 구현은 변경에 닫혀 있게 하되, 외부에서 동작을 주입하는 경로는 열어두는 방식이었습니다. 균형의 판단 기준은 "기본 케이스를 코드 3줄 이내로 쓸 수 있는가"였고, 이 기준을 넘기 시작하면 인터페이스를 쪼갰습니다. 그 결과 팀원이 컴포넌트를 가져다 쓰는 시간이 줄었고, PR에서 인터페이스 관련 리뷰 코멘트도 눈에 띄게 줄었습니다.

    이 결의 특징
    API 표면을 의도적으로 좁히고 나머지는 확장 경로로 여는 결이 있습니다.
    이 결이 통하는 자리
    재사용성과 확장성의 균형 감각을 확인하는 자리에서 효과가 있습니다.
    예시 답변 3
    약 85초

    인턴 라이브러리 하위 호환성 파괴 경험 — YAGNI 원칙과 최소 인터페이스 전환 중심

    인턴 때 사내 공통 유틸 라이브러리에 기능을 추가하다가 하위 호환성을 깨뜨린 적이 있습니다. 재사용성을 높이려고 함수 시그니처를 변경했는데, 이미 열두 군데에서 쓰이고 있던 함수라 수정 범위가 예상보다 훨씬 컸습니다. 그 경험에서 "나중에 확장할 수 있는 구조"와 "지금 당장 쓰기 편한 구조" 사이의 긴장을 처음 실감했습니다. 이후 공통 함수를 설계할 때는 YAGNI 원칙을 기준으로 삼았습니다.

    현재 사용 사례만 지원하는 최소 인터페이스를 먼저 만들고, 확장이 필요한 시점에 옵셔널 파라미터로 추가하는 방식을 택했습니다. 재사용성은 "얼마나 많은 곳에 쓰이는가"보다 "얼마나 쉽게 가져다 쓸 수 있는가"로 판단했습니다. 확장성은 변경 가능성이 높은 부분만 추상화하고, 나머지는 단순하게 유지했습니다.

    인터페이스를 좁게 유지하는 것이 오히려 더 오래 살아남는 설계라는 걸 그 경험에서 배웠습니다.

    이 결의 특징
    하위 호환성 파괴 경험에서 YAGNI 원칙으로 전환한 결이 보입니다.
    이 결이 통하는 자리
    실패에서 설계 원칙을 도출하는 능력을 확인하는 자리에서 통하는 결입니다.
    !
    위 답변은 여러 풀이 중 한 가지 예시입니다. 정답이 아니며, 외워서 그대로 말하면 면접관이 다음 질문을 그 자리에서 시작하는 경우가 많습니다. 본인의 프로젝트·기준·숫자로 다시 짜는 자리로만 쓰세요.
    ✕자주 빠지는 자리

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

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

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

    壹이런 균형을 위해 어떤 기준을 두셨나요?
    貳다른 팀에서의 피드백은 어떻게 반영하셨나요?
    參재사용성을 높이기 위해 어떤 기술적 선택을 하셨나요?
    이제, 직접 답해볼 차례예요.
    눈으로 읽은 답은 면접장에서 나오지 않아요. 토스 면접관과 이 질문으로 한 번 대화해 보세요.
    이 질문으로 모의면접 해보기
    또는, 다음 질문으로

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

    라인 · 프론트엔드
    UI 컴포넌트와 라이브러리를 구현할 때 가장 중요하게 고려하는 요소는 무엇인가요?
    이 질문 보기
    라인 · 프론트엔드
    UI 컴포넌트나 라이브러리를 만드는 과정에서 어떤 접근 방식을 사용했는지 구체적으로 이야기해보세요.
    이 질문 보기
    카카오 · UX/UI 디자이너
    인터랙티브 컴포넌트를 설계할 때 가장 중요하게 고려하는 요소는 무엇인가요?
    이 질문 보기
    삼성전자 · 풀스택
    JavaScript 프레임워크와 라이브러리를 구축할 때 어떤 고려사항이 가장 중요하다고 생각하나요?
    이 질문 보기
    안내 · 이 페이지의 질문·답변·꼬리질문은 유사 직군 채용 시장의 공개된 면접 후기·커뮤니티 게시물을 분석해 구성한 학습 자료입니다. 실제 출제·회사 공식 입장과는 무관하며, 정정 요청 시 24시간 내 반영합니다. 자세히
    개인정보처리방침이용약관문의
    © 2026 우문현답. All rights reserved.
    이 페이지 목차
    01면접관의 의도02답변의 결03실수·꼬리질문04관련 질문
    말로 해봐야 는다
    이 질문, 토스 면접관과
    음성으로 답해볼까요?
    모의면접 해보기
    첫 회 무료 · 종료 즉시 음성 폐기