Chime Software Engineer Interview: Tackling a Challenging Browser History Design

chime | Software Engineer | Interview Experience

Interview Date: Not specified
Result: Not specified
Difficulty: Not specified

Interview Process

The interview process began with an HR call that discussed the possibility of facing either an SDE2 or senior level interview, ultimately suggesting an SDE2 level. The interviewer indicated that the candidate’s performance was good, which set expectations for the interview difficulty. The questions asked during the interview were classic interview questions.

Technical Questions

  • Design a simplified browser history system
    Operations to implement:

    • visit(url: string): Visit a new URL from the current page, clearing all forward history.
    • back(steps: int) -> string: Move backward in history by up to steps, returning the current page after moving back.
    • forward(steps: int) -> string: Move forward in history by up to steps, returning the current page after moving forward.

    Additional requirements:

    • Implement a class BrowserHistory that initializes with a homepage and supports the above methods.
    • Bonus 1: Write a boolean hasVisited to determine if the URL has been visited.
    • Bonus 2: Handle multi-tab functionality.

Tips & Insights

The overall experience was very positive, with the interviewer being kind and supportive. The candidate received prompt notification about the next round.