Rippling Senior Software Engineer Interview Round 1 Voting System
Interview Experience
First Round (filter) for SSE at #Rippling. Rippling provides use of AI(optional). So I told interviewer that
I will not use AI tools. I was expected to solve three parts of the below question bu
Full Details
First Round (filter) for SSE at #Rippling. Rippling provides use of AI(optional). So I told interviewer that
I will not use AI tools. I was expected to solve three parts of the below question but was only able to solve 2 parts. Still was able to clear the interview. You are building a voting system for articles.
Part 1 The system supports adding articles, and users can vote on them using upvote or downvote. A user may change their vote on the same article later. A vote flip is defined as: - user previously upvoted an article, and later downvotes it OR - user previously downvoted an article, and later upvotes it You need to support the following requirements: - For each user, store their latest vote for every article they have voted on. - For each user,
return the last 3 unique articles where the user performed a vote flip. “Unique” means the same article should not appear multiple times in the last 3 results. The order should reflect recency (most recent flips last or first — interviewer usually expects most recent first).
Additional constraints: Articles are created with increasing integer IDs (starting from 1). Assume all articleIds
passed into vote methods are valid. Required APIs: - addArticle(String articleName) - upvote(userId, articleId) - downvote(userId, articleId) - last3Flips(userId)
Part 2 Extend the system to provide analytics: - For all articles,
return them sorted in descending order of score, where: score = (#upvotes - #downvotes) - For every user,
return: the last article they voted on #Rippling #SSE
About This Question
This is a candidate experience report from a rippling interview for a swe role (senior level) during the phone screen round reported in 2026.
It covers the following topics: Strings .