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...
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.
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.
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…
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.
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.
Deleted Comment
Dead Comment
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.
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.")
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.
Unfortunately, this problem has an easy and ultra-straightforward solution using deques with O(N) space complexity, and an another slightly tricky solution with O(1) complexity. I had spent some time the other day cracking this O(1) solution. I decided that I would take the risk of reproducing the tricky solution and wow the interviewers.
Naturally, I didn't. I got confused and had to start from scratch several times. And the interviewer kept hinting that I could use a data structure to make this simple, but stubborn me thought I was just minutes from a working perfect solution.
I deeply internalized the saying "Perfect is the enemy of good" after I was marched out of the building after only two interviews instead of the usual 4. I've had my fair share of interview bombs but I consider this the worst because I was lucky enough to have faced a problem I had solved recently, and for which the interviewer was willing to accept the easier solution, and yet I managed to nuke it to oblivion.
Deleted Comment
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.
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.
The first round grilled me about bond coupons and asked why I would apply to a bank if I didn’t know what that was. Completely flustered, I was handed a pen and paper Java assessment, and I completely froze up. Not even algorithms, simple stuff about scoping and how primitives and Objects do or don’t retain mutations after you return from a method. I bombed. The last interview was a clearly coked-up trader making fun of me, calling me an idiot, and asking me “how the fuck you got into MIT.” I cried on the way home.