Interviewing at Six Silicon Valley Giants in Six Days: Day 5 @ Facebook
A contemporaneous account of my 2018 interview gauntlet
The Morning Of
I was out like a light before 9pm last night and my alarm woke me up this morning at 5:15am, so this is probably the most well-rested I’ll be for an interview thus far. Nerves are creeping back into my system, probably because Facebook has been somewhat of a dream company for me ever since I started to really embrace iOS development. I’m totally excited to see their campus today as I’ve heard a lot about it.
I’m also somewhat on pins and needles as I await Apple’s decision, which is supposed to come in either today or tomorrow. So far, LinkedIn moved forward during Apple’s interview day and Yelp moved forward during Amazon’s. Thus, it’s only reasonable that $Apple moves forward during Facebook’s. It’s simple pattern recognition. 😊
Prep-wise I’m going to continue employing my strategy of not doing any cramming to keep my mind clear. It’s thus far been the strategy I’ve used and I’ve done on four interviews, so I won’t rock the boat. I don’t think I was provided an itinerary for my interviews today, so I don’t have anything to list. I’ll probably edit one in after the fact without times, but I’ll at least be able to provide the sequencing. (Edit: truth.)
11:15pm-12:00pm: culture fit w/ engineering manager, whiteboard coding
12:00pm-12:45pm: whiteboard coding
1:45pm-2:30pm: mobile system design
2:30pm-3:15pm: mobile whiteboard coding
I’m in the lobby now waiting for my point of contact to come and greet me, and wow, I can definitely tell that I want to do well in this interview in particular. I don’t feel so hot physically, which is a feeling I’m all too familiar with from the phone screens. I have another 30 minutes before my interviews are supposed to start, though, so maybe it’s good that I’m early and it’ll all die down, leaving me fully there physically (and mentally) so I can do my best. Either that or it just gives me an extra 30 minutes of nausea. 🤒
I think the worst thing that could happen between now and 11:00am — the start of my interview — is getting a rejection from Apple. I’d be pretty bummed about that. Maybe I should just abstain from reading my email. Just kidding, I’m totally incapable of doing that. At least it’s nice and sunny both inside and outside at this building so I don’t feel like I’m trapped in a dungeon. I get enough of that in the interview rooms each day.
My recruiter just reached out to me and asked my shirt size so I can get a swag bag of stuff. That’s pretty awesome. I think some part of me should say “no, it’s not awesome to provide free advertising to a company, and it’s less awesome to be excited about it”, but the rest of me is saying wow free stuff!. I guess I’ll close down now if I’m going to be meeting up with my recruiter soon so I don’t seem weird blogging about a bunch of stuff instead of, like, preparing.
It went ok. To recap:
11:15pm-12:00pm: Culture fit w/ engineering manager, whiteboard coding
I felt this interview went very well. I got a lot of good insight into the company and the company’s benefits, but also a good look into what the manager felt the company’s weaknesses were. They seemed pretty honest to me, too, and they gave me a bit to think about. The coding part sounded extremely intimidating to start, but eventually it boiled down to a very simple problem. No concerns here.
12:00pm-12:45pm: Whiteboard coding
This was a language-agnostic whiteboard coding interview. The first question was very straightforward. I hadn’t seen anything like it in the past, but it was trivial to see a solution. The second problem I stumbled on for 5–10 minutes as I continued to try to brute-force solve something in a really ugly way before a couple hints from the interviewer prompted me to do something far more elegant and a lot less stupid. I eventually got to an answer we both seemed satisfied with, but if they wanted me to get it right off the bat or with no hints, I may have blown it here.
No feedback. Nice, honest conversation.
1:45pm-2:30pm: Mobile system design
This was my worst interview by far. Not just of the day, but on the trip. From the very beginning I think I got off on the wrong foot because I had trouble understanding my interviewer and I think it came off as offensive. We worked through the problem together and didn’t even get through all of the requirements in the time we had. Unfortunately, I think my interviewer was laughing at me during a few of my questions and considered them silly questions. I tried to gather requirements, probably by force of habit because every other design interview likes to see you do so, and each time I’d get a chuckle and a “I don’t know, it’s your interview, design it and find the tradeoffs”.
Oh well. It wasn’t a miserable experience, but it’s definitely the most uncomfortable I’ve been in an interview this week. If I don’t get an offer I’m like 85% sure it’s because of blowing this interview. I think my brain was just in the wrong mode.
2:30pm-3:15pm: Mobile whiteboard coding
This interview had a pretty straightforward question in Objective-C to start. It also brought my first set of Objective-C specific language questions. I forgot a line of code, but once he pointed that out, I quickly identified what needed to be added and why. He asked me to theorize about some iOS stuff and I was happy with what I came up with on the spot.
The next problem went a lot worse. First, I solved a simple happy-path case, but I struggled a ton on fighting the other cases. I started to go down a path of extreme complication and I was cautioned that I was vastly overcomplicating things. For some reason an answer just dawned on me after that and I smooth-sailed it to an optimal solution. If they wanted me to instantly solve it optimally, though, this was another place I could have blown it.
Overall, this is probably the worst interview performance I had on this trip (and, honestly, in my full-time career). I felt one interview was a 4/4, two interviews were 3/4, and the last interview was a 1/4 or a 2/4. That’s not a very good average. Overall, though, I feel confident that I’m “good enough” to work at Facebook and I should just be prepared for a design interview where I just make every decision as opposed to soliciting design requirements. I think I expected a different interview format and didn’t understand until way too late what my interviewer was looking for.
In other news, Amazon called me to say they would extend an offer next week, so that’s cool. With that, LinkedIn, Yelp, and Amazon have all said they’d like to extend offers, while Apple and Facebook will give me a thumbs up or a thumbs down by mid-next week.
Just one company left! I don’t really care about how Google goes on Monday. They’re prestigious, but I don’t particularly want to work there anymore. I guess I’m just excited to be done with all of this so I’m mentally phoning it in. I’ll still show up and do my best, but I’m far more interested in the fact that on Monday I may get numbers from LinkedIn, Yelp, Apple, and Amazon if everything goes perfectly. That would make for a very fine start to my week. I guess in some ways, a fine start to the next step in my career.