Third party recruiter reached out to me regarding the role. I expressed interest and was told role requirements and salary range and we discussed a little more about the company and what the expectations were. A few days later I got a call from the same recruiter asking if I would do a take home coding test, I agreed and was given the Cities Connected program where you read in a list of cities and connections and you also read in two cities to determine if there is a connection between the two of them. I solved it using a directed graph and sent it back a few hours later. Another couple days go by and I receive another call from the recruiter asking if I can come in for an on site interview the following day, I agree and we schedule the interview. Upon arriving, I am given two rounds of technical questions by two different interviewer groups. The first question was a simple coding question about simulating stock prices and maximum profit over a certain time period. The second question was a simple brain teaser. Talked through the solutions and the next interviewer comes in and gives me another brain teaser. This one took quite a bit longer and not all information was given up front so as to see if the interviewee could talk through the problem with the interviewer. I completed it successfully and was told I would hear from my recruiter. A few days later the recruiter calls back and asks to schedule a final interview round. This interview was with the VP of Engineering and a much more senior executive. No technical questions were asked, strictly resume questions and personality questions as well as discussion about the company and the job.