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

    프로덕션 환경의 API 서버를 설계·개발할 때 어떤 언어를 사용했고, 그 이유는 무엇인지 설명해 주세요.

    답변 미리보기

    졸업 프로젝트에서 처음에는 익숙한 Python FastAPI로 API 서버를 만들었습니다. 기능 구현은 빠르게 진행되었으나, 동시 요청 100개가 넘어가면…

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

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

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

    問
    01
    사용한 언어의 선택 이유는 무엇인가?
    본인이 선택한 언어의 선택 이유와 그에 따라 얻은 장점의 흔적이 답에 있어야 합니다. 없으면 면접관이 '다른 언어는 고려했나요?'를 추가로 묻는 경우가 자주 보입니다.
    骨
    02
    프로덕션 환경에서의 경험은 어떤가?
    프로덕션 환경에서 경험한 사례나 프로젝트의 흔적이 답에 있어야 합니다. 없으면 면접관이 '어떤 문제를 해결했나요?' 같은 질문을 던지는 자리가 자주 보입니다.
    語
    03
    API 서버 설계 시 고려한 요소는 무엇인가?
    API 서버 설계 시 고려한 요소(성능, 확장성 등)의 흔적이 답에 있어야 합니다. 없으면 면접관이 '구체적으로 어떤 점을 중시했나요?'를 추가로 묻는 경우가 많습니다.
    本
    04
    언어 선택에 따른 팀의 반응은 어땠는가?
    선택한 언어에 대해 팀의 반응이나 피드백의 흔적이 답에 있어야 합니다. 없으면 면접관이 '팀원들은 어떻게 생각했나요?'를 추가로 묻는 경우가 자주 보입니다.
    말로 해봐야 는다
    읽는 것과 말하는 건 다릅니다.
    이 질문, 소리 내어 답해 볼까요?
    토스 면접관 페르소나가 이 질문을 던지고, 당신의 답에 꼬리질문으로 되물어요.
    음성으로 답해보기
    경험 중심 — Python FastAPI로 시작했다가 Go로 마이그레이션한 경험약 120초경험 중심 — ML 모델 서빙이라 Python이 최선이었던 판단약 110초팀 프로젝트 경험 — TypeScript로 API 서버를 만든 이유약 100초
    Python → Go 전환 — 레이턴시 개선 경험
    약 120초

    경험 중심 — Python FastAPI로 시작했다가 Go로 마이그레이션한 경험

    졸업 프로젝트에서 처음에는 익숙한 Python FastAPI로 API 서버를 만들었습니다. 기능 구현은 빠르게 진행되었으나, 동시 요청 100개가 넘어가면 레이턴시가 급격히 늘어나는 문제가 발생했습니다.

    원인을 분석해보니 GIL 때문에 CPU 바운드 작업이 병렬로 실행되지 않고 있었습니다. 그래서 고민 끝에 Go로 핵심 엔드포인트 2개를 다시 작성하였고, 같은 부하에서 p95 레이턴시가 300ms에서 60ms로 줄어들었습니다.

    그러나 Go로 옮기면서 에러 처리 패턴이 낯설어서 nil 포인터 패닉이 두 번 발생하였습니다. 팀원들도 Go 경험이 없어서 코드 리뷰가 제대로 이루어지지 않은 점이 문제였습니다. 이 경험을 통해 언어 전환은 성능뿐만 아니라 팀 전체의 학습 비용도 함께 고려해야 한다는 것을 배웠습니다.

    이 결의 특징
    GIL로 인한 병목을 진단해 Go로 전환하고 p95 레이턴시를 300ms에서 60ms로 줄인 흔적이 있습니다. nil 포인터 패닉과 팀 학습 비용이라는 부작용까지 함께 짚어 균형 잡힌 결이 담겨 있습니다.
    이 결이 통하는 자리
    수치로 개선폭을 밝히고 동시에 전환의 대가를 숨기지 않을 때 통합니다. 언어 선택이 성능과 학습 비용 사이의 트레이드오프라는 결론으로 닫히는 자리에서 면접관이 신뢰하는 결이 보입니다.
    Python 유지 — 데이터 파이프라인과 통합이 중요한 서버
    약 110초

    경험 중심 — ML 모델 서빙이라 Python이 최선이었던 판단

    인턴 때 ML 모델 추론 결과를 API로 내려주는 서버를 담당했는데, 팀에서 Go 또는 Python 중 선택을 논의했어요.

    저는 Python을 주장했는데, 이유는 모델 코드가 전부 Python이라 언어를 분리하면 내부 인터페이스를 따로 만들어야 하는 오버헤드가 생겼기 때문이에요. 성능이 중요하긴 했지만, 추론 자체가 GPU 바운드라 API 서버 레이어의 언어 선택이 전체 레이턴시에 미치는 영향이 크지 않다고 판단했습니다.

    결국 Python FastAPI로 유지했고, 응답 직렬화 부분만 `orjson`으로 바꿔서 약 15% 속도 개선을 했어요. 언어 선택이 항상 성능 최적화만의 문제는 아니고, 기존 코드베이스와의 통합 비용도 중요한 기준이 된다는 걸 느꼈습니다.

    이 결의 특징
    GPU 바운드 추론이라 API 레이어 언어 선택의 영향이 크지 않다고 판단한 근거가 또렷하고, orjson 적용으로 15% 개선을 이끈 흔적이 있습니다. 기존 코드베이스와의 통합 비용을 우선한 결이 담겨 있습니다.
    이 결이 통하는 자리
    성능 최적화만이 언어 선택의 기준이 아니라는 시각이 구체 수치와 함께 드러날 때 통합니다. 모델 코드와의 인터페이스 오버헤드를 짚는 자리에서 면접관이 판단 기준을 확인하는 결이 보입니다.
    언어 선택 경험 적음 — TypeScript 기반 팀 프로젝트 경험
    약 100초

    팀 프로젝트 경험 — TypeScript로 API 서버를 만든 이유

    저는 아직 프로덕션 API 서버를 처음부터 언어를 골라 설계한 경험은 없지만, 팀 프로젝트에서 언어 선택을 논의한 적이 있어요.

    당시 팀원 4명 중 3명이 TypeScript에 익숙해서 팀 숙련도를 최우선으로 해서 NestJS를 쓰기로 했습니다. 저는 Python을 선호했지만, 처음에 생산성을 위해서라면 팀 공통 언어가 맞다고 수긍했어요. 익숙한 생태계에서 시작하는 게 초반 속도에 유리했습니다.

    프로젝트 후반에 ORM 쿼리 최적화가 필요한 구간이 있었는데, TypeScript 생태계가 Python에 비해 DB 도구가 덜 익숙해서 시간이 좀 걸렸습니다. 언어 선택 시 팀 생산성, 기존 생태계, 성능 요건을 같이 놓고 봐야 한다는 걸 느꼈고, 다음엔 더 의식적으로 트레이드오프를 따져보고 싶어요.

    이 결의 특징
    팀원 4명 중 3명의 숙련도를 기준으로 NestJS를 택한 판단과, 후반부 ORM 쿼리 최적화에서 겪은 시간 지연을 함께 짚은 흔적이 있습니다. 다음엔 트레이드오프를 더 의식하겠다는 성찰로 닫히는 결이 담겨 있습니다.
    이 결이 통하는 자리
    경험이 적다는 걸 숨기지 않고 팀 생산성·생태계·성능이라는 세 기준을 구체 사례로 엮을 때 통합니다. 초반 속도와 후반 제약을 대비시키는 자리에서 균형 감각이 읽히는 결이 보입니다.
    !
    위 답변은 여러 풀이 중 한 가지 예시입니다. 정답이 아니며, 외워서 그대로 말하면 면접관이 다음 질문을 그 자리에서 시작하는 경우가 많습니다. 본인의 프로젝트·기준·숫자로 다시 짜는 자리로만 쓰세요.
    ✕자주 빠지는 자리

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

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

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

    壹사용한 언어의 장점은 무엇인가요?
    貳그 언어의 단점은 없었나요?
    參다른 언어로도 개발할 수 있었나요?
    이제, 직접 답해볼 차례예요.
    눈으로 읽은 답은 면접장에서 나오지 않아요. 토스 면접관과 이 질문으로 한 번 대화해 보세요.
    이 질문으로 모의면접 해보기
    또는, 다음 질문으로

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

    스마일게이트 · 게임 서버
    서버 개발에서 어떤 프로그래밍 언어를 주로 사용했는지, 그 이유는 무엇인지 설명해 주세요.
    이 질문 보기
    HL그룹 · SW·IT 일반
    Python, Go, Java 중 하나의 언어로 API 개발 경험을 설명해 주세요.
    이 질문 보기
    라인 · 백엔드
    모바일 환경을 고려한 API 설계 경험이 있다면, 어떤 점에 주의했는지 설명해 주세요.
    이 질문 보기
    누아 · 백엔드
    효율적인 API를 구현하기 위해 어떤 접근 방식을 취했는지 사례를 들어 설명해 주세요.
    이 질문 보기
    안내 · 이 페이지의 질문·답변·꼬리질문은 유사 직군 채용 시장의 공개된 면접 후기·커뮤니티 게시물을 분석해 구성한 학습 자료입니다. 실제 출제·회사 공식 입장과는 무관하며, 정정 요청 시 24시간 내 반영합니다. 자세히
    개인정보처리방침이용약관문의
    © 2026 우문현답. All rights reserved.
    이 페이지 목차
    01면접관의 의도02답변의 결03실수·꼬리질문04관련 질문
    말로 해봐야 는다
    이 질문, 토스 면접관과
    음성으로 답해볼까요?
    모의면접 해보기
    첫 회 무료 · 종료 즉시 음성 폐기