It was annoying. First, I had trouble scheduling the interview call. Then, when the interview was finally scheduled, no one showed up. I emailed the recruiter/coordinator and received no reply. It seems there was some communication issue. Eventually, we rescheduled. I was a bit disappointed, but Snapchat was a product on which I really wanted to work. Finally, I had my interview call. The quality was terrible, but I decided to deal with it. At the other end was a Chinese man who had an accent. I have an accent too, but his was hard to understand.
He gave me a technical question: "Maximum points on a line in a 2D graph." I thought about it for a few seconds and started giving out my thought process, as I am typically trained to do in these interviews. I gave him an exponential solution, computing all the possibilities and checking which is the one we want. He seemed to have a bit of trouble following me. I tried explaining it to him, but in vain. My intention was first to convince him that this would work and then work out a better solution. I decided to write down quickly what I meant with my solution. Then he asked me to compile it. What? Okay.
We were sharing screens, and it was a bit annoying because I wasn't told beforehand that I'd be using an IDE of choice. I was using a different computer. By now, I was fiddling around with some online compiler to compile my Java code. Early in this process, I asked him if I should explain my solution. He said he'd much rather see the code working first. I had no choice. Eventually, I made it compile. I felt the interviewer was barely listening. I ran a few test cases, and everything seemed fine. He asked me the complexity, and I said it's O(2^n). He said, "So, it's slow." I wanted to scream and say, "YES, that's what I've been trying to tell you," but I resisted.
Later that night, I received a rejection. Ridiculous!
My advice to anyone who has an interview coming up: Blurt out a fast solution right away. Don't think about optimizing it later on.
As an input, you have points on a 2D graph. Your aim is to find a straight line that can fit as many points as possible. Return the maximum number of points you can fit.
The following metrics were computed from 25 interview experiences for the Snap Software Engineer role in Los Angeles, California.
Snap's interview process for their Software Engineer roles in Los Angeles, California is extremely selective, failing the vast majority of engineers.
Candidates reported having good feelings for Snap's Software Engineer interview process in Los Angeles, California.