SpaceX Software Engineer Interview Questions | Glassdoor

SpaceX Software Engineer Interview Questions

Interviews at SpaceX

29 Interview Reviews

Experience

Experience
34%
14%
52%

Getting an Interview

Getting an Interview
74%
11%
7%
4
4

Difficulty

3.1
Average

Difficulty

Hard
Average
Easy

Helpful (13)  

Software Engineer Interview

Anonymous Interview Candidate
No Offer
Negative Experience
Average Interview

Application

I applied online. The process took 3 days. I interviewed at SpaceX in April 2014.

Interview

I applied online on the company website. I received an email almost the next day with an invite to take 45-minute multiple choice C/C++ quiz. All questions were about finding the potential error in a short snippet of code. I finished the quiz quickly and got a reply 2 days later asking me to setup a time for a phone screen....

Then, poof ! Nothing !! No reply from HR! Silence! I checked back twice, asking what happened. And nothing!! As if I applied to a fake company! Very unprofessional and rude! Well, thankfully I am employed so I don't need to work for these clowns. My advice is not to take employment at this company too seriously.

Interview Questions

  • When is the best time to contact you. That was difficult to answer because there was nobody from HR to arrange a phone interview with. They just ignore candidates.   3 Answers

SpaceX Response

Apr 15, 2014 – Lead Recruiter

Thanks for your message. We are very sorry to hear you had a negative experience. I believe this may have been caused by some email issues we experienced over the last couple weeks. Sporadic email... More

Other Interview Reviews for SpaceX

  1. Helpful (14)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Negative Experience
    Average Interview

    Application

    I applied through a recruiter. The process took 3 weeks. I interviewed at SpaceX.

    Interview

    I went through multiple phone interviews, multiple choice coding quiz, plus a 6 hour coding project test. Passed them all very well. Was ready for on-site interview and they bailed because they couldn't pay my market value. This was a sad waste of time.

    Interview Questions

    • Multiple choice 'what's wrong with this code' sort of test had multiple defects in the code and the choices didn't always match the situation well. Pick the one you think they want to hear and you'll do fine.   1 Answer

  2. Helpful (11)  

    Software Engineer Interview

    Anonymous Employee in Hawthorne, CA
    Accepted Offer
    Positive Experience
    Difficult Interview

    Application

    I applied through an employee referral. The process took 2+ weeks. I interviewed at SpaceX (Hawthorne, CA) in August 2013.

    Interview

    Tech screen by HR, 2 technical phone interviews, 6-hour on-site interview with 5 one-on-one sessions (2 tech, 3 not) and provided lunch.

    Phone interviews are to establish proficiency and basic coding approach.
    In-person technical sessions were split: one more daily-problem oriented, the other about known algorithmic solutions.
    Non-technical interviews were personality / philosophy / social.

    Feedback time between each step was 1-2 days.

    Interview Questions

    • Some questions about framework internals, not generally relevant to day-to-day.   2 Answers
  3. Helpful (2)  

    Software Engineer Interview

    Anonymous Interview Candidate in Hawthorne, CA
    No Offer
    Neutral Experience
    Difficult Interview

    Application

    I applied online. The process took 3 weeks. I interviewed at SpaceX (Hawthorne, CA) in June 2013.

    Interview

    I applied via their website. One of their recruiters responded within a couple of days. Next was a 60-minute online multiple-choice quiz covering the basics of C++, C#, and SQL. It had 14 questions, and these could easily be answered in a small fraction of the total time given. I had plenty of time to double- and triple-check my work. Then was a phone interview with their recruiter, in which he asked about some things on my resume and asked me some more technical questions centering on data structures and algorithms. He wasn't a developer himself, but it seemed like their developers had provided these questions. Then were two more phone interviews, each with a different developer on their staff. These were done with a live collabedit.com session where they asked me to develop various algorithms live while on the phone with them.

    Interview Questions

    • "Write a function implementing the _________ data structure" (various kinds including Stack and Binary Tree). Followed by, "Now rewrite your work without using loops", e.g. recursively.   2 Answers

  4. Helpful (8)  

    Software Engineer Interview

    Anonymous Interview Candidate in Los Angeles, CA
    No Offer
    Negative Experience
    Average Interview

    Application

    I applied online. The process took 4+ weeks. I interviewed at SpaceX (Los Angeles, CA) in August 2013.

    Interview

    I submitted my resume and some work examples through their website. The position I applied to was focused on Python software development in support of the Avionics hardware team. A few days later I was contacted by a recruiter saying there was interest. The first step was take an online C/C++ programming test. Initially I was worried because my background is much more Python-oriented. I should not have worried. The test was stuff that any serious programmer should know.

    The second step in the process was a technical interview with the software engineer who headed up this particular software team. It's been quite a while since I've done an interview (10+ years), and the "technical" part of this interview caught me a little by surprise. I have done more homework on this topic since then and I think the questions I was asked are probably typical. I fumbled around on a few, the rest I think I gave good answers. When I was uncertain, I made sure to talk through my thought process as I tried to find a solution.

    Towards the end I got somewhat negative feedback that my work experience might be too "researchy" for the position in question.

    The third step was a week-long programming challenge assignment. The topic was not at all technical or work related. I basically had to create a simple text console application in Python given a handful of requirements. I spent sooooo much time on this task! It was frankly a lot of fun. On the last day I misjudged my time and I was not able to meet all the requirements. I feel quite strongly that the work I put into that task very clearly shows my Python programming strengths. Given the earlier doubts I think they had about, I think this (small?) error on my part gave them an easy way to tell me "thanks, but no thanks."

    The recruiter told me that the only feedback he received from the engineer about my programming test was that it was incomplete, with no further details. My application was closed.

    The entire process took about a month. Many days would go by when I thought I was waiting for them to make the next step happen. When I would get in touch with the recruiter, it would turn he was waiting for info from the engineer, who in turn thought her part was done.

    Interview Questions

    • I basically had to create a simple text console application in Python given a handful of requirements.   1 Answer

  5. Helpful (7)  

    Software Engineer Interview

    Anonymous Interview Candidate in Colorado Springs, CO
    No Offer
    Negative Experience
    Easy Interview

    Application

    I applied online. The process took 1 day. I interviewed at SpaceX (Colorado Springs, CO) in April 2012.

    Interview

    Applied on line for a software engineer position in their simulation group. Since I work on spacecraft simulation software for a living, I thought I'd be a good match. I received a quick response after applying and was asked to complete an online C/C++ programming quiz.

    Quiz consisted of low level programming questions (pointers, memory management, etc.), and was fairly easy. After completing the quiz, I received another email from a SpaceX recruiter telling me that I did well and he'd like to set up a phone interview with me. We agreed on a date and time, and when the appointed time came... no phone call. I attempted to call the recruiter and got sent to voicemail. I also sent an email. No response. I made a few more attempts over the next several days to communicate with this person (and another recruiter at SpaceX) to no avail.

    Fortunately I'm employed and have no shortage of prospects with the more established companies in the aerospace industry, so this is more annoying than anything else.

    What a bunch of disorganized clowns this company is. Don't waste your time with SpaceX.

    Interview Questions

    • Would you like to set up a phone interview?   3 Answers

  6. Helpful (19)  

    Software Engineer Interview

    Anonymous Interview Candidate in Los Angeles, CA
    No Offer
    Negative Experience
    Average Interview

    Application

    I applied online. The process took 4+ weeks. I interviewed at SpaceX (Los Angeles, CA) in April 2015.

    Interview

    The process began with me submitting an application online through the SpaceX careers site. 6 months later, I was contacted by an internal recruiter looking to setup some interviews with me for a Software Engineering position.

    The recruiter started by asking basic experience questions, whether or not I would be interested in interviewing, and then setup a first phone screen interview. The recruiter asked me to provide my expected salary without even describing any position or location that I would be working in. I deflected the question because providing salary that early in the process with no knowledge of the job would only work against me.

    The first phone screen was an hour long and focused mainly on work experience, behaviors on the job, and discussing some basics of the position that is looking to be filled. After this interview, I was contacted by a completely separate recruiter who wanted to setup a second phone screen.
    The second phone screen was also an hour long and involved more work experience questions, more descriptions of the position being filled, and coding in CollabEdit. After this interview, I was contacted by the original recruiter who wanted to setup a third phone interview.

    The third phone interview was identical to the second phone interview except that it focused less on experience and more on questions like, “What’s your favorite programming language and why?” There was some coding in CollabEdit, but again, it was fairly basic stuff. Finally, after this interview, another recruiter contacted me to setup an onsite interview session. Travel was arranged with a third party travel agency to fly from where I was to Los Angeles.

    Before you can interview onsite, you have to fill out an online “formal” application on Jobvite.com. Again, the salary expectation question was asked. Only this time it was required. I suggest that you either leave this field at an obviously fake number or ballpark on the high side after researching salaries online. If you lowball it, you’re going to get screwed by the offer.

    The onsite process started with a brief tour of the manufacturing and assembly floor area. After the tour, I was lead to a small meeting room upstairs. Five or so different groups of people were ushered in one at a time for an hour at a time to perform various interviews. First it was an interview with some business analysts. Questions revolved around work experience, how you can tackle problems in the workplace, and how you feel about working 55+ hours a week. Red flag #1.

    The second group was two engineers who asked programming questions. No questions regarding work experience were asked. You are expected to write legible code on a whiteboard, ask questions to clarify the problem, and to show that you know how to break down a problem into steps and solutions. This interview was quite awful because the engineers weren’t very personable. One of them said nothing the entire time, and the other seemed like he was trying to show off how smart he was. Red flag #2.

    The third group was another pair who asked more programming related questions. Again, no questions were asked regarding work experience. This interview was identical to the second interview in terms of format. I ran out of time without solving the problem, and I’m pretty sure that went against me. As with the second interview, one interviewer didn’t speak much while the other went on and on with questions.

    The fourth interview was with some sort of project manager or evangelist trying to “sell” the position. I was turned off by a lot of what he said.

    1) Elon Musk seems to be an idol at SpaceX. Decisions at even the most detailed level are sometimes dictated by him. He even has the final say on all applicants. This is problematic since the evangelist said that Elon is sick of “old schoolers” from Boeing and Lockheed Martin applying to SpaceX because he wants a “new generation” company.

    2) The entire office space is one giant open office. The partitions between desks are waist high. No one has their own office at SpaceX according to the interviewer.

    3) People work 50-55 hours on average per week regardless of the position. Engineers will often work more during bug fix rollouts, deployments, weekend duty, and more.

    The final interview was with the hiring manager. He came right out and stated, “I expect you to work 55 hours or more per week. I want you to setup a command center at your house so that you are available after hours and on the weekends if necessary.” Red flag #3. He went on to describe their software development process. It sounded chaotic.

    The process ended after weeks of hearing nothing from the recruiter even though he said he would get back to me with a decision in days. I sent multiple follow up emails and heard nothing. The only email address you get is to Jobvite, so I assume it’s easy for the recruiters to simply ignore or filter out everything you write.

    Interview Questions

    • Why SpaceX?   1 Answer
    • Describe a project that you were proud to work on. How did you overcome a challenge on that project? If you had to do it again, what would you change?   1 Answer
    • Write a function to reverse the words in an array.   1 Answer
    • Write a function to parse a special formatted string to a tree structure.   2 Answers
    • How do you feel about working 60 hours per week?   1 Answer

  7. Helpful (19)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Negative Experience
    Average Interview

    Application

    I applied online. The process took 6 weeks. I interviewed at SpaceX.

    Interview

    - 30 min online quiz
    - Recruiter call
    - Recruiter interview
    - Engineer interview
    - 6 hour coding test
    - 15 min presentation about coding test
    - 1 on 1 interviews

    The 6 hour C++ coding challenge isn't challenging in the technical sense. The coding test tries to challenge your ability to either:
    1. to imagine what they could throw at you and do your due diligence to come prepared for it,
    2. type really, really fast and know how to implement data structures,
    3. know knowledge about the challenge ahead of time by either knowing someone who interviewed before, knowing an employee, or by reading this review (which kind of falls into 1).
    4. working well in the trade space of non-functional v. functional requirements; product owner type skills for those of you who scrum.

    If you are reading this review, you already have a leg up on other candidates that haven't. My advice is to implement a library of common data structures before the interview. It has to be your own work and you _will_ need them. If I had this advice before I had my interview, I would have finished it in 1.5 - 2 hours.

    I don't think this coding challenge really tests what it was intended for that well, which is why I am revealing this information to you. I have had the same technical problem from other interviews and it was administered much better with an in person design session and a reasonable coding portion. My hope is to level the playing field and give feedback to improve SpaceX's interview process.

    I think the test was intended to set a high bar and to see if you could code with stress. I believe that's easily overcome by reading this review and it doesn't test what it should test: communication skills (verbal and non-verbal), how do you approach problems, can you code, can you design, can you work well with others, what knowledge do you have about data structures or are you just looking it up and coding it.

    Either way, the 6 hour test does reveal something about the company and the people that work there. I would have loved to have reached the one on one interviews or the presentation stage to see what SpaceX is all about. Unfortunately, I am left with a less than satisfying impression of the company.

    Interview Questions

    • Nothing was technically difficult. It was just the odd situation you are placed in.   Answer Question
  8. Helpful (1)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online. The process took 3 weeks. I interviewed at SpaceX in June 2015.

    Interview

    Applied on company website. Received a call from HR several weeks later asking to schedule a technical interview. Completed two 30-minute phone interviews with the team that was interested in me. The interview was over phone and shared online text editor.

    After the interviews I received a call from HR 20 minutes later regarding the team's decision.

    Interview Questions

    • Explain what a red-black tree is. What is the Big O for rebalancing? Here is a red-black tree class written in C++. Write a function to rebalance the tree.   Answer Question
    • Explain what * and ** means in python.   1 Answer

  9. Helpful (14)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online. The process took 2 weeks. I interviewed at SpaceX.

    Interview

    There were several steps to my interview process: an application, a programming quiz, a short quiz over the phone with a recruiter, and a longer quiz over the phone with an engineer.

    I applied online. After a week I got an email from a recruiter asking me to complete a programming quiz. The quiz was easy: 10 multiple choice C programming questions where you had to identify potential problems in code as it was written. The only thing C++ about the quiz was that one question used a "new", everything else was plain C. The quiz took less than 30 minutes to complete.

    After I completed the quiz, the recruiter and I arranged a time for a phone call. The recruiter missed the call at the time we had agreed on, and it took a followup email from me to arrange another time.

    The recruiter didn't miss the second time completely, but the call was still 10 minutes late. The call with the recruiter was brief, maybe 20 minutes, but it was surprisingly technical coming from the front lines; I had to answer several programming and data structures questions, "what is the running time of such-and-such algorithm" and "what does this keyword mean" kinds of questions, the kind where you need to provide a short answer and you either pass or fail. I answered them all well except for a C++ question, which was enough to get me onto the next round of interviewing.

    The next part of the interview happened the next day. It was a one hour phone call with a software engineer working on the same project I'd be working on. This call was more of a measure of the breadth and depth of my programming and computer science knowledge.

    The call began with me describing the most interesting programming projects I had done in the last few years. I told the engineer about some numerical programming I had done as part of a school project. We eventually got into discussing possible issues with floating-point numbers, things like how you can lose precision when you're performing certain operations with values close to machine epsilon and so on. This process continued for about 20 minutes, with me describing the major programming tasks I'd accomplished and the potential problems with the techniques I used.

    He then quizzed me on some data structures, asking me the definition of so-and-so structure and how it might be implemented. It was just my luck that he happened to pick one that I'd never studied before, and I missed the question completely. You really needed to have studied something like the big white algorithms book (CLRS) cover to cover and have most of the concepts in your memory ready to go to be able to pass this part of the quiz, because I feel like he could have asked me anything and expected me to give a deep response.

    There were other questions ranging from features of C++ and OOP design patterns to computer architecture, which were hit and miss for me. Again, I felt that I needed to have read a solid textbook cover to cover on these topics and have the knowledge readily available in my mind to have been able to pass this part of the interview; the questions can come from anywhere, and they expect very deep answers to every question. Being more of a C guy I really struggled on some of the C++ questions. I might have had a better chance of succeeding had I taken the interview closer to graduating college.

    After the phone interview, the recruiter got in touch within a few days and told me that I didn't pass the last part of the process. Had I passed, however, the next stage would have been a 6 hour programming quiz and then an onsite interview in Redmond.

    Overall I had a positive experience. I'm glad they provided feedback on my interview, which means that the process wasn't a total waste of time. I've interviewed at other companies (one started with an A) who provide zero feedback at the end of it all. This interview, however, showed me the weak points of my knowledge and left me wanting to improve myself.

    Interview Questions

    • What does the "volatile" keyword do? (I get the feeling they must have had some problems with this over there, since this question came up in both the recruiter's quiz and the engineer's quiz. Perhaps they had a variable mapped to a hardware register, and when the compiler decided to optimize it out they got a nasty bug)   Answer Question

Don't Miss Out On a Job You Love
Upload a resume to easily apply to jobs from anywhere. It's simple to set up.