
Three candidates describe Vim's software engineer interviews as hands-on: an early screen or intro chat, a discussion of past work, and a coding task built around small API endpoints.
$155K
Avg. Base Comp
$185K
Avg. Total Comp
Not reported
Typical Rounds
Not reported
Process Length
Candidates who interviewed for full stack or software engineer roles at Vim describe a process built around practical coding rather than puzzles. All three report building small API endpoints, so practice writing REST endpoints against a provided test suite before you start.
One candidate describes a take-home style task: a Node.js server with a GET endpoint that filters a list of doctors and a POST endpoint that creates an appointment. It came with 10 to 12 test cases to satisfy. A second candidate did a roughly 2.5-hour session implementing two RESTful endpoints. They could use any language, but the test spec was written in JavaScript, so Node.js had to be installed. A third reports a 2.5-hour Zoom coding session that involved two endpoints, a JSON file, and a question about when resources are loaded versus reloaded on each request.
Time management is the main risk. The second candidate lost part of the session to a late start and was later told the real implementation window was two hours, which had not been stated. They were rejected after the technical stage. Confirm the time limit and what the spec checks up front, and read the tests closely before coding.
The other rounds focus on past work and design. One candidate describes a friendly first conversation about past jobs. Another reports a 50-minute round on one challenging project and, after the coding session, a 2.5-hour system design interview. Prepare a detailed project story and a clear architecture walkthrough. Only one account covers system design, so treat it as possible rather than certain.
Outcomes differed: one candidate had no offer, one was rejected after the technical round, and one declined an offer.
Synthesized from 3 candidate reports by our editorial team.
Had an interview recently?
Share your experience. Unlock the full guide.
Real interview reports from people who went through the Vim process.
I went into this expecting a standard conversation and ended up with a take-home style build. The first interview was with a technical person who mostly wanted to get to know me and hear about what I had done at my previous jobs. It was a general, friendly chat with no pressure. The second round was the coding assignment, and this is where the process got real. I had to write the code on my own computer and then run their tests against it. The task was a Node.js server with a GET endpoint that filters a list of doctors and a POST endpoint that creates an appointment. There were 10 to 12 test cases I needed to fill in, so the work was driven by those tests. I had to read them carefully and make sure my endpoints matched the expected behavior exactly, including the filtering and the appointment creation. I can't speak to how long I had for the assignment or how much time it took beyond what I've described. I did not receive an offer after this process.
Prep tip from this candidate
Expect the coding assignment to be judged by running a provided test suite, so practice building Express-style GET endpoints with query filtering and POST handlers that create resources, and get comfortable running tests locally. Read the expected behaviors in the tests closely before writing any code, since matching them exactly is what the task comes down to.
Share your own interview experience to unlock all reports, or subscribe for full access.
Sourced from candidate reports and verified by our team.
Topics based on recent interview experiences.
Featured question at Vim
Select the 2nd highest salary in the engineering department
| Question | |
|---|---|
| Merge Sorted Lists | |
| Random SQL Sample | |
| Minimum Change | |
| Raining in Seattle | |
| Hurdles In Data Projects | |
| Bagging vs Boosting | |
| Find the Missing Number | |
| Scrambled Tickets | |
| Rectangle Overlap | |
| Employee Project Budgets | |
| Integer to Roman | |
| Download Facts | |
| The Brackets Problem | |
| Employee Salaries (ETL Error) | |
| Find the First Non-Repeating Character in a String | |
| Daily Retention Summary | |
| P-value to a Layman | |
| Lowest Paid | |
| Delivery Estimate Model | |
| Google Maps Improvement | |
| Find Bigrams | |
| Real-Time Transaction Streaming | |
| Level Of Rain Water In 2D Terrain | |
| Get Top N Frequent Words | |
| N-gram Dictionary | |
| Longest Increasing Subsequence | |
| Binary Tree Conversion | |
| Nearest Common Ancestor | |
| Project Budget Error |
Synthesized from candidate reports. Individual experiences may vary.
Two candidates mention an early screen. One describes a 15-minute recruiter call before any technical content, and another mentions a phone screen. Another candidate instead describes a friendly first conversation with a technical person about previous jobs. Expect to summarize your background briefly.
One candidate reports a 50-minute Zoom interview on a challenging task they had completed, covering what made it hard and how they approached it. Another reports a general chat about prior jobs. Prepare two or three projects you can explain end to end.
All three candidates report building small endpoints. Tasks included filtering doctors with a GET and creating an appointment with a POST, or working with data from a JSON file. Two describe sessions of about 2.5 hours. One candidate reports a JavaScript test spec that required installing Node.js and was told the real limit was two hours. Confirm timing and what the tests check before starting.
One candidate who received an offer reports a 2.5-hour Zoom system design round where they designed a system and laid out a comprehensive architecture. Another, rejected after coding, mentions an architecture design interview and meetings with the CTO and HR that they never reached. Later stages may therefore include those conversations.