I applied online. The process took 2 weeks. I interviewed at SpaceX (Redmond, WA) in Dec 2016
Interview
The process has 5 phases. First there is a short debugging quiz. This test asks you to look for simple bugs in relatively short functions. Next is a technical phone screen with a recruiter. It seems like the recruiter has a list of questions with expected answers and grades you based on that. The third phase is a phone interview with an engineer who asks you standard questions about your background and experience as well as more in-depth technical questions related to the job.
The fourth phase is a 6-hour programming challenge. I can't go into the details of it, but I can say that it seemed like an appropriate level of difficulty considering the role I was applying for and my experience level. Unfortunately I did not have enough time to finish the project to their standards (mostly due to poor time management; I was close) and I did not advance to the final phase, which is an on-site interview.
Interview questions [1]
Question 1
What is the difference between a reference and a pointer?
Recruiting Call -> Several rounds of technical interview: very fundamental questions that probe your conceptual understanding. Make sure to study / review first principles as it gets theorectical. Quick 30 minute phone calls
Interview questions [1]
Question 1
Tell me about one project to showcase engineering skills
I applied for Software Engineer Data position. It was fine. 1 hour leetcode style interview on codility. The difficulty was medium. I had an alright experience. Was able to get brute force but not optimized solution.
Recruiter screen was a lot of trivia, very basic trivia that any software engineer should know so make sure to read up on some python syntax etc. to be able to answer the trivia questions. can be tricky given time limit
Interview questions [1]
Question 1
What are some basic python methods used in machine learning