1p3a Experience · Feb 2026

Rippling Senior Software Engineer Interview Round 1 Voting System

SWE Phone Screen Senior

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

Free preview. Unlock all questions →

Topics

Strings