I received a call from a recruiting company M*Modal uses in the Pittsburgh area back in the second week of May (a friend of mine was interviewing with the company and gave them my information). I spoke to the first representative (Gina) that told me a little about M*Modal. I was told I would get a phone call from the head recruiter within a couple days. The recruiter, Anthony, actually called same day. Due to work and school we played phone tag until the next day. Anthony and I had about a 30-minute conversation regarding what the company does, the type of environment, and the team. After the conversation, he quickly emailed me a coding sample that one of the teams at M*Modal required. It was a simple reverse string project, however I had to also use JUnit to write unit tests for my design. Once I submitted that, Anthony set up an interview with the hiring manager and team for the following week. When Anthony called me to discuss the time and date, he gave me a pretty good overview of how the company does interviews and questions they may ask. It was like getting the coaching lessons for interviews that you get back in college, but far more informative.
The interview was to last 3 hours, but actually lasted about 4 and half, and was with 4 team members. First was the interview with the hiring manager. The conversation was more laid back, just discussing the company, its history, what they do, and my background (school, previous experiences). The next interviewer asked technical questions such as polymorphism, difference between interface and abstract class, and a couple other basic questions. Then he asked me to implement the high level view (architectural) of Netflix. The goal was to see my thought process, and how I iterated through designs as new requirements are introduced. I will say it was fun to do. Next, he had me implement Fibonacci’s number. I started by implementing the recursion method, which then I was asked to improve it. I made a simple map that had the number-solution as a key-value pair. After that, we discussed implementation differences of XML and JSON (I asked him his preference, etc). The third gentlemen interviewing me wasn’t expecting to do an interview that day, however it made the interview more dynamic. First we discussed my background, and where I felt most comfortable. He would ask a question, and we would have a discussion, then it would prompt him to ask another question. They were simple questions like earlier, except he asked about factory patterns and other design patterns. I was just really learning these in my master’s program, so he went easy on me. The fourth member of the team to interview with had questions that increased in complexity. He also included “theoretical questions” that do not exist in Java, but could some day. He wanted to see my answers based on other things I knew. Basically, can I piece my knowledge of how Java works to answer questions I may not know. He also asked questions regarding different versions of Java (difference between 6, 7 and 8). In addition, he and I had discussions regarding technologies that exist that he liked, I liked, and ones we mutually didn’t like. It was a nice change of pace having to try to think of an answer to something you don’t think you would know, but actually do because of other knowledge you have. Finally, the hiring manager came back in to discuss my pay requirements, benefits, and discuss more about what I would be working on. He told me I would know the following Friday (this interview was on a Friday) their decision.
A week passed without any contact. I emailed Anthony, who told me he would check in. Within 30 minutes he called me to let me know they were doing an interview and he would let me know. A week passed, and I received a few other offers, but after discussions with Anthony and my interviews I felt M*Modal was the best fit. I contacted Anthony to give him a heads up, and he told me he would check in. He asked me what the other companies were offering. I received a phone call the next day before I had to give an answer to a company, letting me know they were planning on hiring me, they were just getting some information together. The following week, I received the offer (not as high as the highest offer, but close). I thought about it over the weekend, and took the offer from M*Modal. Anthony and his team always kept me updated on the process when they knew anything, and always made sure I was ready to go when needed for interviews. It was a great interview process, and the company is very passionate about what they do.