PracHub
QuestionsCoachesLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Chime

Design browser history across tabs

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's ability to design stateful data structures and manage per-tab navigation history, testing competencies in data structures, algorithmic complexity analysis, and system modeling.

  • medium
  • Chime
  • Software Engineering Fundamentals
  • Backend Engineer

Design browser history across tabs

Company: Chime

Role: Backend Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Technical Screen

Design a browser-history component. Start with a single tab and support these operations: - `visit(url)`: navigate to a new URL from the current page. If the user had gone back earlier, all forward history for that tab is discarded. - `back(steps)`: move backward up to `steps` pages and return the current URL. - `forward(steps)`: move forward up to `steps` pages and return the current URL. - `haveVisited(url)`: return whether this URL has been visited before. Follow-up: 1. Explain how you would support multiple tabs, where each tab has its own independent back/forward state. 2. Explain how to answer whether a URL has been visited in any tab. 3. Discuss the main data structures, edge cases, and time/space complexity.

Quick Answer: This question evaluates a candidate's ability to design stateful data structures and manage per-tab navigation history, testing competencies in data structures, algorithmic complexity analysis, and system modeling.

Related Interview Questions

  • Explain sync/async, Go concurrency, SQL vs NoSQL - Chime (easy)
|Home/Software Engineering Fundamentals/Chime

Design browser history across tabs

Chime logo
Chime
Feb 26, 2026, 12:00 AM
mediumBackend EngineerTechnical ScreenSoftware Engineering Fundamentals
3
0
Loading...

Design a browser-history component.

Start with a single tab and support these operations:

  • visit(url) : navigate to a new URL from the current page. If the user had gone back earlier, all forward history for that tab is discarded.
  • back(steps) : move backward up to steps pages and return the current URL.
  • forward(steps) : move forward up to steps pages and return the current URL.
  • haveVisited(url) : return whether this URL has been visited before.

Follow-up:

  1. Explain how you would support multiple tabs, where each tab has its own independent back/forward state.
  2. Explain how to answer whether a URL has been visited in any tab.
  3. Discuss the main data structures, edge cases, and time/space complexity.
Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Chime•More Backend Engineer•Chime Backend Engineer•Chime Software Engineering Fundamentals•Backend Engineer Software Engineering Fundamentals

Write your answer

Your first approved answer each day earns 20 XP.

Sign in to write your answer.
PracHub

Master your tech interviews with 8,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • AI Coding Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.