Rippling | SWE II | Phone Screen + VO
Anonymous User
9390

I recently gave an interview with Rippling for one of their SWE 2 roles (US) and wanted to share my experience.

YOE: 1
Role: Full Stack with Frontend focus
I applied via referral

Recruiter chat: fairly general, standard screen, was moved along to next round which was technical phone screen

TPS -> strong hire: this is a known Rippling question, it was implement key-value store with some followups, you can find it in other Rippling-tagged leetcode discuss posts. Wanted to share some tips for this round since it is deceptively easy but gets tricky as you iterate on it. Looks like tons of candidiates failed this round even if they had a working solution. Writing some tips that helped me pass this round:

  • implement the get(), set(), delete() endpoints with scalability and part 2 in mind. That way implementing part 2 of begin(), rollback(), commit() endpoints is possible. If you use the wrong DS for part 1, part 2 becomes very hard and you will need to rewrite part 1.
  • To pass SWE 2 at Rippling for this stage requires you to only solve 2 parts of the followups, but it appears that I passed since my code also handles the third part of the followup, which was support multi-threaded operations and nested transactions, which is a requirement for senior candidates. I recommend non-senior candidates also have their code supporting this use case as market is very competitve.

HM calls, yes plural: I actually had 2 HM calls and I believe my case was quite unique. I initially applied for a Full Stack BE focused role, and a day before my scheduled HM call, my interviewer was changed. I thought nothing of this but it turns out the role I initially applied for was filled, so recruiter changed my interviewer for a pure BE role w/o informing me.

  • HM #1 -> no hire: Recruiter prepared me for a standard behavioral HM interview, but instead my HM interview was 45 minutes of me going into heavy detail, system design style, whiteboard style, basically just me yapping about a project I architected in the past. I was told I failed this round. After speaking to the recruiter and saying on what grounds was I rejected the recruiter said I met the "global hiring bar" for HM but failed the team matching. Recruiter apologized for not informing me that the initial role was filled and that the way that HM interviewed me was simply their "style" of filtering out candidates. After some persuasion, I was then scheduled for another HM interview for a different team, this one being a Full Stack FE role.
  • HM #2 -> strong hire: typical HM round, asked to do a project deep dive, my career aspirations, etc. I passed this round and went to VO

VO: 3 rounds, 1 system design, 1 leetcode, 1 web fundamenatals

web fundamenatals -> no hire: given a schema that you need to fill out, design a form component in React. This an interview question I haven't seen on leetcode discuss. React code and boilerplate is provided, and given something like age,name,email from your data schema you need to be able to create a simple react form for this. User input should be stored in schema onSubmit as well. This was probably my worst round as I've maybe 6 months of experience with React and am generally more of a BE person. I had a working solution at the end but the way I got there was not great since I required lots of hints. Tips for this round:

  • use https://www.greatfrontend.com/ as practice. There aren't tons of prep for React interviews out there but this is basically leetcde for React and one of the better ones I've seen out there

leetcode BE tech screen -> hire: This was also a commonly known asked interview, it was currency conversion. Interviewer was ex-{insert FAANG tier company} and that was their entire personality. The bar to pass clearly felt that of {insert FAANG tier company} and less like Rippling. Originally the question was key-value store. Immeditatly I told the interviewer I've seen this question before and they gave me currency conversion. If this happens to you, ask for a new question, Rippling can and will reject if you re-attempt the same question on the basis of integrity. Interviewer made it painfully obvious they have probably not prepped to give currency conversion question, so I was only able to code 20 minutes into the interview. Quickly wrote down the code and and passed test cases. I know the follow up for currency conversion is how to maximize rate, yet we never reached this part. Instead interviewer asked for space and time complexity which I wrote down correctly. I was then asked what data structures would be used to handle this if we were to scale this to millions of users (lol how about we don't do that), how to handle race conditions, how to implement this on a real life applicatiom, etc. Given interviwer was ex-{insert FAANG tier company} I sensed they were waiting to see until I would break. Eventually we ran out of time. Tips for this round:

  • It appears that sometimes Rippling will give you the same question as you had in previous rounds. You must quickly inform them that you've seen this question before or else you will most likely get rejected. Perhaps this is some sort of integreity test, idk.
  • If interviower leads with "I am ex-{insert FAANG tier company}, they will probably quiz you on that bar, not Rippling's bar. This happened to me twice with this company which is why I think it's worthy of a mention. I think I only passed this round since I mentioned how you can modify the implementation to take advantage of an arbitrage, which appeared to be the extent of the interviwer's finance knowledge and they stopped quizzing me after that.

FE system design -> no hire: FE system design in question was to design unsplash.com. Full transparency this was my first FE system design interview so my prep work was basically that of zero to hero. IMO asking FE system design at this SWE level is silly but that's neither here nor there. Requirements were to do system design of the search bar, display of the pictures, filtering and sorting by certain tags, and download picture. Wrote down what these API endpoints should look like, what the React components would look like, touched on pagination, MVC design pattern, drew out what UI would look like, and how to optimize rendering and performance. Thought I did well but failed this round. Feedback was that my knowledge of FE was good and close to the hiring bar but not quite there yet. Some tips I would like to share as FE system design looks very different from BE and Rippling's structure follows closely to that of some online resources I found:

  • use the RADIO framework to frame your thoughts. This is the exact framework Rippling requires you to follow for this round, not much room for creativity I fear. This video highlights it the best and is probably what scored me the most points with the interviwer.
  • for how to design API model, data model, UI, this resource was the best and closely follows what Rippling wants
  • spend most of the time on optimization and performance, this was probably my biggest mistake as we ran out of time towards the end and this section is the last in the RADIO framework

Ultimately it appears that the bar at Rippling is almost the same across all SWE levels and they reuse the same questions for all levels as well. The hiring bar is set quite high too. Probably would have passed if I interviewed for a BE role instead of a FE one as I've hardly any FE experience. I haven't seen a lot of FE focused discussion posts on here and I hope this information helps others out there. I hope my interview experience and tips will help others will small amount of YOE pass such rounds. 2024 market is rough and I wish everyone best of luck!

Comments (6)