A
약 75초
경험 중심 1인칭 답변
알림함 프론트엔드를 설계할 때 제가 가장 먼저 고려하는 것은 실시간성과 읽음 상태 동기화입니다. 알림은 여러 기기나 탭에서 동시에 접근할 수 있기 때문에, WebSocket이나 SSE를 통한 실시간 푸시를 기본으로 하고, 연결이 끊어졌을 때 폴링 폴백을 설계합니다. 읽음 처리는 서버 상태와 로컬 UI 상태를 낙관적 업데이트(Optimistic Update)로 동기화해 UX 지연을 없애되, 실패 시 롤백합니다. 목록 렌더링에서는 무한 스크롤과 가상화(windowing)를 적용해 수백 건 이상의 알림도 성능 저하 없이 표시합니다. 또한 알림 유형(타입)별 아이콘·색상·액션 라우팅을 컴포넌트 단위로 분리해 새로운 알림 유형 추가 시 변경 범위를 최소화하는 구조를 선호합니다. 앞으로도 실시간 동기화·낙관적 업데이트·알림 유형 컴포넌트 분리를 알림 시스템 설계의 기본 축으로 다루겠습니다.
연결 장애 시 폴백 구조를 미리 설계하는 것이 실서비스 안정성을 결정합니다.
이 결의 특징
실시간성·읽음 상태 동기화를 핵심 요구사항으로 두고 WebSocket·폴링·낙관적 업데이트를 계층별로 배치한 것이 특징입니다. 성능 최적화까지 고려한 수직적 설계입니다.
이 결이 통하는 자리
대규모 실시간 서비스·핀테크·메시징 플랫폼에서 통합니다. 프론트엔드 아키텍처를 깊이 있게 설계하고 구현해본 경험을 검증하려는 엔지니어링팀에서 가중치가 높습니다.