I applied for a position on the company's website after seeing their job posting on CareerBuilder. A few weeks later, a recruiter contacted me to do an initial phone screening, which went well. However, she made some claims about the company that sounded fishy such as paying competitive salaries, offering great benefits, or being a top employer in the valley. First of all, their pay scale isn't on par with CA companies like Google, FB, Twitter, etc. In fact, you could probably find other not-very-popular employers that pay better. In terms of benefits, they only offer 14 days of PTO and no 401k matching. I've also read reviews where current employees said they worked long hours.
They scheduled a video interview with a third-party company that offers interviews as a service. The interview didn't go well at all. I got asked questions on SQL, web services, and algorithms. Questions weren't that hard, but the interviewer didn't give me enough time to do an in-depth discussion of my code to understand how much I knew. I was always asked to proceed to the next question because she assumed I knew my stuff. The last question, which was on algorithms, was somewhat frustrating. I wrote the code except for the part that was supposed to do some math which I could not remember during the interview. I believe that's what put me out of the candidate pool for the next round.
IMHO, if SolarCity wants to hire people based on how well they do on algorithms such is the case with top tech companies, then they should start offering great benefits and compensation otherwise they are a regular American corporation to me.