Ask HN: Tell me about how you bombed a technical interview
Context: I was just listening to the latest Soft Skills Engineering[1] (a podcast I highly recommend, by the way!) and they were consoling a junior eng who bombed an interview by saying everyone has a story about doing this at some point. I thought it'd be nice to crowd-source these stories in case others are feeling bad about their interview experiences :)
I can start: My first tech interview ever was the summer going into my Junior year of college. I was still very raw and had no idea what to expect, and got asked a pretty standard string manipulation question. I fumbled around for a while before frantically trying to Google the question in a manner that I now realize was likely very obvious. Needless to say, I didn't get the job. I did learn from the experience, though, and studied my butt off for the next summer, which paid off in much harder interviews :)
Looking forward to hearing yours, thanks!
[1] https://softskills.audio/2023/04/03/episode-350-bombing-a-te...
129 comments
[ 4.8 ms ] story [ 162 ms ] threadIdea: Build a map of things that are easily forgotten and treat it as a map of places where the API needs improvement. (Following ye olde Law of Least Surprise. Thanks, Larry Wall!)
Hooks help me avoid that pain. But is the API perfect? Nope.
Again, this isn't 'American Idol for frameworks'; I'm not picking React because I think it's the best, or even better. I'm picking React because of the habitat, and because that habitat is now, in a sense, my hometown.
It's the same reason why I non-ironically recommend Wordpress to a lot of people that have super limited budgets and want the moon.
I do enjoy trying all the different new approaches to UI development though, especially as I'm not a frontend developer so most of the time I write frontend code I'm building either internal tools or personal projects, so I get to experiment a lot.
I too have been coding in React for that long (precisely that long, oddly enough ;D) and I used `useEffect()` in pretty much everything I was doing.
There are reasons for this that are local to the project I was on for most of that time.
And yeah, I'm pretty sure my embarrassing confusion cost me the interview in question.
Coding is a lot like playing a musical instrument, or singing. Without daily practice, you get musty. You can scrape off the must in a matter of days or weeks, but in the meantime, you can be expected to bomb any audition.
This is why it's so good to have something on the go on GitHub. It's not about the star-count, it's about keeping your hand in.
Uni interview at Cambridge for physics, I was asked to: derive the equation of motion for some coins sliding into each other on a table, and identify the oscillatory nodes of a tea cup struck with a spoon. Needless to say I didn’t get in and have the utmost respect for those who did!
First technical job interview I was asked whether a heavy or light element is better for absorbing nuclear radiation. Now that one I am embarrassed I didn’t get having completed my physics degree. Lighter is better.
Objectively I think I interviewed fairly strongly, however for the hands on coding portion of the interview, I basically couldn't even write more than a few lines. I couldn't remember simple things like function or class definitions. I had to look up a few syntax things, and my already challenging dyslexia was exacerbated to the point where I could barely type.
I recognize looking back on it that I had a freaking concussion and wasn't even supposed to be looking at screens or reading, but it was still really embarrassing.
In 2008 I was searching for my first full time job. At the time a social network company flew me out to SF from Toronto for interview. I was promised a 5-hour block but only lasted 3 hours before they walked me out. I don't remember the questions, but I do remember that the VP of Engineering at the time was browsing his BlackBerry and weren't listening to me. Needless to say, I felt humiliated for awhile after that experience.
Fast forward to 2018, I interviewed at this startup in SF and I did well in the first 2 sessions. The 3rd session was the CTO and he was the same person that ignored me 10 years prior. This time I did well enough that he immediately got the CEO to meet with me and offer me the job on the spot. I thanked them and ended up not taking that job due to a better opportunity elsewhere.
The CTO didn't remember me nor I confronted him about it, but it's a small win in my book.
Some dude at airbnb asked me if had gone to IIT ( indian institute of tech) and ended the interview early when i told him i didn't. This was after they flew me into sfo.
Unless you chose a java version old enough to have a driving license, in which case I could understand that response.
I’ve since decided to apply for two different software engineer jobs (since I don’t want to make another company yet) and didn’t get an offer for either. No idea why but I think it has to do with the technical interview. On one I didn’t even get past the first screen.
I amusingly find it harder to get a good software engineer job (let’s say which pays $200k+) than to create a company and raise millions (at least in the bubbly 2021 market). The technical interviews are just ridiculous and almost feel like a mild form of harassment. It’s like just because I don’t ace whatever esoteric code exercise they come up with, I’m ineligible for the job.
Me: *sits down*
CEO (whispers to my ear): "this is my chair"
I had about six conversations with a bunch of the team and a conversation with the CEO to sell me on the position. The last step was a seventh “conversation” with the Chief Data Officer to figure out if this was something I really wanted.
The CDO had different ideas… he joined the Zoom, started sharing his screen (with no introductions), opened a Google Doc and told me we were going “write some code together”.
I was pretty confused and flustered but tried to roll with it. He first asked me to “reverse a string”. OK. My lil Python snippet was fine but he didn’t like that it wasn’t “the most memory efficient way to do it”. He then asked me to write a function to approximate “e”. I just ended the interview right there.
I’ll never know exactly what happened, but it I had to guess I think the CDO felt undermined by the “rogue” employees who sourced me as a candidate and pushed me through the process without his consultation…
However, instead of the founder, an engineer ambushes me in the zoom call and starts a full on technical interview. In retrospect I should have ended the call there and then but I had already committed the time and it was only 30 minutes so I did my worst technical interview ever.
I'm still annoyed at their behavior, the company ended up folding so that's the silver lining.
The CTO was really harsh in the interview, he gave me a bunch of brain teaser questions, followed by some algorithms questions where he was expecting one correct answer and would interrupt me if I was going a different way. We barely had any of what I would expect would be proper questions for a CTO interview (eg stakeholder management, people management, technical architecture)
It was so bad that the COO sent me a personal note apologising after the interview, but said that they had to go with the CTOs judgement on who was better qualified to succeed him. That was a pretty surreal experience and I think it was because the CTO already had someone in mind to replace him.
And I kinda get it, I've been in-house tech leadership for companies where consultants have been pushed on me because they're someone's cousin or because they're a big company and therefore immediately trusted. But it can be frustrating...
For the 'e' question: I mean, we learned functions to approximate e in high school. There's a summing series you can do to approximate it- were they expecting you to remember that off the top of your head (if so, you probably dodged a bullet). Otherwise, e*x is its own differential, so i wonder if you could write some terrible routine iterating from a random value to the right one by computing finite differences of various values.
They were just expecting exp(x) = \sum_{i=0}^{\inf} \frac{x^i}{i!}.
Depending on the role it might be useless trivia, but it's not exactly an impossibly high bar tbh.
As I said depends on the role. Normal SWE? Sure, it's trivia and a rather stupid question. For a more science-y or finance role, I'd be very concerned if the candidate doesn't know it.
The power series definition of the exponential function is basic mathematics, and is widely used in financial modeling. This cowboy attitude towards math is just depressing.
An alternative closely related interview question that's a favorite of mine is "please compute the monthly payment for a $200,000 mortgage over 20 years at 3% yearly interest".
You shouldn't be allowed to graduate high school without knowing how to do that, and you'd be surprised how many self-described economists can't answer it.
Yes I did that in my C++ class in high school. But no I couldn’t do it now and end up with the right answer without some review. I’ve spent a decade and a half doing other things that should matter more than sword drills.
this kid wanted me to sort an array without using array.sort method in js.
that was the most stupid thing i was asked to do in my life, i had to end the interview.
i went as far as telling the founders they made bad hires. other red flags was overengineered web app, too buggy, no seo, no ogp, shit in mobile responsiveness.
their startup was defunct within 6 months, no wonder.
2. I froze again during a live coding interview when I was asked to correct code under test for a coin change problem. I couldn't get over the fact that someone was judging me based on what they were seeing live and I messed it up so badly that I told them I'm not good at live coding and left it at that >_<
FFS after ~15 years in the field having worked on firmware all the way up the stack one would think I'd be great at throwing out solutions to trivial problems off the top of my head...nope not my brain :D
I've found for myself that there's a massive difference in how someone approaches live coding. If it's a colleague or even my entire team I know that we are doing this together because we have a common goal and will support each other...unlike in an interview where it's set up to be antagonistic and that throws me off completely.
The next day I took a COVID test and it was positive. I should’ve postponed the interview as soon as something was off but it would be weeks until I felt better. I ended up getting a better offer at a better company but it still hurt to be rejected at least in part because I wasn’t feeling 100%. Live and learn.
After sending almost 150 CVs I had the opportunity to schedule a call with a manager at Apple for an internship, this was supposed to be the classic "get to know each other for a couple of minutes and then talk about how this is going to work".
Everything was fine until the manager asked a very basic problem (checking if a sudoku solution was valid), I did not expect a coding question during this very meeting so I was very nervous at the time and messed up.
They told me that they had found another candidate for the position saying that they do first come first served. I don't believe a single word of it, they took another candidate just because I was not good enough during the coding part and that's okay!
Moral of the story: don't believe what they say about the interview that it's going to take place, don't make assumptions, just be prepared for everything that could happen.
At one company they gave me a pen and a piece of paper, told me to sort an array and gave me a couple of minutes to write my answer.
I assumed I'm at command line, so I generated a rails scaffold (model, controller, view, db migrations), created and migrated the database, opened a database prompt and wrote a SQL "select ... order by" statement.
I think I wanted to demonstrate that I know rails and related tools; but I was also stressed and didn't communicate well. After looking at my answer they quickly ended the interview, told me "we'll be in touch" and I got a rejection email on my way home.
Update: first problem I solved with a breadth first search, the second was a minimum spamming tree.
As an example, almost no bit of coding work is done in an environment with no reference material, no autocompletion, no compiler feedback, and no debugger, yet many companies expect people to do whiteboard interviews with syntax and language features from memory.
But on the other hand so many people totally lie about their experience I can't believe it. People tend to have misleading cvs and overexaggerate their responsibilities very often. It makes me sad, because we can't just hire and continue the project, we need to spend few months getting people into the project, "giving a chance", to finally discover they just can't code, until we finally find the right person.
At least twice been invited to interview for roles that were not hands-on-keyboard roles, yet the entire interview process was coding activities. That's the kind of thing that drives me nuts, as it makes it obvious that the company doesn't even know what they want to hire. At least one of the times was a company that shows up on HN as a "darling", which makes me even angrier...
Just talking means a "talker" can bs his way through.
I ain't got nothing against a white board question as long as it is understood that syntax errors can obv happen but aren't the "point".
If you want a real chuckle, go look at the LinkedIn profiles of some of those "few-monthers" and take a look at how epic and groundbreaking their contribution was when they worked for you.
From the other side, I haven't had a technical interview for a few years, but back when I did, I eventually addressed the whiteboard thing by bringing a laptop and telling the interviewer that I suck at whiteboarding code, and I'd like to do it for real instead. I think I've tried that in three interview loops and gotten the job twice.
Next day I was asked all kinds of fun, esoteric questions about the C specification. That’s was hard. I was frazzled.
The final question I was asked to implement knn. Which I did brute force. And then I was asked to optimize it. And I was basically falling apart at that point and couldn’t recall a k-d tree. I blundered my way through some dead end.
This was for an engineering position embedded in an ops team. Sensing my interviewer’s frustration I asked if they’d ever have to implement knn on a page in a limited amount of time in order to bring the system back online. They said no. I never got an offer for that one.
First time, guy asks me how I'd do some problem, I talk him through it, I mention there's an easy O(n^2) way but with a bit of thinking there's probably an nlogn way. He doesn't want to let me think for half a minute, just rushes me into the inefficient solution. So I do that, and at the end it's "oh I think there's a better way".
Second time I've been through a bunch of rounds, 3rd party recruiter calls me to ask to go into the office to meet the boss, to discuss terms and numbers. I get there, he wants to code some BS algorithm on a piece of paper. I do the whole thing, he finds a bug. Won't tell me what it is. As far as I can tell, he isn't a compiler. So I search around a bit, find the bug, whatever, I don't get why he can't just let it go when we've talked through the algo. So we go on, second problem, I nail it again. Again there's some bug. I tell him listen, if this wasn't on a damn piece of paper in crappy handwriting, it wouldn't be a problem. Why are you trying to hire a head of trading technology using a piece of paper and a pen?
Didn't get the job, funnily enough.
That's a great description that hiring managers / HR / people who design and conduct interviews should contemplate. Are we ambushing candidates or are we seeking to understand their strengths and weaknesses?
Actually, I wonder if the prevalence has anything to do with the fact that an ambush interview style has certain advantages if you're hiring an HR person and therefore the people designing interview norms think it's a good idea?
(I can see this style having some utility for positions where the candidate has to deal with high-stakes social situations with very little prep, like HR or PR. "Prove your ability to calmly handle the unexpected and reorient.")
When I get triggered in an interview very "interesting" things can happen. Probably the most "legendary" is when I started uncontrollably crying and sobbing in an interview. They obviously wanted to bail and reschedule but I composed myself and was like "no keep going. I am fine". The irony was that they completely lost focus and did a terrible interviewing job but I did pretty good. Shockingly, I did not get that job.