Interviewing at Six Silicon Valley Giants in Six Days: Day 2 @ Yelp

A contemporaneous account of my 2018 interview gauntlet

Bay Area Belletrist
The Startup

--

Ok, maybe “Giant” is pushing it, but it’s a multi-billion dollar company, at least!

The Morning Of

I’ll keep my preamble for today short. I slept decent (in that I slept at all), my interview jitters are largely gone (though not completely), and I’m feeling good headed into today. It was hard to gauge where I stood in the world — was all of my confidence unfounded? — headed into this trip. Yesterday validated that I’m at least somewhat competent.

Even if LinkedIn doesn’t ultimately submit an offer, I held my own, so I no longer think “complete catastrophe” is a potential outcome of this trip. I expected yesterday’s interview to be probably the third hardest, and if I did alright there, I expect to do alright at a few other places as well, including today. My schedule for the day at Yelp:

11:30am-12:30pm: Lunch with team

12:45pm-1:00pm: meet with recruiter

1:00pm-1:45pm: Mobile interview #1

1:45pm-2:30pm: Mobile interview #2

2:30pm-3:15pm: Mobile interview #3

3:15pm–4:00pm: Mobile interview #4

4:00pm-4:15pm: meet with recruiter

Au revoir!

The Interviews

It’s now 8:27pm and I fully fed from some food on Fisherman’s Wharf. Well, sorta. It was from a hotel nearby because I didn’t want to use Yelp’s reimbursement to fund a $50 entrée on the oceanfront. It was good, but now I just feel like passing out, especially after the hour I took Lyfting back from San Francisco. My Lyft driver played some pretty sweet Brazilian music the entire way back, though. He sang along, too. Neat. As for how each interview went:

11:30am-12:30pm: Lunch with team

This was super cool and practical. It really helped me envision myself as part of the team and how I would like it. Were people friendly? How was the banter? How off-color were things? Was there a lot of laughter? Did people seem bummed to be at work? There’s a lot you can glean from unscripted conversation for an hour between five people, and I thought it provided very valuable insight. I ate super light because interviews make me nervous and the last thing I want to think about it “wow, I sure don’t feel good” when I’m being stumped by some algorithm problem.

12:45pm-1:00pm: Meet with recruiter

This didn’t really happen. I spoke to my recruiter for maybe two minutes as she escorted me to my interview room.

1:00pm-1:45pm: Mobile interview #1

This interview started off pretty heavy into my resume. I was asked about the process at my current company, previous projects that I’d worked on, stuff like that.

I’m totally not afraid of going into extreme detail about anything on my resume (at least that I remember; some things from internships five years ago I may be pretty hazy on), so I have no problem with lots of probing questions about past experience. I felt I accurately described my role on various things. If I have any takeaways from this, it’s know your resume and don’t embellish anything. It may get you past a recruiter screen, but you’re totally dead in the water if you’re called on it.

I was also asked an algorithmic question at the end of this interview. I did ok. I ultimately came up with a working solution with an ugly-ish runtime, he gave a hint, and I took the hint and explained how we could change it to achieve the optimal runtime. I think I’d only feel super confident about an algorithm interview if I answered everything flawlessly and coded it perfectly, which is mostly impractical. I didn’t “ace” the coding portion, but overall, it went well.

1:45pm-2:30pm: Mobile interview #2

This interview started off with another extensive-ish review of portions of my resume. Whereas the first interview asked me a lot about the kinds of issues I have with mobile programming, strengths, weaknesses, things like that, this was far more language focused. I was asked between 10 and 15 questions specific to Swift, Objective-C, UIKit, or general mobile programming things. I was pretty upfront that I only had a working knowledge of Swift and I answered all but maybe one or two without any clarifications. I’m not concerned with how I did during that “knowledge” portion of the interview.

The coding question here was less algorithmic and more practical. It started with a simple “you have this API, implement these three methods provided this UI”. We built on that and continued to add more constraints to the problem. I can’t say I did perfectly because there was definitely one part of the interview where the approach I suggested wasn’t what my interviewer had in mind, but once he suggested looking at a certain alternative, I was able to explain how you’d use that alternative to solve the problem a different way.

2:30pm-3:15pm: Mobile interview #3

This interview, again, went into my resume, and also asked a lot about why I wanted to work in mobile specifically. We talked a bit about what drove me, why I was seeking new opportunities, things like that. I had a lot of fun talking about why I love what I do and why I love mobile specifically. After we chatted about me for a bit, we moved on to the more test-ish part of the interview.

The rest of the interview was system design focused. While the previous one was more “we have this screen, implement these methods, what are the considerations”, this was far more “we have this idea, how would you wire all of this up?”. There’s not too much more I can add, as these interviews are all pretty similar. They allow interviewers to just keep probing to find out where your deficiencies are (we all have them) and do a good job, I imagine, of sizing a candidate up. I misunderstood a few things along the way, but I clarified enough that I think we were on the same page.

Eventually we got to a design question that I’ve never really solved in my own programming, so I had to explain different approaches, but I also had to add why I was hesitant to fully endorse any one of those approaches, because none of them felt “clean”. While I’d obviously prefer that I had a great answer for everything, I thought I did fine overall. I didn’t “ace” this one either, but I held my own.

3:15pm–4:00pm: Mobile interview #4

This was with the manager I’d spoken with earlier. He was really personable and conversation flowed very naturally. I got to geek out about a bunch of stuff I’d worked on and a bunch of my programming hobbies. I was asked why I wanted to work for this company in particular for the second or third time, but I was able to go into a lot more depth this time. I had a ton of fun going over my resume in this interview for that reason. And yes, I went over my resume four times, although different interviewers highlighted different portions. There wasn’t any real overlap past super basic questions that everyone wanted answered.

We then moved on to the coding portion. This was probably my best coding interview of the day; I solved the initial problem in a minute or two, and I solved follow-ups in less than five minutes. I did let part of the problem slip my mind at one point, so I explained an approach that was pointlessly complex. I resolved it and corrected myself when he asked again if I needed to do it that way, so that was more a case of me not thinking. I was happy with how I did in this interview.

4:00pm-4:15pm: meet with recruiter

This was short and sweet. We just talked about deadlines and how long it would take to hear back. The recruiter was warm and easy to talk to and she was the one that ultimately escorted me out.

Closing Thoughts

So I guess that’s that. Because nothing stood out today compared to yesterday’s botched starter code issue, I probably did better today than I did yesterday in the eyes of my interviewers. I’m cautiously optimistic about both now.

For a small recap: I flew in on Sunday (after multiple delays and the most uncomfortable flight of my life), didn’t really sleep, interviewed for five hours on Monday, slept, woke up early on Tuesday, Lyfted to my new hotel, checked in, Lyfted an hour downtown, interviewed for five hours, Lyfted an hour back, and now I’m here. Finally, my interview tomorrow is at 12:45pm and I don’t have to switch hotels, meaning I can actually catch up on sleep.

Regardless of what offer(s) I receive or ultimately sign take, it’s important to me that I do well tomorrow for a lot of personal reasons. I’ve always wanted to do well at an interview with tomorrow’s company. Thankfully, due to the first two days going pretty well, most of my nerves are gone (for now).

Until tomorrow!🙂

--

--

Bay Area Belletrist
The Startup

twitter.com/bayareabell — DM me on Twitter if you have any questions on anything, iOS or otherwise. I’m no industry vet but I’ll help if I can :)