Rippling Software Engineer Interview Experience — A Poker OOD Question I Didn't Practice For

Company: Rippling

Role: Software Engineer

Round: Technical Screen

Seniority: General

Just finished a fresh Rippling phone screen, so let me write it up while it's still fresh. The question was an OOD problem based on a poker game — I pasted the full prompt below. Going into this interview I mainly grinded Delivery Cost System and Expense Rules System OOD. I did see this Poker question when I was collecting interview reports beforehand, but I only skimmed through the approach once and never actually reimplemented it myself, since not many people mentioned it — I figured the odds of getting it were low. Of course, this is the one I got. The whole phone screen was an hour. The intro part at the front took maybe 10-15 minutes, and there was a 5-10 minute Q&A at the end, so I really only had about 40 minutes to write code. Since I hadn't specifically prepped this one, and this was also the first interview of this job search round, I was pretty nervous and didn't manage my pace well — I wrote slowly and kept going back and forth changing things, so I never got to Part 2 in the end. There should be three parts total, and based on what previous candidates reported, you need to finish Part 2 to have any chance of moving forward, so I'm probably done for on this one. Bottom line: when prepping, you really do need to simulate the actual interview environment and time pressure as much as possible, and time yourself writing out every question you've collected from interview reports. Good luck everyone. ``` Let's build a card game called Camel Cards, a simplified version of Poker. In Camel Cards, there are two players, each with a hand, and your goal is to determine which player has the stronger hand. Each hand consists of four cards. Cards are ordered and labeled with one of: 9, 8, 7, 6, 5, 4, 3, 2, 1 (9 is the highest, 1 is the lowest) Each hand is classified into exactly one hand type. From strongest to weakest, the hand types are: - Four of a kind – all four cards the same (e.g., 9999) - Two pair – two cards the same + two cards the same (e.g., 2332) - Three of a kind – three cards the same + one different card (e.g., 9998) - One pair – two cards the same + two distinct others (e.g., 5233) - High card – all cards distinct (e.g., 2345) In the future, we will introduce many more hand types, so design your solution to make it easy to add more hand types. Ordering Rules: Hands are primarily ordered by type (e.g., any two pair beats any three of a kind). If two hands have the same type, compare card-by-card from most recently dealt to first dealt [right to left]. You should not sort the cards. The first higher card wins. If cards are equal, continue to the left. If all are equal, it's a tie. Task: Implement the function: * `evaluate(hand1 [string], hand2 [string])` - Returns "HAND_1" if hand1 wins, "HAND_2" if hand2 wins, or "TIE" if the result is a tie. We want to see good OOP practices. Example hands: 2332, 2442 You may look up syntax using a search engine. ```

Rippling Software Engineer Interview Experience — A Poker OOD Question I Didn't Practice For

Rippling·Software Engineer·Jan 2026
Technical Screenmedium

Just finished a fresh Rippling phone screen, so let me write it up while it's still fresh. The question was an OOD problem based on a poker game — I pasted the full prompt below. Going into this interview I mainly grinded Delivery Cost System and Expense Rules System OOD. I did see this Poker question when I was collecting interview reports beforehand, but I only skimmed through the approach once and never actually reimplemented it myself, since not many people mentioned it — I figured the odds of getting it were low. Of course, this is the one I got.

The whole phone screen was an hour. The intro part at the front took maybe 10-15 minutes, and there was a 5-10 minute Q&A at the end, so I really only had about 40 minutes to write code. Since I hadn't specifically prepped this one, and this was also the first interview of this job search round, I was pretty nervous and didn't manage my pace well — I wrote slowly and kept going back and forth changing things, so I never got to Part 2 in the end. There should be three parts total, and based on what previous candidates reported, you need to finish Part 2 to have any chance of moving forward, so I'm probably done for on this one.

Bottom line: when prepping, you really do need to simulate the actual interview environment and time pressure as much as possible, and time yourself writing out every question you've collected from interview reports. Good luck everyone.

Let's build a card game called Camel Cards, a simplified version of Poker.
In Camel Cards, there are two players, each with a hand, and your goal is to determine which player has the stronger hand.
Each hand consists of four cards.
Cards are ordered and labeled with one of:
9, 8, 7, 6, 5, 4, 3, 2, 1
(9 is the highest, 1 is the lowest)
Each hand is classified into exactly one hand type. From strongest to weakest, the hand types are:
- Four of a kind – all four cards the same (e.g., 9999)
- Two pair – two cards the same + two cards the same (e.g., 2332)
- Three of a kind – three cards the same + one different card (e.g., 9998)
- One pair – two cards the same + two distinct others (e.g., 5233)
- High card – all cards distinct (e.g., 2345)
In the future, we will introduce many more hand types, so design your solution to make it easy to add more hand types.

Ordering Rules:
Hands are primarily ordered by type (e.g., any two pair beats any three of a kind).
If two hands have the same type, compare card-by-card from most recently dealt to first dealt [right to left]. You should not sort the cards.
The first higher card wins.
If cards are equal, continue to the left.
If all are equal, it's a tie.

Task:
Implement the function:
* `evaluate(hand1 [string], hand2 [string])`
- Returns "HAND_1" if hand1 wins, "HAND_2" if hand2 wins, or "TIE" if the result is a tie.
We want to see good OOP practices.

Example hands: 2332, 2442
You may look up syntax using a search engine.
Curated and edited by PracHub

Practice the questions from this interview

Rippling Software Engineer Interview Experience — A Poker OOD Question I Didn't Practice For | Rippling Interview Experience