← Back to Directory

SoFi interview notes, page 5 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

Jun 2026
SoFi software engineer interview that was basically one long design problem about a key-value store. More depth than I expected for what sounded like a simple data structure question at first glance.
  • Design and implement an in-memory key-value store with add(key, value), get(key), remove(key), and getLast() operations, where getLast() returns the most recently added entry that still exists. get() should not affect what counts as 'last'. All operations should run in O(1) average time. Cover edge cases, justify your data structure choices, provide pseudocode, and analyze complexity.
  • How would you handle concurrent adds and removes in this key-value store, and what locking strategy would you use?

“I went straight to a hashmap for the key-value part and a stack or queue for tracking order, which was wrong because remove() in the middle breaks everything.”

View Post

SoFi·Frontend Engineer·Hiring Manager Screen

Jun 2026
Hiring manager round at SoFi for a frontend engineer role. The whole thing was basically one long project deep-dive with follow-ups stacked on follow-ups, not the usual behavioral stuff.
  • Walk me through a single frontend project in depth, covering the technical decisions you made, the trade-offs you considered, and how you planned and executed the work.
  • How did you collaborate with PM, design, and backend teams during that project? Walk me through how that coordination actually worked.

“This was the whole interview, basically.”

View Post

SoFi·Software Engineer·Technical Phone Screen

Jun 2026
SoFi software engineer interview that went pretty deep into algorithms and then kept going. The core problem was manageable but the follow-ups pushed into territory I wasn't fully prepared for.
  • Given an array of integers representing objects on a 1D track, where the sign indicates direction and the absolute value is mass, simulate all collisions and return the surviving objects in order. Implement an O(n) solution and explain your time and space complexity.
  • How would you handle this same problem if the input could have up to 100 million elements and memory is constrained to 1 to 2 GB? Walk through streaming, chunking, and external memory approaches.
  • How would you parallelize the collision simulation across multiple cores while maintaining correctness at chunk boundaries?
  • What test cases and invariants would you use to validate your collision simulation implementation?

“Stack-based solution, which I got to pretty quickly.”

View Post

SoFi·Software Engineer·Onsite - Behavioral / Leadership

Jun 2026
Behavioral round at SoFi for a software engineer role. Just the one question from what I remember, pretty standard project reflection stuff.
  • Walk me through a project you found genuinely interesting. What drew you to it, what was your specific contribution, and what did you take away from the experience?

“I had a project ready but rambled a bit trying to explain why it was interesting before getting to what I actually did.”

View Post

SoFi·Software Engineer·Onsite - Behavioral / Leadership

Jun 2026
Behavioral round at SoFi for a software engineering role, just the one question about delegation and ownership. Pretty standard stuff but it made me realize I hadn't thought through my example as carefully as I should have.
  • Tell me about a time you collaborated with teammates by handing off ownership of part of a project. How did you decide what to delegate, how did you support them, and what came out of it?

“I had a decent story ready but fumbled the middle part about how I actually supported the person after handing things off.”

View Post

SoFi·Software Engineer·Technical Phone Screen

Jun 2026
SoFi software engineer interview with a matrix search problem dropped on me as a single sentence, no examples, no constraints. The whole thing was really about whether you can structure a problem yourself before touching code.
  • Given an m x n matrix where every row is sorted in strictly increasing order, find the smallest element that appears in all rows. Return -1 if none exists. You receive only a one-line description and must identify edge cases, write your own test cases, and implement from scratch.

“The problem itself is not that hard once you see it clearly, but the format wrecked me a little.”

View Post

SoFi·Software Engineer·Technical Phone Screen

Jun 2026
SoFi coding round, got hit with the text justification problem. Not the hardest thing in the world but the edge cases will absolutely trip you up if you're not careful.
  • Given an array of words and a maximum line width, format the text so each line is exactly that width with spaces distributed as evenly as possible between words. The last line should be left-justified.

“The greedy packing part is fine, you just keep adding words until the next one doesn't fit.”

View Post

SoFi·Frontend Engineer·Technical Phone Screen

Jul 2026
Frontend coding round at SoFi where the whole thing was building a typeahead/autocomplete component using just HTML and CSS, no JS frameworks, no libraries. Pixel-matching a design spec under interview pressure is a different kind of stress than algorithm questions.
  • Build a typeahead autocomplete input component using only HTML and CSS to match a given design mockup, including input styling, placeholder behavior, dropdown panel layout, and hover/focus states.

“The CSS-only constraint sounds manageable until you're staring at a dropdown that needs to appear on focus with no JavaScript.”

View Post

SoFi·Software Engineer·Technical Phone Screen

Jul 2026
SoFi software engineering interview with a simulation-based coding problem. The question was more involved than I expected for a phone screen, definitely not a standard leetcode grind.
  • You have a class representing a collection of obstacle course runs. Implement a method that takes an in-progress run and returns the probability it will match or beat the current personal best, estimated via 10,000 Monte Carlo simulation trials. Each trial fills in the remaining obstacles by sampling from historical times recorded by other runs that reached each obstacle, including incomplete runs.

“The setup took me a while to internalize.”

View Post

SoFi·Software Engineer·Technical Phone Screen

Jul 2026
Interviewed for a software engineering role at SoFi and got two coding questions back to back. Both were pretty classic but one had a twist that slowed me down a bit.
  • Given a full binary tree where all leaves start at 0, implement set(index) and clear(index) operations on the leaves. A parent node should become 1 only when both its children are 1, and clearing a leaf should propagate the change back up through the ancestors.
  • Design and implement an LRU Cache that supports get(key) and put(key, value) operations, both in O(1) time, evicting the least recently used entry when capacity is exceeded.

“The propagation logic tripped me up more than I expected.”

View Post