우문현답
愚 問 賢 答
회사별 면접직군별진행 방식
    홈›회사별›넛지헬스케어›모바일›질문 상세
    問
    넛넛지헬스케어모바일경험·이력2026년 출제

    Jetpack 라이브러리 중 ViewModel, LiveData, Room을 사용한 경험에 대해 말씀해주실 수 있나요?

    답변 미리보기

    Android 앱 팀 프로젝트에서 Jetpack 아키텍처 컴포넌트를 처음 적용하면서 그 이전과 어떻게 달라지는지를 직접 경험했습니다. ViewModel을 쓰기…

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

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

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

    問
    01
    활용 결을 분별하는가?
    한 결로 답하는지, 생명주기·상태·DB·내비 결 중 어느 결에서 굴린 흔적이 답에 있는지 보는 자리입니다. 한 결로 묶는 답은 깊이가 약해지는 자리입니다.
    骨
    02
    본인 사례가 있는가?
    이론 결만 답하는지, 본인이 실제 굴린 Jetpack 결의 흔적이 답에 묻어 있는지 살피는 자리입니다. 책에서 본 결은 실무 감각이 약해지는 자리입니다.
    語
    03
    지표가 분명한가?
    감으로 답하는지, 메모리·렌더·크래시 결로 가른 변화가 답에 있는지 살피는 자리입니다. 지표 없는 결은 표면적입니다.
    本
    04
    테스트를 의식하는가?
    구현만 답하는지, 단위·UI·회귀 결로 가른 흔적이 답에 있는지 보는 자리입니다. 테스트 없는 결은 자리가 흐려지는 자리입니다.
    말로 해봐야 는다
    읽는 것과 말하는 건 다릅니다.
    이 질문, 소리 내어 답해 볼까요?
    넛지헬스케어 면접관 페르소나가 이 질문을 던지고, 당신의 답에 꼬리질문으로 되물어요.
    음성으로 답해보기
    화면 회전 데이터 유지 문제 → ViewModel 도입 + LiveData 생명주기 연동 + Room 타입 안전 쿼리 경험약 70초Jetpack 도입 전후 메모리 누수 패턴을 비교해 개선 효과를 확인한 결약 80초ViewModel 단위 테스트를 작성하면서 비즈니스 로직 분리 효과를 확인한 결약 76초
    Jetpack ViewModel, LiveData, Room 사용 경험
    약 70초

    화면 회전 데이터 유지 문제 → ViewModel 도입 + LiveData 생명주기 연동 + Room 타입 안전 쿼리 경험

    Android 앱 팀 프로젝트에서 Jetpack 아키텍처 컴포넌트를 처음 적용하면서 그 이전과 어떻게 달라지는지를 직접 경험했습니다. ViewModel을 쓰기 전에는 화면 회전 때마다 데이터가 날아가는 문제가 있었는데, ViewModel이 액티비티 생명주기와 독립적으로 데이터를 유지해주는 구조를 이해하고 나서야 해결됐습니다.

    LiveData는 화면이 보이는 동안만 업데이트를 받는 구조라, 관찰을 직접 해제하지 않아도 되는 방식이 메모리 관련 오류를 줄여줬습니다. Room은 SQLite를 직접 쓸 때보다 타입 안전성과 쿼리 검증이 컴파일 타임에 이루어지는 게 장점이라는 걸 배웠습니다. 세 컴포넌트가 MVVM 패턴과 자연스럽게 연결되는 걸 경험했는데, 아키텍처 컴포넌트를 쓰는 이유를 먼저 이해하고 쓰는 것이 패턴 암기보다 중요하다는 걸 배웠습니다.

    Jetpack 컴포넌트는 각각 독립적으로 배울 수 있지만, 함께 쓸 때 시너지가 나는 자리라는 걸 그때 느꼈습니다.

    이 결의 특징
    ViewModel 도입 전 화면 회전 시 데이터 손실 문제를 직면한 구체적 경험입니다. LiveData의 생명주기 자동 관찰 해제, Room의 타입 안전성과 컴파일 타임 쿼리 검증이라는 세 컴포넌트의 역할이 명확히 드러나 있습니다.
    이 결이 통하는 자리
    MVVM 패턴의 각 계층이 자연스럽게 연결되는 경험이 "아키텍처 컴포넌트를 쓰는 이유를 먼저 이해했기 때문"이라는 학습으로 제시될 때 통합니다. 패턴 암기가 아니라 문제 맥락에서 나온 설계 이해가 드러날 때, 안드로이드 아키텍처를 체계적으로 지탱할 수 있는 사람으로 신뢰받는 자리가 만들어집니다.
    예시 답변 2
    약 80초

    Jetpack 도입 전후 메모리 누수 패턴을 비교해 개선 효과를 확인한 결

    Jetpack 컴포넌트 도입 전에는 액티비티 참조를 콜백에 직접 잡아두는 방식이 메모리 누수의 주원인이었습니다. 앱이 백그라운드 전환 이후 재진입 시 느려지는 현상이 있었는데, LeakCanary로 확인하니 화면 전환마다 누수가 누적되는 패턴이 보였습니다.

    ViewModel 도입 후 데이터를 Activity 외부에서 관리하게 되면서 액티비티 참조를 직접 잡을 이유가 사라졌고, LiveData가 생명주기에 맞게 관찰을 자동으로 해제하면서 누수 감지 건수가 주당 17건에서 2건으로 줄었습니다. 숫자로 확인하고 나서야 구조적 접근이 개별 버그 수정보다 훨씬 효율적이라는 것을 몸으로 배웠습니다. 지금도 비슷한 문제를 보면 설계 수준에서 원인을 잡을 수 있는지를 먼저 확인하는 편입니다.

    이 결의 특징
    LeakCanary로 메모리 누수를 추적한 구체적 경험입니다. Activity 참조를 콜백에 직접 잡는 방식의 누수 패턴(화면 전환마다 누적), ViewModel 도입 후 누수 감지 건수 17건 → 2건이라는 구체적 수치 개선이 기록되어 있습니다.
    이 결이 통하는 자리
    "구조적 접근이 개별 버그 수정보다 훨씬 효율적"이라는 원칙이 주당 누수 감지 수치 급감이라는 명확한 효과로 증명될 때 통합니다. 설계 문제를 일일이 버그로 고치는 것 대신 아키텍처로 원천 차단한 사람으로 평가받는 자리가 나타납니다.
    예시 답변 3
    약 76초

    ViewModel 단위 테스트를 작성하면서 비즈니스 로직 분리 효과를 확인한 결

    Jetpack 컴포넌트 중 테스트 작성이 가장 수월했던 것은 ViewModel이었습니다. 로직을 ViewModel에 집중시키고 나니 UI 없이 JUnit으로 바로 검증할 수 있어서, 이전에 에뮬레이터를 띄워야 확인할 수 있던 케이스를 로컬에서 바로 실행할 수 있었습니다.

    InstantTaskExecutorRule을 써서 LiveData가 동기로 동작하게 만들고, 값 변화를 순서대로 검증하는 테스트를 처음 통과시켰을 때 구조 분리의 가치를 실감했습니다. 처음에는 어떤 케이스를 테스트해야 하는지 감이 없었는데, 비즈니스 로직과 UI 로직이 분리된 구조에서는 입력 A를 주면 상태 B가 나오는가라는 형태로 케이스가 자연스럽게 보였습니다.

    테스트 가능한 구조와 좋은 아키텍처는 방향이 같다는 것을 ViewModel을 쓰면서 처음 실감했습니다.

    이 결의 특징
    ViewModel 분리로 JUnit 로컬 테스트가 가능해진 구체적 개선입니다. InstantTaskExecutorRule로 LiveData 동기화, 상태 변화 순서 검증이라는 단계별 테스트 방법이 명시되어 있고 처음 테스트 통과 시점의 깨달음이 드러납니다.
    이 결이 통하는 자리
    "테스트 가능한 구조와 좋은 아키텍처는 방향이 같다"는 원칙이 에뮬레이터 테스트에서 로컬 테스트로 전환한 구체적 경험으로 증명될 때 통합니다. 비즈니스 로직과 UI 로직이 분리되면서 테스트 케이스가 자연스럽게 보인다는 학습이 드러날 때, 테스트 주도 설계를 신뢰할 수 있는 사람으로 인정받는 자리가 만들어집니다.
    !
    위 답변은 여러 풀이 중 한 가지 예시입니다. 정답이 아니며, 외워서 그대로 말하면 면접관이 다음 질문을 그 자리에서 시작하는 경우가 많습니다. 본인의 프로젝트·기준·숫자로 다시 짜는 자리로만 쓰세요.
    ✕자주 빠지는 자리

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

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

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

    壹왜 그 라이브 결을 고르셨나요?
    貳막힌 활용 경로 결도 있었나요?
    參본인만의 안드 결이 있나요?
    이제, 직접 답해볼 차례예요.
    눈으로 읽은 답은 면접장에서 나오지 않아요. 넛지헬스케어 면접관과 이 질문으로 한 번 대화해 보세요.
    이 질문으로 모의면접 해보기
    또는, 다음 질문으로

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

    넛지헬스케어 · 모바일
    Jetpack의 ViewModel, LiveData, Room을 활용한 개발 경험이 있다면 구체적으로 어떤 기능을 구현하셨는지 말씀해 주세요.
    이 질문 보기
    무신사 · 백엔드
    Java 또는 Kotlin을 사용한 프로젝트 경험에 대해 설명해 주세요.
    이 질문 보기
    세나클소프트 · SW·IT 일반
    MVVM 패턴을 적용한 프로젝트 경험에 대해 말씀해 주세요.
    이 질문 보기
    쿠팡 · 프론트엔드
    React나 Vue.js를 사용한 경험에 대해 구체적으로 설명해줄 수 있어?
    이 질문 보기
    안내 · 이 페이지의 질문·답변·꼬리질문은 유사 직군 채용 시장의 공개된 면접 후기·커뮤니티 게시물을 분석해 구성한 학습 자료입니다. 실제 출제·회사 공식 입장과는 무관하며, 정정 요청 시 24시간 내 반영합니다. 자세히
    개인정보처리방침이용약관문의
    © 2026 우문현답. All rights reserved.
    이 페이지 목차
    01면접관의 의도02답변의 결03실수·꼬리질문04관련 질문
    말로 해봐야 는다
    이 질문, 넛지헬스케어 면접관과
    음성으로 답해볼까요?
    모의면접 해보기
    첫 회 무료 · 종료 즉시 음성 폐기