💬 경력직 면접에서 “왜?”라는 질문을 마주하다
최근 경력직 면접을 처음 경험하면서, 예상치 못한 “왜?”라는 꼬리 질문을 굉장히 많이 받았습니다.
기술적인 질문과 이력서 관련 답변은 준비했지만, 꼬리에 꼬리를 무는 “왜?” 질문은 점점 저를 작아지게 만드는 느낌이었어요...
경력직 면접에서는 기본 cs나 js 등에 대한 기초/기본 질문보다는 이력서의 내용들과 함께 “왜” 라는 질문을 많이 하시는 것 같아요.
그 중에 제일 생각나는 질문이 Next.js를 왜 사용했는가 였습니다.
프로젝트 세팅 당시 저는 결정권이 없었지만, 그래도 그렇게 대답할 수 없어서 "React Native기반의 모바일 서비스내에 얹어지는 웹뷰 서비스라서 SSR을 사용하면 렌더링 속도가 빨라 사용자 경험이 좋아질 것 같습니다"라고 답했습니다.
제가 아는 Next.js의 장점을 줄줄 이야기했습니다.
"사용하신 이유가 그 이유밖에 없을까요?”
”그냥 SPA 로 만들었어도 될 것같은데요?“
라는 질문이 이어지자 순간 당황했죠.
당황해서 “파일 시스템 기반 라우팅을 제공하고, 라우트 설정이 간단하며 코드 구조가 직관적이기 때문에 사용하였습니다.”라고 대답했지만, 원하시는 대답 같지는 않았습니다.
그 순간 마음속은… 정말 빨리 면접실을 나가고 싶은 생각뿐이었어요. 😅
그래서 면접 이후, 답을 찾기 위해 이렇게 글을 쓰게 되었답니다.
고민해보고 찾아 보고 나서 결론을 먼저 말한다면,
아마도 면접에서 원하시는 답변은 Next.js를 얼마나 잘 알고있고 다른 프레임워크나 라이브러리와 비교하여 어떤 이점때문에 사용하였는가의 답변이지 않았을까 라는 생각이 들었습니다. 단순히 제가 답변한 것은 어디에나 나와있는 Next.js의 장점과 특징이였으니까요. 본인이 개발할 서비스를 얼마나 잘이해하고 있고, 여러 라이브러리와 프레임워크의 특징을 알고 그걸 적절히 사용하였는가 이게 질문이 핵심이지 않았을까라고 뒤늦게 생각해보았습니다.
만약 다시 면접 상황으로 돌아간다면, 저는 여전히 Next.js를 선택했을 것이라고 말할것 같습니다.
하지만 이번에는 이유를 조금 더 보강해서 아래와 같이 답변할 것같아요.
“저희 서비스가 모바일 환경이어서, 사용자들이 빠른 페이지 로딩을 기대한다고 생각했습니다.
그래서 Next.js의 SSR(Server-Side Rendering)을 활용해 초기 렌더링 속도를 개선했습니다.
또한 이미지가 많은 서비스라, next/image의 lazy loading과 자동 최적화 기능으로 로딩 성능을 높일 수 있었습니다.
페이지 전환 속도를 위해 Next.js의 Link prefetch 기능을 활용하여 자연스러운 탐색 경험을 제공했습니다.
서비스에 다양한 카테고리 페이지가 있었기 때문에, 파일 기반 라우팅과 코드 스플리팅으로 구조를 깔끔하게 관리할 수 있었습니다.
결론적으로, Next.js는 사용자 경험과 프로젝트 요구사항, 개발 효율성을 동시에 해결할 수 있는 선택이었습니다.”
* 코드 스플리팅: 웹 애플리케이션의 코드를 여러 개의 작은 조각(청크)으로 나누는 기술. Next.js는 페이지별로 코드를 분리하여 초기 로딩 시 불필요한 코드를 다운로드하지 않도록 합니다.
* Lazy Loading: 필요한 시점에 코드를 불러오는 방식. Next.js의 next/dynamic을 사용해 초기 페이지 로딩 시 필요하지 않은 컴포넌트를 나중에 불러옴으로써 초기 번들 크기를 줄입니다.
* Link Prefetch: Next.js의 Link 컴포넌트가 뷰포트에 나타나면, 연결된 페이지의 코드를 미리 다운로드하는 기능. 사용자가 실제로 링크를 클릭하기 전에 다음 페이지를 미리 준비하여 페이지 전환 속도를 매우 빠르게 만듭니다.
그리고 아래는 제가 고민한 왜 사용했는가? 이 질문의 의도를 똑같이 고민하고 면접 때 질문해보신 분들의 경험에 대한 영상과 함께 조금 요약햐보았습니다. ✍️
저처럼 면접 답변 준비나 Next.js 사용 이유에 대해 고민하시는 분들께도 도움이 될 것 같아요 💡
시간 나실 때 한번 보시면 좋겠습니다 👀✨
🔎 Next.js, 꼭 써야 할까?
아래는 우선 토스에서 본 영상을 보고 요약해보았습니다.
핵심 요약
- 프레임워크 선택은 서비스 성격에 따라 달라집니다.
- 토스는 Next.js를 사용하며, 모바일에서 SSR(Server-Side Rendering)을 활용해 여러 장점을 얻습니다.
- SSR을 성숙하게 구현하는 프레임워크가 많지 않아 Next.js를 선택했다고 합니다.
- Link preload, 이미지 최적화 등 Next.js가 제공하는 기능으로 서비스 문제를 효율적으로 해결 가능
- 프레임워크의 이점을 이해하지 못하면, 굳이 사용하지 않고 나중에 필요할 때 도입하는 것도 방법
💡 Redux 비유: 필요성을 느끼지 못하면 안 써도 됨. “안경과 같다.”
프레임워크 선택 비유
“지금 내가 가야 하는 목적지와 거리에 따라 걸어갈지, 택시를 탈지, 대중교통을 이용할지 결정하는 것과 같다.
문제를 정확히 이해하고, 프레임워크가 이를 잘 해결하는지 확인한 후 선택해야 한다.”
즉, 상황과 문제를 이해한 뒤 합리적인 선택을 해야 한다는 메시지였습니다.
영상 링크: Next.js 그만 쓰세요 🎥
🛠 단순 “써봤다”는 답은 부족하다
면접관이 진짜 보고 싶은 것은 문제 해결력입니다.
- 단순히 “Next.js를 써봤다”, “TypeScript를 사용했다”는 경험은 점수에 큰 영향을 주지 않습니다.
- 중요한 것은 왜 사용했는지, 어떤 문제를 해결하기 위해 선택했는지입니다.
예시: React Query
- 단순 HTTP fetching 용도로 쓴다면 감점 요인
- 서버 상태 관리, 캐싱, 선언적 API 관리 등 문제 해결 의도가 보여야 점수 반영
❌ “우리 팀에서 React Query 쓰기로 해서 사용했다” → 오답
✅ 한 명의 전문가로서 의사결정을 내릴 수 있는 역량을 보여주는 것이 핵심
📝 면접관이 보는 것
- PR(Pull Request)와 코드 위주 평가
- 커밋 메시지, PR 설명 디스크립션
- 코드 합리성, 피드백 수용 능력, 문제 의식 표현
- 라이브러리 사용 이유, 설계 결정의 맥락
예: “왜 이렇게 좁은 인터페이스로 설계했나요?”
즉, 단순 사용이 아닌 설계/선택 과정과 이유가 면접의 핵심 포인트입니다.
영상 링크: Next.js 면접에서 정말 중요한 것 🎥
'개발 로그 > 오늘의 개발읽기' 카테고리의 다른 글
| [개발읽기 vol.6] 오픈소스 기여 방법 완벽 가이드 | 주니어·시니어 개발자가 얻는 이점 (0) | 2025.09.09 |
|---|---|
| [개발읽기 vol.5] 2025년 리액트 상태관리 가이드: Redux, Recoil, Zustand, Jotai, MobX 비교 (2) | 2025.09.08 |
| [개발읽기 vol.3] 프론트엔드 성능 최적화 1편: 성능 최적화란 무엇인가? (2) | 2025.09.02 |
| [개발읽기 vol.2] 개발자 필수 스킬, AI 코딩 활용 가이드 (1) | 2025.09.01 |
| [개발읽기 vol.1] 개발자 회사 생활 필수 용어 모음 (2) | 2025.09.01 |