자료구조를 외운 수준인지, 입력(이동/뒤로/앞으로)과 상태(현재 페이지·두 스택)를 분리해서 전이 규칙으로 설명할 수 있는지를 가른다. 경계 처리와 forwardStack 초기화 시점을 묻는 꼬리 질문으로 깊이를 확인한다.
핵심은 현재 페이지를 가운데 두고 양쪽에 스택을 두는 것이다. 새 페이지로 이동하면 현재를 backStack에 넣고 새 페이지를 현재로 만들며 forwardStack은 비운다. 뒤로가기는 현재를 forwardStack에 넣고 backStack top을 꺼내 현재로 올린다. 앞으로가기는 그 반대로 forwardStack top을 꺼내 현재로 올리고 기존 현재를 backStack에 쌓는다. 이 세 가지 전이만 일관되게 지키면 브라우저 히스토리와 같은 동작이 나온다.
라우터에서 뒤로가기 후 새 페이지로 이동했을 때 forwardStack이 살아남아 이상한 앞으로가기가 된 버그를 잡아본 경험이 있다면, 초기화 규칙의 중요성과 연결할 수 있다
에디터에서 undo/redo를 두 스택으로 직접 만들어 본 경험이 있다면, 같은 전이 모델을 브라우저 히스토리 설계로 옮겨 설명하면 깊이가 드러난다
모달·스텝 폼에서 뒤로가기 동작을 URL 없이 자체 정의해본 경험이 있다면, 브라우저 뒤로가기와 앱 내 뒤로가기의 의미 차이를 답변에 녹일 수 있다
딥링크로 진입한 사용자의 backStack 초기 상태를 어떻게 채울지 결정해본 경험이 있다면, 스택 초기화 설계 이야기로 풀 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.