Thursday, 11 April 2019

When the interview they told you to expect is not the interview that you get

Alternate title:
"What's worse than whiteboard coding? Surprise quiz whiteboard coding!"

I had a bit of a shocker this morning. 

Was told that the interview would be about past work experiences, system design, cases where I've demonstrated leadership skills. So I spent quite a bit of time going through projects in the past, reviewing issues, what I've done, design decisions, solutions, etc.

What did I get instead?

Whiteboard coding. 

Absolutely no word about this from HR. Was this what they meant by "technical interview"? Do a tricksy for-loop and lets see if you can find out the secret. Oooh, hahah. I get it.

IMO, whiteboard coding is basically the 21st century equivalent of 1990s Microsoft interview questions like  "How would you move Mt Fuji?" 

 
And c'mon. Are we in high school now?
Surprise quiz! Prove you can code and deal with array indexes like a good boy.
Every. Goddamn. Time.

Now I didn't exactly set myself up for success, health wise. Mea culpa. Having only 5 hrs of sleep is not good. I was also throwing up this morning  from either stress or just phlegm in my lungs. Maybe I have pneumonia? Oh boy, I should be so lucky.

Second problem was about removing adjacent duplicate characters pairs from a string. I got stuck on this way more than I should have. I first thought of doing it recursively but stuck to iterative approach instead. Used char arrays when I could've just used ArrayList. I wasn't at my best, tbh. I screwed up my health and turned into a two-legged stress ball. It should not have been that awful for me. I should have been in the zone. (Yes, excuses, excuses.)

I don't need to tell you that I would've done this pretty quickly in a couple of minutes given a computer. Even using *vi*. 

So we didn't get to the third part of the interview, the one that would've discussed the things I actually prepared for, about System Design and work.

I suppose I could've turned the tables and said "Hey, why don't we first do the question I actually prepared for, then we can do this crap you've just sprung on me without any notice?" At least my effort from last night wouldn't have been a total waste. Get a quick win, then do the nasty thing I hate doing. I probably should've been more assertive. Maybe I would have felt more settled after that. Perhaps. Perhaps. Perhaps.

I was at one point tempted to just go and leave. As if that would change or prove anything. 

But what did I need to prove, really? I already did the online coding test the week before. What does adding whiteboard coding do? Does it raise the bar? How?

What are we trying to weed out at this stage of the process? People who hate being misled into preparing for something that was only 1/3 of the interview? The inferior, anxious types who don't like whiteboard coding? Programmers who are productive when using a computer? 😱