Curved cyan lines sweeping across a yellow and mint green gradient with dark grain in the upper right

Not Leetcode Interviews

harder to prep for


I’ve done my fair share of leetcode and system design interviews. And an equal number of “non-standard” interviews.

Two stories, my best and worst. Neither a traditional one.

Best.

Arguably the best interview I had. They were a small, privately funded company with less than 50 employees providing a niche service. Small talk with the engineering team, their principal also shared my distaste for blindly vendoring in packages.

In the interview, they shared a screen with me and gave me control. They had a text editor and terminal open. A copy of their old production code that had a bug they have since resolved. My task was to identify the problem and figure out a solution. The only hint I had was it was single line fix.

Pretty fun interview. A moment of panic being thrown into an unfamiliar Go codebase where my only clues were that the service sits as a part of a broader pub-sub application and that I focus on the pointers.

Eventually settled my nerves and found the issue, inside a for loop, instead of looping through every sub, they were overwriting its address. Right there in consumer_mux.go, one line sub := sub made such a mess.

Overall, pretty solid process. I got reached out to by a recruiter from Pittsburgh who I kept in touch with. Company moved quick and were transparent about both their potential opportunities and risks. And they were prompt, soon after the virtual onsite I had an email in my inbox that they were looking for someone more senior.

Worst.

Here’s the worst. Won’t name the company, but it was “big software“.

I cold applied to a handful of jobs on their careers portal. All but one got rejected. A recruiter from the security org who was hiring for the identity management team.

Short call with the recruiter, then another with the hiring manager, followed a take home that would be reviewed in the next round.

Slightly harder than the usual deck of cards, but within reach for something to do on my own time. I was asked to make a toy model of a url shortener. No problem, simple task.

Next round, the tech screen. Interviewer said they didn’t care about the take home. And instead wanted me to implement a game of battleship in the terminal. Cool, exactly what I was told would happen.

But somehow I passed and was told I was making it to the virtual onsite.

An eight round, 8 hour interview.

Here were my icks. First I was told when the interview was happening (later the same week) with no heads up. Most people cannot just randomly take a day off mid week when they are in the middle of projects. The second was not getting any information about any of the rounds. Just that the count of how many. Third, I still had no idea what exactly I should prepare. What is the mix of work stories, writing code, and designing a system on a whiteboard.

I complained and had to get the hiring manager involved. Luckily they were sympathetic and rescheduled the interview for a day I could actually make it. Also gave me a little more details on the day. Who I’d talk to and if the round was technical or personality. Unfortunately no specifics.

The day happened and went by pretty quickly. I was thrilled to have one of the interviewers ask me about the take-home.

Waited a bit. Crickets. So I sent a followup. Eventually I got an email back saying they want to schedule a call. A call to tell me they didn’t want to hire me. This could’ve been an email.

Three Runner Ups.

I had one company ask me to build a pokedex with no heads up during the 1hr session using Vue and the PokeAPI. Probably the most interesting final round interview I’d had. Also impossible to prep for unless they told me ahead of time.

The other was a company who “forgets” to send non-junior candidates the take-home to refactor some sample code. And expects you to do it live. I’ll be frank. This is an ick. Tangentially related, keep an ear out for how often your interviewers mention design patterns or the architecture du jour.

The third also involved a take-home. Completed and submitted it. Got brought in for the onsite, short walk over to East Liberty from where I was living in Bloomfield. Ran into a former colleague who I learned that day left to go work for them. Got the tour and asked to sit in one of the conference rooms. My interviewer comes in, looks at my code, and tells me I did it incorrectly. And then abruptly leaves. Recruiter comes in saying they asked them to tell me that the interview is cancelled.

I spent my time to albeit incorrectly do the task. I took a day off work. The entire ego trip could’ve been an email.

Ya know.

For all the bakwaas they get.

Any time I have interviewed at Google, Amazon, or Facebook. The process has always been incredibly straightforward and predictable. Nowadays especially, grind Neetcode and Hello Interview. Not an ad.