JavaScript 리드·아키텍트 프레임워크 면접

JavaScript 리드 · 아키텍트 (10년+) 프레임워크 3문항 조회수 63 · 2026-09-11 (금) 02:10:58
1 프레임워크 아키텍처
Hard

Q. 대규모 조직에서 React, Vue, Angular 등 여러 프론트엔드 프레임워크가 혼재된 레거시 상황입니다. 단일 프레임워크로 통일하지 않고 Micro Frontend 아키텍처를 도입하려고 합니다. Module Federation, Single-SPA, iframe 기반 접근 방식을 비교하고, 각 방식의 번들 공유, 라우팅 통합, 상태 공유, 배포 독립성 측면에서 트레이드오프를 분석해주세요. 특히 조직의 팀 자율성과 기술 부채 관리 관점에서 어떤 전략을 선택할지 설명해주세요.

각 방식이 런타임 통합인지 빌드타임 통합인지, 그리고 팀 간 의존성을 어떻게 관리하는지 중심으로 생각해보세요.

A. 모범답안

Module Federation은 Webpack 5 기반으로 런타임에 모듈을 동적으로 로드하며, 공통 의존성을 자동으로 공유해 번들 크기를 최적화할 수 있지만 Webpack에 종속됩니다. Single-SPA는 프레임워크 중립적이고 생명주기 관리가 명확하지만, 공통 의존성 관리를 수동으로 해야 하며 버전 충돌 위험이 있습니다. iframe 방식은 완전한 격리를 제공해 기술 스택 독립성이 가장 높지만, 성능 오버헤드와 UX 일관성 문제가 있습니다. 조직 관점에서는 팀 자율성을 최대화하려면 Single-SPA나 Module Federation을 선택하되, 공통 디자인 시스템과 shared library 거버넌스를 확립해야 합니다. 기술 부채 관리를 위해 각 마이크로 앱의 번들 크기, 로딩 시간, 의존성 버전을 모니터링하는 중앙 대시보드를 구축하고, 점진적 마이그레이션 로드맵과 함께 레거시 제거 일정을 명확히 해야 합니다.

핵심 포인트
  • • Module Federation은 런타임 모듈 공유로 번들 최적화가 가능하지만 Webpack 종속성이 있음
  • • Single-SPA는 프레임워크 중립적이지만 의존성 관리를 수동으로 해야 함
  • • 조직 거버넌스와 공통 라이브러리 관리 전략이 성공의 핵심
  • • 중앙 모니터링과 점진적 마이그레이션 로드맵 필수
답변에 넣으면 좋은 키워드
Module Federation Single-SPA Micro Frontend 런타임 통합 의존성 공유 팀 자율성 거버넌스
실무에서는

대규모 이커머스나 금융 플랫폼에서 여러 팀이 독립적으로 기능을 개발하면서도 통합된 사용자 경험을 제공해야 할 때 사용됩니다.

Follow-up 질문

Micro Frontend 환경에서 여러 팀이 서로 다른 버전의 React를 사용할 때 발생하는 문제와 해결 방안은 무엇인가요?

2 프레임워크 성능 최적화
Hard

Q. Next.js, Nuxt, Remix 등 현대적인 메타 프레임워크들이 제공하는 SSR, SSG, ISR 렌더링 전략의 내부 동작 원리를 비교하고, 각 전략의 Hydration 과정에서 발생하는 성능 병목을 설명해주세요. 특히 대규모 트래픽 환경에서 서버 리소스 비용, CDN 캐싱 효율성, Time to Interactive 최적화 측면에서 어떤 전략을 선택해야 하는지, 그리고 Streaming SSR과 Selective Hydration 같은 최신 기법이 어떻게 이러한 문제를 해결하는지 설명해주세요.

각 렌더링 전략이 서버와 클라이언트에서 언제 실행되는지, 그리고 Hydration mismatch가 왜 발생하는지 중심으로 생각해보세요.

A. 모범답안

SSR은 요청마다 서버에서 HTML을 생성해 TTFB가 느리지만 항상 최신 데이터를 제공하며, Hydration 시 서버와 클라이언트 상태 불일치로 성능 저하가 발생할 수 있습니다. SSG는 빌드 타임에 HTML을 생성해 CDN 캐싱으로 TTFB가 빠르지만 동적 데이터에 부적합하며, ISR은 주기적 재생성으로 절충안을 제공하지만 stale 데이터 허용 범위를 정의해야 합니다. 대규모 트래픽에서는 SSG/ISR로 서버 비용을 절감하고 CDN 히트율을 높이되, 개인화가 필요한 부분만 클라이언트에서 fetch하는 하이브리드 전략이 효과적입니다. Streaming SSR은 React 18의 Suspense를 활용해 컴포넌트별로 점진적으로 HTML을 전송해 TTFB를 개선하고, Selective Hydration은 사용자 인터랙션 우선순위에 따라 필요한 컴포넌트만 hydrate해 TTI를 단축합니다. 아키텍처 결정 시 콘텐츠 변경 빈도, 개인화 수준, 트래픽 패턴을 분석해 페이지별로 다른 전략을 적용하는 것이 중요합니다.

핵심 포인트
  • • SSR은 최신 데이터 보장, SSG는 성능 우수, ISR은 둘의 절충안
  • • Hydration mismatch와 성능 병목이 주요 이슈
  • • Streaming SSR과 Selective Hydration으로 TTFB와 TTI 개선 가능
  • • 페이지별 특성에 따라 하이브리드 전략 적용 필요
답변에 넣으면 좋은 키워드
SSR SSG ISR Hydration Streaming SSR Selective Hydration TTFB TTI
실무에서는

뉴스 사이트, 이커머스 상품 페이지, 대시보드 등 다양한 특성의 페이지를 가진 서비스에서 최적의 렌더링 전략을 선택할 때 사용됩니다.

Follow-up 질문

React Server Components가 기존 SSR과 어떻게 다르며, 어떤 상황에서 도입을 고려해야 하나요?

3 프레임워크 상태 관리
Hard

Q. Redux, MobX, Zustand, Jotai, Recoil 등 다양한 상태 관리 라이브러리가 존재합니다. 각 라이브러리의 상태 업데이트 메커니즘과 렌더링 최적화 전략을 비교하고, 불변성 기반 접근과 반응형 프록시 기반 접근의 근본적인 차이를 설명해주세요. 대규모 엔터프라이즈 애플리케이션에서 상태 관리 라이브러리를 선택할 때 고려해야 할 기준과, 여러 라이브러리가 혼재된 상황에서 점진적으로 마이그레이션하는 전략을 제시해주세요.

각 라이브러리가 상태 변경을 감지하고 컴포넌트 리렌더링을 트리거하는 방식의 차이를 중심으로 생각해보세요.

A. 모범답안

Redux는 불변성 기반으로 상태를 교체하며 selector를 통한 명시적 구독으로 렌더링을 제어하지만, 보일러플레이트가 많고 학습 곡선이 높습니다. MobX는 Proxy 기반 반응형 시스템으로 자동 의존성 추적과 세밀한 렌더링 최적화가 가능하지만, 암묵적 동작으로 디버깅이 어렵습니다. Zustand와 Jotai는 경량화된 접근으로 간단한 API를 제공하며, Recoil은 atom 단위 구독으로 컴포넌트 간 의존성을 최소화합니다. 엔터프라이즈 환경에서는 팀 규모, 상태 복잡도, DevTools 요구사항, TypeScript 지원, 미들웨어 생태계를 고려해야 하며, Redux Toolkit으로 보일러플레이트를 줄인 Redux가 여전히 예측 가능성과 디버깅 측면에서 강점이 있습니다. 마이그레이션 시에는 새 기능부터 신규 라이브러리를 적용하고, 기존 상태를 점진적으로 이관하되, 두 시스템 간 동기화 레이어를 만들어 일관성을 유지하며, 성능 모니터링으로 렌더링 횟수와 번들 크기 변화를 추적해야 합니다.

핵심 포인트
  • • 불변성 기반(Redux)은 예측 가능하지만 보일러플레이트가 많고, 반응형(MobX)은 편리하지만 암묵적
  • • Atom 기반 라이브러리(Jotai, Recoil)는 세밀한 구독으로 렌더링 최적화
  • • 엔터프라이즈에서는 예측 가능성, DevTools, 생태계가 중요한 선택 기준
  • • 마이그레이션은 점진적으로 진행하며 동기화 레이어와 모니터링 필수
답변에 넣으면 좋은 키워드
Redux MobX Zustand Recoil 불변성 반응형 프로그래밍 렌더링 최적화 상태 관리
실무에서는

복잡한 비즈니스 로직과 대량의 상태를 관리하는 대시보드, CRM, ERP 시스템에서 적절한 상태 관리 전략을 수립할 때 사용됩니다.

Follow-up 질문

Server State와 Client State를 분리하는 것이 왜 중요하며, React Query나 SWR 같은 라이브러리를 어떻게 활용할 수 있나요?

댓글 0

로그인 후 댓글을 작성할 수 있습니다.

아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!