Hacker News new | ask | show | jobs
by pkteison 2873 days ago
Every time an interviewer has told me something like this, they then nitpick syntax and appear to be primarily concerned with "does my whiteboard code compile" sorts of problems. And getting stuck / asking for help feels like I get docked for getting stuck. Same with less optimized. So it's hard to trust such an explanation - clearly my interview would be better if I came up with the perfectly optimized solution, or gave a lecture on the options rather than trying to discuss options.

So it seems to me entirely reasonable to still be nervous.

Mind you, I don't have a better answer, but I don't think just explaining that suboptimal is ok and it's a discussion really helps.

5 comments

All these discussions conflate a related, but separate problem with tech interviewing: most tech interviewers don't have much experience interviewing, and have never had good coaching on interviewing, and as a result mostly suck at it.

Picking on whiteboard code for not compiling is not good interview technique. But it's also a common enough failing that it's hard to say a bad interviewer in that regard means a bad workspace, unfortunately.

Bad workplaces are so common though that it’s a perfectly good heuristic to guess that if a place asks you to do whiteboard questions it’s a bad engineering workplace. You’re not missing much by passing, and the heuristic probably won’t be wrong much.
I guess you think every major tech company is a bad engineering workplace? Seems like a broad brush.
Is it even disputed anymore that the experience of working at the big tech companies is abjectly awful? I mean, you gotta work somewhere and they “are fine” and you might as well try to get paid well, but that’s a far cry from a workplace that stands out as good.

The only place I’ve worked that was “good” instead of “treats people poorly but where else are they going to go” was a small, boutique financial company.

Small companies that are randomly led by non-dummies are the best, but are exceedingly rare. Out of the vast majority comprising the other stuff, it’s mostly all so miserable that you’re doing yourself a favor to skip it unless the pay is some dramatic increase for you or you otherwise have some emergency requiring you to take some job.

Of course it’s disputed. There are lots of happy employees of tech giants. Any company with thousands and thousands of employees is going to have a wide variety of teams of varying qualities.

(And yeah, the pay makes a difference. Not a lot of places where you can make a few hundred thousand dollars a year.)

I work for a large tech company and don’t know of any company like that with a large number of employees happy with their company.

(I’m making a distinction between the idea that a job “is fine” where one “is happy” merely because the culture is at least not worse than elsewhere while the pay is better vs actually feeling positively about one’s company’s culture and corporate behavior.

For example, my friends who work at Facebook are “happy” with their jobs, mostly because of pay and because they know if they switch to other companies, politics, corporate misbehavior, etc., will just continue. But these same people tell me frequently how sad, upset, soulless, disappointed they regularly feel because of their employer.

That feeling I think is extremely widespread in tech, almost all employers. That’s the only part in my viewpoint that matters for whether someone “is happy” at their job, and it’s that type of bad culture I think can be easily flagged by little stuff, like bad whiteboard interviews.)

seems true
I wouldn't go as far to say whiteboard interviews == bad company. I will evaluate the company if a whiteboard interview is run poorly however and consider it a bullet dodged.
going through / having just gone through this process this is where i've basically ended up as well... crappy interview experiences are universal enough that they don't disqualify a company automatically (though obviously i'm not terribly fond of them :-).

the one thing i'd add is that i do take particularly thoughtful / empathetic interview processes, interviewers who actually know and understand the question (rarer than you'd think), etc. as a fairly strong signal, as those sorts of things don't just happen by chance-- they are the byproduct of a culture of thoughtfulness (and thoughtful people tend to be thoughtful about most things).

I caught an interviewer red handed once by handing him the marker and asking him to show me. He tried and failed and then his coworker tried to fix his mistake and failed.

Ya I did not get that job lol.

Good for you for asking. As an interviewer myself I wouldn't dare ask a question I couldn't answer.
By the time we get to the whiteboard problem we've already assessed technical skills as well as we can. The whiteboard problem is to test their fit on the team. It has worked well for us and certainly weeded out some people who could have been problematic culturally. Is that a "failing?" Maybe we lost some more technically skilled individuals that way, but our team isn't exactly lacking because of it.
This is generally the same experience I have had. I'll even talk through the assumptions (e.g. "Can we assume I know how to do argument checking?") and then after I've done the heavy-lifting of the problem-solving I'm now discussing how I didn't do something I brought up as an assumption.

Also, generally, if I'm whiteboarding in front of my coworkers/team/etc. I'm discussing something I've thought about for more than the few moments I have to digest the question while standing at the board during an interview.

Even if you didn't say

> Can we assume I know how to do argument checking?

I would probably question you at some point about a particular value of an argument and almost all candidates will get points for thinking out load that of course a NULL would get it crashing and that a simple check could stop it. Then it leads to discussion about how it should be handled. Sometimes a NULL means the program should cast an exception, other times it should just return without any side effect.

IMO the hate for whiteboard questions is really a symptom of poor interview technique.

Writing down the assumptions can help.
Maybe I was just lucky, but I interviewed with google and dropbox recently and both companies gave me laptops to type in, did not ask me once about if my code compiled, didn't comment on my style, nor did I have to perfectly know the standard library (for google, they told me to just guess at the random library functions and I also forgot some of the functions names for a set. For dropbox, one of the guys re-explained to me semaphore functions and how they worked since I forgot since it had been so long since I used them in college). I passed both.

Granted, I will give you that optimized code has definitely been important. One of those interviews even had me use a bit array (at least I think it was that) to efficiently a store a list of booleans but at least they gave me the relevant function calls to use an already implemented one.

> clearly my interview would be better if I came up with the perfectly optimized solution, or gave a lecture on the options rather than trying to discuss options.

Right. And a competency based interview goes better if you have a perfect example for every question. But it isn't an auto-fail if some of your answers are mediocre

Personally though - I'd rather hire someone who is able to properly communicate their thought process over an imperfect solution, than someone who was unable to discuss/explain the perfect solution they scrawled down.

Give feedback to the company.

When I give interviews candidates often say they don't remember some API. I tell them I don't care and they should make something up and I'll figure out what they are doing from context. The only time this burns candidates is when they clearly don't understand an ADT well enough to give it a sane interface.