The interview process for me with pMD was split into three phone calls followed by an on-site interview at their office in San Francisco.
The first phone call is with their recruiter. She asked about my work history and why I was interested in working with pMD. She also told all about pMD and their mission. The phone call went very well and she recommended that I move on to the next phone call with one of their Software Engineering Managers.
The next phone call was supposed to be with the Software Engineering Manager but unfortunately he was unable to take the call. However, their VP of Software Engineering was able to fill in for him. We chatted for a few minutes and then he had me open a shared Google doc where I was asked to write some code to solve a few problems. The questions were a good test of technical thinking and problem solving. That phone call also went very well and he recommended that I move on to the next phone call as well.
The last phone call also happened to be with the VP of Software Engineering. It was more of a cultural fit styled discussion. He asked questions ranging from my ability to work with others on a team vs. on my own to questions about how I stay on task and how I deal with conflict in the work space. We had a very good conversation.
Shortly after, I received an email from their recruiter inviting me to fly out to their office in San Francisco where I was able to tour their offices which overlook the ocean and Pier 39. I got to meet most of the employees there and had lunch with them. After lunch, I had a face-to-face interview with their recruiter, the Software Engineering Manager and the VP of Software Engineering. They each took turns asking me various questions ranging from technical to cultural. For some questions I was asked to diagram something on the whiteboard. The interview lasted about 3.5 hours.
A day or two after I got back home from San Francisco, I received an email from their recruiter letting me know that I got the job!