I applied online. The process took 2 months. I interviewed at Kitware (Clifton Park, NY) in May 2019
Interview
I applied online and heard back in about a week by e-mail. First came a 30-minute phone interview where I was asked some basic questions about my current job and work experience.
After getting through that, a second phone interview was setup which was approximately an hour long and asked various details about C++ language features and object oriented programming concepts.
Finally, I was flown to Albany, NY for an on-site interview. I was told in advance that I was expected to give a presentation on my skills and a discussion of 1 or 2 projects that I had worked on. This presentation should be about 30 minutes and about another 30 minutes would be allowed for the interviewers to ask questions. This interview began at around 8:45 AM and lasted until about 3:30 PM, and included the following schedule:
- Breakfast with one of the interviewers
- Delivery of my presentation (to an audience of ~12 employees, some remote)
- A series of one-on-one, 30 minute interviews:
- Human resources
- C++ Programming (implement a string reversing function on the white board)
- Demonstration of some web tools being developed (not really an interview)
- Lunch with CEO and head of Scientific Visualization
- Another series of one-on-one, 30 minute interviews:
- Meshing? (discussed problem of determining adjacencies)
- Programming (asked about what design patterns I've used, also data structures like quadtree)
- Algorithms (geometric meaning of vector dot and cross product)
I admittedly did fairly poorly in the second half of the interview. I was surprised by the subject matter of the questions I was asked. Based on the job description and the phone interviews, I expected a lot of questions on OpenMP/MPI/parallel computing and Qt. Over the course of the day I was asked maybe a few questions on Qt and not a single question on parallel computing (except for one guy showing me a thread pool that he implemented using C++ std::thread). Most of the questions were on geometry or computer algorithms related to solving geometric problems. I was totally unprepared for this and ultimately I think that is why I was not considered for the position. I think having some open source contributions to show during my presentation also would have helped, but all of my work was for my current company and was proprietary.
There are a fair amount of resources offered by the company itself that will help you prepare for the interview, I'd like to post the links here but the GlassDoor "Review Team" flagged these URLs as supposed advertising...
Interview questions [5]
Question 1
Implement a function which reverses a string in C++ (on the whiteboard)
Verbally describe how you would implement an algorithm that tracks charged particles in a 2D space. What data structures would you use? How would you calculate their positions as they interact?
I applied online. The process took 6 weeks. I interviewed at Kitware (Clifton Park, NY) in Sept 2021
Interview
Had a 30-minute interview with a recruiter followed by an hour-long technical interview with two developers.
Was told to expect a reply in a few days, but got radio silence for nearly 3 weeks. Sent a follow-up e-mail to the recruiter in the meantime that got ignored.
Interview questions [1]
Question 1
Sample coding problems peppered with questions on on C++ and object-oriented design that built on the code being written. Examples are alternative approaches and the benefits or trade-offs associated with them. Lots of questions on memory management.