The following applies for the Prism Analytics team (formerly Platfora) based in San Mateo. The interview process consists of a chat with a recruiter and a hiring manager and 3 Hackerrank coding challenges (medium difficulty) that have to be completed in 1.5 hours. The onsite interview lasted 7 hours, and included 1 coding, 1 system design round and a lot of behavioral/resume background questions. All interviewers were very knowledgeable and passionate about the product as well as friendly - overall a nice experience.
Next day I got a call from the recruiter that the decision was borderline and the team wanted to do one more phone coding round (not sure why they didn't ask more coding in the 7 hours onsite if they needed to). Although my schedule was packed with work and other planned interviews I agreed to do the phone interview the same day. To my unpleasant surprise the interviewer started the interview saying that he was instructed by the HM to test my coding skills in a particular language that is used by the group (different than the one I used onsite and for the Hackerrank coding tests). I agreed on that with a disclaimer that I had not used that language for years so I would not be able to recall syntax details off the top of my head. Explained the algorithm and the interviewer agreed this was the right approach so I started coding. For the next 30' the interviewer was mostly silent without giving any feedback or hint.
After a few days I got the news that the team decided to move forward with a more experienced candidate (typical reply). After asking for feedback the answer was that although the algorithm was right, the implementation was not quite following the algorithm. Obviously asking to code in a specific language that is not preferred by the candidate (especially without notice that this would be required) doesn't help to get the details right. I felt this was unfair and contradicting to standard practice which focuses on problem solving skills.