← Back to Directory

SoFi interview notes, page 3 of 7

Large Enterprises

Most of these SoFi write-ups come from Software Engineers (52), then Frontend Engineers (5) and Data Scientists (4). The most reported rounds are the technical phone screen (37), the system design round (11), the behavioral / leadership round (9) and the hiring manager screen (3).

61 interview notes · updated Jul 2026

SoFi·Software Engineer·Technical Phone Screen

May 2026
SoFi software engineer coding round with two parts: a bug-finding exercise followed by an implementation problem. Nothing too brutal, but I managed to trip myself up on something pretty basic.
  • Given a log of license plate events on an east-west highway (each plate can appear as entry, road, or exit), implement a function to count the total number of complete trips, where a trip is defined as a plate going through entry, then road, then exit.

“The logic itself isn't hard.”

View Post

SoFi·Software Engineer·Technical Phone Screen

May 2026
Short conceptual JavaScript section at SoFi for a full-stack role. Just ten minutes but they pushed hard on one question and wanted more than one answer out of you.
  • What are the problems with using callbacks in JavaScript?

“They didn't just want one answer and move on.”

View Post

SoFi·Software Engineer·Technical Phone Screen

May 2026
SoFi software engineer interview with a coding problem that looked manageable until I actually had to think about the efficient path. The question was well-designed and I can see why they use it.
  • Given two sorted integer arrays and a number K, find the K-th largest unique integer across both arrays combined. Duplicates within or across arrays count as a single value. You should aim for an efficient solution that takes advantage of the sorted order rather than merging and re-sorting.

“My first instinct was to dump everything into a set and sort descending, which works but they pushed back immediately asking if I could do better given the inputs are already sorted.”

View Post

SoFi·Software Engineer·Technical Phone Screen

May 2026
Coding screen for a Software Engineer role at SoFi. The main problem was a matrix search question and they also wanted you to think through edge cases and write test cases on the spot, which I wasn't fully expecting.
  • Given a 2D matrix where each row is sorted in strictly increasing order, find the smallest integer that appears in every row. Return -1 if no such integer exists.

“The example they gave made it pretty obvious the answer was 5 since it showed up in all four rows.”

View Post

SoFi·Software Engineer·Technical Phone Screen

May 2026
Technical phone screen at SoFi for a software engineer role. The question was pretty deep for a phone screen, basically a full conceptual breakdown of how lock files work in the JS ecosystem. Not a coding question, more of a "do you actually understand your tooling" kind of thing.
  • What is the purpose of lock files like yarn.lock or package-lock.json, and what problems do they solve?

“This question is wider than it looks.”

View Post

SoFi·Software Engineer·Technical Phone Screen

May 2026
SoFi full-stack screen with a pretty involved coding problem centered on probability and simulation. Not your typical LeetCode grind, which threw me off a bit.
  • Given a run-tracking system with Run and RunCollection classes for an obstacle course, implement a function that uses Monte Carlo simulation (10,000 trials) to estimate the probability that an in-progress run will finish at or below the current personal best. Each trial should fill in the remaining obstacles by randomly sampling from historical run data, then compare the simulated total against the personal best.

“I knew what Monte Carlo meant in theory but had never actually coded one under pressure.”

View Post

SoFi·Software Engineer·Technical Phone Screen

May 2026
Technical phone screen at SoFi for a software engineer role. One question, pretty focused on JavaScript tooling fundamentals. Nothing too wild but it's the kind of thing that trips you up if you've just been using npm without thinking about why.
  • What is the purpose of a dependency lockfile like package-lock.json or yarn.lock, and what problems does it solve in local development and CI/CD pipelines?

“I knew the surface answer but fumbled explaining the CI/CD angle clearly.”

View Post

SoFi·Software Engineer·Technical Phone Screen

May 2026
Did a technical phone screen for a Software Engineer role at SoFi and it was genuinely one of the more frustrating interview experiences I've had. The interviewer barely engaged, kept the camera off, and the communication felt like pulling teeth the whole way through.
  • Implement an LRU cache (design a data structure that supports get and put operations in O(1) time, evicting the least recently used item when capacity is exceeded).

“I'd never heard the term 'LinkedList + HashMap' used together as a named pattern before, so when the interviewer just dropped that phrase and stopped talking, I was genuinely lost for a second.”

View Post

SoFi·Software Engineer·Onsite - System Design / Architecture

May 2026
System design round at SoFi for a software engineering role. The whole thing was one big question about building a typeahead/autocomplete system, and they went pretty deep across a lot of dimensions.
  • Design a real-time typeahead/autocomplete system. Walk through the API design, data modeling, indexing strategies, ranking and personalization, caching, scalability, freshness pipelines, experimentation hooks, and failure handling.

“This was a lot.”

View Post

SoFi·Software Engineer·Technical Phone Screen

May 2026
Interviewed for a full-stack role at SoFi and got hit with a tournament simulation problem that looked manageable until I actually tried to code it up under pressure. The brute force path is obvious but they clearly wanted the greedy single-pass solution.
  • There are N+1 players in a queue. Each player from index 1 onward has a fixed hand in rock-paper-scissors. You are player 0 and can freely change your hand between matches. Matches go front-to-back, winner stays, but a tie eliminates both players and the next pair starts fresh. You need to defeat whoever reaches you and every player after them. Return the minimum number of hand changes required.

“Jumped straight to simulating all three starting choices and got something working, but it was O(N^2) and they asked me to do better.”

View Post