The interview process consisted of two phone interviews, a take-home project, and in-person interviews.
The first phone interview with the hiring manager was a "get to know you" call and was easy.
The second phone interview was with an engineer who asked some specific questions related to my skillset, including:
Some of these questions about data structure implementation in Java were of moderate difficulty.
He also had me use CollabEdit to produce some code, specifically:
Follow-up questions focused on how to make the code more efficient in terms of time and memory. This part was easy, except for the lack of auto-complete in CollabEdit.
I received a take-home project called Bliffoscope, which I was given a week to implement. It took about that long to complete, working evenings. The difficulty was moderate, primarily due to the time commitment.
The in-person interviews started at 11 am and ended at 6 pm, totaling six interviews. There were no breaks or lunch, making it pretty intense. Some of these individuals were very smart. However, out of the six interviews, a couple of the interviewers seemed disengaged, either texting on their phones or stating they "only have 20 minutes" and rushing out the door.
First interview (Senior): I don't recall much about this. I had prepared a presentation on my current project, which I walked him through, and he asked questions about it.
Second interview (Principle): This interviewer had other things on his mind. He gave me a problem to work on the whiteboard and then sat back, responding to texts. The problem was to reverse the words in an array using only one character of swap space. If you figured out the trick, it was easy (reverse the whole array, then reverse each word back). I didn't figure out the trick and received zero input from the interviewer. Normally, one receives a little guidance if they are off track. I floundered with a brute-force approach, which is tough to figure out on a whiteboard.
Third interview (Senior): I have blanked on this one as well. He asked me to write some SQL, even though they don't really use it. The interaction was very friendly and relaxed.
Fourth interview (Senior): This was a solid interviewer. He asked the usual questions and then had me work on his laptop to fix a bug in some code for a tennis match scoring app. The most difficult part was working with Eclipse on a Mac, as they use Macs at ServiceNow. After figuring out the rules of tennis scoring (which are complex!), I resolved the bug fairly quickly and we discussed how the app could be improved. This interviewer was involved, interested, and helpful when I asked questions.
Fifth interview (Director): This interviewer was on his way out the door. He presented me with the "shortest path in a graph" algorithm. I wasn't fully prepared for this, but I worked it out. There was a lot of discussion and he peppered me with questions. He left before I completed it, which led to Interview #6.
Sixth interview (unknown): This interviewer was brought in when the Director left. He sat there and texted while I worked the problem on the board. The funny thing is, after I finished, he didn't even look up, just said "OK." The fact is, my algorithm was not correct.
I followed up with emails, including completed solutions for those problems I hadn't fully finished during the interviews, thanking them for their time. I received no response, which was a harbinger of things to come.
Four weeks after the interview, I still had no response (I'm now experiencing that high school dating feeling). There was no scheduled call and no information whatsoever.
At the end of the fourth week, I received a call at 6:30 PM from the hiring manager stating I would "not be a fit." I asked for any specific feedback that could help me. His response was, "You need to interview more" and "Your failure to focus on the problem at large."
Now for my commentary:
Okay, not a fit, that's fine. He wouldn't provide specific interview examples where these comments applied. Since I was a referral and know someone there, it makes sense he didn't want to upset anyone.
My general feeling about ServiceNow is that they are looking for individuals who are exceptionally smart or have extensively studied data structures and algorithms. When I asked a couple of times after being given a problem, "Do you guys do a lot of stuff like this?" the answer was always "No." My impression, based on the interviews, is that there are many "thinkers" but not too many "do-ers."
My negative experience is due to:
Reverse an array of words using only a single char swap space.
Write the shortest path algorithm for a graph.
Bliffoscope problem: https://github.com/samhart/bliffoscope
The following metrics were computed from 1 interview experience for the ServiceNow Senior Applications Developer role in San Diego, California.
ServiceNow's interview process for their Senior Applications Developer roles in San Diego, California is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for ServiceNow's Senior Applications Developer interview process in San Diego, California.