The InVision interview process was smooth and enjoyable. I was contacted by a very friendly recruiter and we set up a meeting to chat over the phone. The chat was casual, and we discussed some job details and how the rest of the interview process would go. I was then sent a JavaScript programming exercise with no strict time limits, and was also promised payment upon completion which I thought was very different and extremely considerate. The programming exercise was a fairly challenging, modern implementation of the producer/consumer problem - so do not expect "fizzbuzz". I spent about 2 days working on a solution.
It was about 4 days before I heard back, but my solution was good enough to allow me to move to the second interview with a few engineers and the director of engineering via Google Hangouts. For the first 40 minutes or so, we discussed the programming exercise and they prodded my knowledge on front-end and back-end development, but it wasn't 'firing squad' style, it was very relaxed and casual. I was then given time to ask questions and hear more about InVision. We ended the call with some talk about what everyone does for fun, and I was told I'd hear back from the recruiter soon.
There was some delay in hearing back, I think it took a week or so, but eventually I was told I'd made it to the third and final interview with the CTO on Google Hangouts and we scheduled it for a week out. There was one rescheduling of the meeting, but it was only a couple more days out. The interview was less technical then with the engineers and was more focused on my software development principles, why I wanted to work for InVision, and learning more about the company at a high level.
Overall, InVision definitely sets themselves apart in the way they interview engineers by valuing their time and providing clear expectations. It was definitely a positive experience.