ServiceTitan logo

ServiceTitan Staff Software Engineer Interview Questions
& Process

Real candidates share what happened, how many rounds they had,
and how the experience turned out.

Based on 5 interview experiences · FREE TO READ

3.2 Rounds average
Difficult Typical difficulty
20% Positive experience

Candidate interview experiences

First-hand accounts from people who interviewed at ServiceTitan.

Showing 3 of 5
ServiceTitan logo
ServiceTitan

Staff Software Engineer

Engineering · half a year ago

Staff Difficult Negative experience No offer 4 rounds
Interview process
Recruiter call Technical screen Technical screen Technical screen
Interview formats
Coding Coding System Design Technical

Started with an internal recruiter chat, then went through two LeetCode-style coding pairs, with the second one being noticeably harder than the first. The final stage was a system design and general technical chat. They give you 90 minutes for the old-school LeetCode tests, but secretly filter for completion within 60 minutes. It's super misleading because if you use the full time to show your thinking and skills, even if you finish correctly with passing tests, you might not get picked. Also feels like there might be some bias going on.

Confirmed questions2 questions
  • Complete the C# interface implementation for a custom dictionary.
  • Create a multithreaded HTTP downloader that fetches page objects from URL links and recursively follows all links found on those pages.
ServiceTitan logo
ServiceTitan

Staff Software Engineer

Engineering · more than a year ago

Staff Difficult Neutral experience No offer 2 rounds
Interview process
Recruiter call Technical screen
Interview formats
Technical Coding

After speaking with the recruiter, I was set up for a technical interview. The technical interview was, in fact, conceptually quite simple. I had anticipated something very challenging, perhaps a difficult algorithm, but it simply involved a multi-value dictionary. The implementation is straightforward for any experienced developer. However, the coding environment itself is buggy, and intellisense was non-functional, forcing me to look up documentation for common types. Despite these issues, I managed to complete the exercise within the time limit, although I was thrown off by the environment. The instructions indicated that using documentation was permissible, but it appears that this, along with possibly not being comfortable with the coding environment, could lead to disqualification.

Confirmed questions1 question
  • Could you implement a multi-value dictionary class?
ServiceTitan logo
ServiceTitan

Staff Software Engineer

Engineering · more than a year ago

Staff Average Positive experience Decline offer 4 rounds
Interview process
Technical screen Technical screen Technical screen Technical screen
Interview formats
Coding Coding System Design Behavioral

So, the interview had a couple of coding rounds, like two of them, one that was pretty easy to weed people out and then a harder one, medium to hard. Then there was a system design part, mainly about distributed systems, and a behavioral interview too.

Confirmed questions2 questions
  • Can you tell me about async programming in C#?
  • How would you design distributed systems?

ServiceTitan Staff Software Engineer Interview Questions

Quoted word for word from ServiceTitan interview reports.

Create a multithreaded HTTP downloader that fetches page objects from URL links and recursively follows all links found on those pages.

Read reports

How would you implement a Dictionary that allows multiple values for the same key?

Read reports

Could you implement a search algorithm that considers weighted results?

Read report

Formats, difficulty and experience

Across all 5 ServiceTitan interview reports.

Interview formats

Coding 50%
Technical 28.6%
System Design 14.3%
Behavioral 7.1%

Interview difficulty

Easy 0%
Average 40%
Difficult 60%

Candidate experience

Negative 60%
Neutral 20%
Positive 20%