The first step was a 30-minute web test, which consisted of graduate-level software engineering questions.
After passing that hurdle, there was a one-hour phone interview based on a code fragment that was quite difficult. The interviewer was not friendly, and the process did not seem to go well.
The code fragment was C++ code (not quite compilable, but almost so). The code looked simple, but the questions delved into how one might create data structures to compile multiple-inheritance classes and, in particular, what the class memory layout might be. This seemed to be a test to see if one could design a compiler on the fly.
Thank goodness compilers aren't actually designed that way.
Yet another company thinking they need folks right out of graduate school, in my humble opinion. I hope that works out for them.
Given two base classes and a class derived from them, how might one lay out class instance memory so that polymorphism will work correctly? The problem was simplified in that one could assume memory was a series of same-sized slots, and methods and attributes took up one slot each.
The following metrics were computed from 8 interview experiences for the Pure Storage Software Engineer role in San Jose, California.
Pure Storage's interview process for their Software Engineer roles in San Jose, California is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Pure Storage's Software Engineer interview process in San Jose, California.