Remix.run Logo
akudha 6 days ago

I'd hate being interviewed by a bot. Talking to these stupid automated answering machines is bad enough.

That said, the other side of the equation is also bad, for employers. I was asked to conduct some interviews recently. I asked the most basic of questions (like absolutely basic stuff, "what is an interface?" level basic). The number of people who said "I don't know" is far less than the number of people who tried to spin stories, make shit up on the fly etc. One guy boasted that he learned programming on his current job (never coded before) and now is a rock star leading a team of 5 people. His confidence was so high, I thought we might have a winner. For the next 20 minutes, he couldn't answer anything, even from his own resume. That is not even the worst part - while leaving, he had the audacity to ask "When can I start?".

Recruiting is broken from all sides. Recruiters working on commission are the worst, but employers and job seekers aren't far behind. I have no clue if this is true in other industries, but in tech it is bad, very bad

bee_rider 6 days ago | parent | next [-]

I think “what is an interface” would trip me up actually, haha.

My thought process was:

Well, most of the code I use uses a Reverse Communication Interface. But, I think these are pretty old-school projects, maybe I should start by talking about the Object Oriented interface to the library that we recently did. Or maybe I can talk about the file IO based interface that I did, it was extremely cursed but kind of funny. Wait, oh shit, is this about UI?

econnors 6 days ago | parent | next [-]

"Can you clarify what you mean by interface?" is the right answer

yoz-y 6 days ago | parent | next [-]

The point of that question is to see what the candidate will talk about. If they start talking about refraction so be it.

foobarchu 5 days ago | parent | prev | next [-]

I might go with "can you clarify what context?", if you can't infer it from the job description. Your wording could be interpreted as fishing for reminders.

cryptonector 5 days ago | parent | prev | next [-]

"Broadly speaking an interface is a contract exposing some elements that can be used to interact with a system from the outside. Narrowing things down a lot an interface in, say the Java programming language, is a name for a set of methods that classes implementing that interface must provide (and also some that are optional). Would you like to explore this topic further?"

would be my answer.

atoav 6 days ago | parent | prev | next [-]

As someone who interviewed people for technical roles, I'd see that as a bad sign and answer: "Just tell me what you can think about."

This isn't school where teachers give you trick questions and you fail if you misunderstand it. If you are applying as a software developer and you can't talk at length about various forms of interfaces you are probably not very experienced. UI, API, ABI are all interfaces..

liveoneggs 5 days ago | parent | next [-]

> This isn't school where teachers give you trick questions and you fail if you misunderstand it

Please explain leetcode live sessions, random brain teasers (how many pinball balls blah blah blah), weird off-the-wall questions (you were just in a plane crash/you wake up as a cockroach), AI trivia screeners, and the rest?

sam_bristow 4 days ago | parent [-]

I've been doing a bunch of receuiting recently and I make a point at the beginning of each interview to explicitly tell them that we don't do trick questions. We also don't do leetcode at all.

My approach to interviewing is that I want candidates to do the best they possibly can.

xahrepap 5 days ago | parent | prev | next [-]

One time an interviewer asked me languages I knew.

After I went through my experience with Java, C#, python, etc. he said, “I meant like… Spanish…”

atoav 5 days ago | parent [-]

Thst is a badly phrased question. "What languages do you speak?", would be the question to ask.

Because even of you were thinking about spoken languages, what does "knowing" mean? I "know" Hungarian exists, I know how Hungarian sounds like, I know how Hungarian words look like, but that doesn't mean I speak or understand it. Now if it was clear they meant apoken languages we could infer from the context they want to know about our skills with different spoken languages and didn't read our CV, which at least where I am from always contains a languages level with a skill level (e.g. German A1, English B1)

So yeah interviewers can suck at their job.

6 days ago | parent | prev [-]
[deleted]
marcosdumay 6 days ago | parent | prev | next [-]

And then hope that you are talking to somebody from a minority of job interviewers that are actually reasonable or trained into answering.

As a matter of fact, yes, that's the best approach, but only because if you receive a question like the OP's, you've already lost and have to just take a blind bet.

aquariusDue 6 days ago | parent | prev | next [-]

I love how yours is the sane answer and the replies to your comment basically hinge on the interviewer playing mind games. Seems like nobody cares anymore about communication skills and how it's supposed to be a two way street. Though on one of the comments I might've missed the sarcasm considering the suggestion of ending the answer with a classic LLM trope.

Now if a terse question deserves a terse answer that's to be judged on a case by case basis, I suppose.

5 days ago | parent [-]
[deleted]
vkou 6 days ago | parent | prev | next [-]

So far, in my experience, that kind of clarification question is highly correlated to be followed by a firehose of bullshit.

But I keep an open mind, and am always ready to be pleasantly surprised.

jg0r3 6 days ago | parent [-]

It really depends what your industry is. I've been writing some printer drivers for custom hardware + windows applications at work. Much of the technical jargon I've been learning during development involve things like "driver interfaces" and "communication interfaces".

Depending on how recently I'd been working on our printer drivers I also would likely need clarification. Now if the job is "frontend developer" I agree, someone needing to clarify if you're talking about a user interface or communication layer interface is probably a bad sign.

But if it's a looser role I'd definitely look to clarify the question!

bcrosby95 6 days ago | parent | next [-]

Even front end developers have more than 1 concept of an interface: there's both technical facing interfaces and customer facing interfaces.

I guess you could just give a generic answer: an interface represents some kinda boundary between users and implementation details, and hopefully said boundary is easier to use than the details.

I would guess some would flag that as a bullshit answer, but without clarification you can't do anything but speak in generalities.

Now if it were the interface keyword, they're primarily a means by which to introduce polymorphism. They no more achieve the goal of a generally-defined interface than does a regular class, which already satisfies the definition of the generally-defined interface through their public methods. This might also sound like a load of bullshit to some.

atoav 6 days ago | parent [-]

If you answered me like that I would be happy, as it means you understood the defining characteristic of any interface is that it is the deliberate introduction of a systemic boundary to act as a bridge between two systems in the broadest sense. E.g. if a human could directly interface with digital signals we wouldn't need a graphical user interface. If your program doesn't need to interact with other programs you wouldn't need an Application Protocol Interface, etc.

It isn't an easy question, but I'd really suggest to see such broad questions as a chance to show off your knowledge, instead of a potential trick question where the teacher expects you to read their mind and gives you an F if you answered the wrong question. If an interviewer isn't happy with a broad answer to a broad question they can always ask you to go into detail on a specific aspect. Having demonstrated that you have a broad overview and a high level understanding is valuable either way.

6 days ago | parent [-]
[deleted]
atoav 6 days ago | parent | prev [-]

I interviewed people and I would prefer a broad answer to a broad question. A broad question is an invitation for you to present me a selected platter of knowledge you have aquired about the various forms of interfaces. And the candidate who does that will always outperform a candidate who can't think about those concepts on a broad abstract level and needs to be lead to the waterhole.

"What is an interface?", is a totally legit question that can be answered without thinking about any specific interface. E.g. it could could be described as a systemic boundary between two domains, that is ideally well defined. You could talk about different interfaces, what the advantages and pitfalls of introducing interfaces are, conventions that exist etc.

Jare 6 days ago | parent | prev [-]

If you're not a Junior and that's all you have to say without even attempting to approach the actual question, you would be raising a red flag with me. Maybe there are better ways to phrase that counter-question, but this one in particular made me twitch.

In my experience, outlining one or a few things you call interfaces would be a much better display of both knowledge and attitude: GUI, API, interface keyword or concept in some programming language, etc. Even better, add a quick description of what they all have in common ("broadly speaking, a way to access a set of functionality" or something like that).

And THEN you may ask "would you like me to elaborate on one meaning in particular?"

prawn 6 days ago | parent [-]

Possible alternative phrasing - "That might depend on the context. Is there a particular context you had in mind or did you want me to answer in a very broad sense?"

akudha 6 days ago | parent | prev | next [-]

It is not about not knowing some topic. I am myself an average programmer on my best day and I don't expect candidates to be genius level thinkers. It is the lying, the making stuff up on the spot - like what are they thinking? The blatant arrogance and callousness towards the person/people interviewing them. How hard can it be to say "I don't know" or "I don't use this concept in my daily tasks, but let me try to explain from memory" or something like that?

mcv 6 days ago | parent | next [-]

This is in fact one of my two requirements when interviewing: I want to hear the candidate say "I don't know" to a question. The other is that I want to hear them talk passionately about some project they once did. Bullshitting is an immediate fail.

foobarchu 5 days ago | parent | next [-]

Same. When I'm on a panel interviewing developers (as a developer myself), I don't actually care if you meet the specific listed qualifications directly, I want you to answer in ways that demonstrate how you think to prove to me that you can solve the problems the role needs. I don't want someone who can memorize a study guide, I want someone who can problem solve and think critically.

Each time I've gotten my way it turned out to be a great decision. When I've acquiesce to "but they knew all my java trivia questions" it's been a bad choice.

abathur 6 days ago | parent | prev | next [-]

You sound incisive :)

It's hard in the moment, but we'd do well to appreciate that not passing a myopic screen is likely a blessing.

nathan_douglas 4 days ago | parent | prev [-]

ho boy, I wish I were interviewed by more people like you. I never know what the hell is going on and it's almost impossible to get me to shut up about my stupid projects.

detourdog 6 days ago | parent | prev [-]

There is also small computer systems interface or SCSI.

atoav 6 days ago | parent | prev | next [-]

Without looking anything up:

"Depends in which context we are talking about it, but in the broadest sense it is a defined systemic boundary between two different domains. E.g. a User interface marks the boundary between the user and the program, an API could mark the boundary between the program and other programs, an ABI can mark the boundary between binary data and programs who read that data and so on. Ideally you want those interfaces to be well defined as theh act as translation layers and other systems can start to rely on the shape of an interface. "

I could then talk about why interfaces can act as a decoupling layer etc.

xwolfi 6 days ago | parent | prev [-]

An interface is a layer of translation between two things.

In Object oriented programming, it's a contract between two encapsulated modules: you define how one should be used, without exposing internals, and the other will have only this contract to manipulate the module.

Otherwise, for a graphical interface, it's a translation between what the machine can do and what the human can see.

prewett 5 days ago | parent [-]

But in Object Oriented Programming an interface is also a class with only pure virtual methods, which is the interpretation that came most naturally to my detail-oriented mind. In this case it’s not a translation boundary, but rather a way to abstract away the details of which thing you’re actually talking to.

Maybe the interviewer is okay with either answer, but I could easily see this question resulting in bzzt, you’re wrong if you happen to be thinking the way the interviewer isn’t.

johnnyanmac 6 days ago | parent | prev | next [-]

If your filters still get you unqualified candidates, I'd start looking at your filters first. Job reqs are being driven sky high, but people who get called back are horror stories like this that fail fizz buzz. Seems like the only ones who make it though are 90% liars and 1% unicorns. And perhaps soke 4-5% that could do the job but were failed anyway.

Aeolun 6 days ago | parent [-]

I mean, _I_ am not interviewing right now. But I can imagine Mr. useless that doesn’t know shot is.

johnnyanmac 6 days ago | parent [-]

I'm interviewing. I'm just not getting answers back. I have 9 YOE now so I've done the usual gauntlet hundreds of times by now.

Paet of it is that a lot of places just aren't hiring to begin with. So I guess I shouldn't be surprised that those who remain either have poor processes (maybe some by design) or don't know how to find what they are looking for.

mh- 6 days ago | parent [-]

> I have 9 YOE now so I've done the usual gauntlet hundreds of times by now.

I'm not sure how to parse this.. you've done hundreds of interviews, as the candidate, in 9 years of experience?

wishinghand 6 days ago | parent [-]

If they move jobs every two years, that’s 5 periods of interviewing. 40 interviews per period doesn’t seem too out there.

chipsrafferty 5 days ago | parent [-]

I interpreted that as "I got laid off and I have 9 y.o.e. and I've done hundreds of interviews in this current period"

ghxst 6 days ago | parent | prev | next [-]

"What is an interface?" reminds me of one of my favorite interview questions: "What happens when you open a browser and visit a webpage?". There’s no single right answer and when asked in the right way I find it helps surface knowledge and skills candidates might not otherwise bring up. Some go into OS internals, others talk about networking, some focus on UI and page load performance. Even when candidates expect the question it still reveals how they think and what they spent time reading up on.

transcriptase 6 days ago | parent [-]

“324 unrelated companies are made aware of you visiting the webpage via a mountain of JavaScript, tracking pixels, cookies, and telemetry, and then your browser renders megabytes of code to display kilobytes of content, while prompting you to make an account or download an app”

mindok 5 days ago | parent [-]

Hope you just overlooked the auto-playing video ads due to the pressure of the interview. When can you start?

Animats 6 days ago | parent | prev | next [-]

"I'll have my bot call your bot".

There's already a user-side AI program for talking to customer service phone systems. (Need to find the reference. Really good idea.)

(I can't find the reference. It's buried under a sea of advertising for company-side chatbots. Anybody remember the link?)

kev009 6 days ago | parent | next [-]

This kind of race to expensive meaninglessness is hilarious in a similar way a human language modem would be.

lufenialif2 6 days ago | parent | prev | next [-]

It was this one I believe:

https://news.ycombinator.com/item?id=44716414

ukuina 6 days ago | parent | prev | next [-]

https://news.ycombinator.com/item?id=44716414

arjvik 6 days ago | parent | prev [-]

Holy shit, I’d totally pay for this!

rightbyte 6 days ago | parent | prev | next [-]

"what is an interface?"

Heh. I had a brian freeze just reading that. That is not a basic question, just because the concept is fundamental.

Jaygles 6 days ago | parent [-]

In my opinion, a very generic question like that deserves a very generic answer, with a follow-up asking if that is what they had in mind.

"An interface is roughly how a system is designed to be interacted with. A web page can be an interface with your bank if they have online banking. An API can be an interface for a back-end service to provide to other back-end services. Did you have anything specific in mind?"

ponector 6 days ago | parent [-]

Usually the interviewer has particular definition in mind and you need to guess it to pass to the next stages.

limininsklyy 5 days ago | parent | next [-]

Yup. I have been rejected once because I discussed a variety of options to harden a system instead of blurting out "VPN" as they wanted. They told me that after I discussed some trade offs in security for a little bit.

Shocka1 3 days ago | parent [-]

Young in my career I bombed a five person panel interview once with a bunch of questions like this.

One of them I remember being especially unfair - "if one of our systems connections goes down, how would you troubleshoot it"? I had what I thought was a great answer, reviewing logs, looking for errors, verifying the server or system had internet access, etc... They informed me that the correct answer was checking that the ethernet cable was plugged in...

Along with feeling completely defeated after the interview (since I really needed a job at the time), I felt like it was an extremely loaded question and my answer should have gotten a +1, especially since my answer discussed internet access. I did dodge a bullet though. That startup failed 15 months after my interview.

Aeolun 6 days ago | parent | prev [-]

Anyone asking that question is generally ok with any of the answers. The important thing here is the concept, not the implementation.

sebastiennight 6 days ago | parent [-]

> The important thing here is the concept, not the implementation.

"Ah, so you meant OOP, got it!"

fpoling 6 days ago | parent | prev | next [-]

If recruiting is so broken I expect more certification courses to appear or even language knowledge exams done by independent agencies in physical presence. Like it was done for TOEFL and similar exams in past.

__loam 6 days ago | parent [-]

The industry is practically allergic to the strict certification processes that are present in other fields like engineering. Don't expect this to change anytime soon. I think these companies prefer a wider recruiting pool to standardization.

ivape 6 days ago | parent | prev | next [-]

Coding is now part of the current "side hustle" trope that's going on.

account42 5 days ago | parent | prev | next [-]

> Talking to these stupid automated answering machines is bad enough.

I refuse to do that to. Usually you can just curse or talk gibberish until the system gives up and you get redirected to a human.

If that doesn't work, just find another communication method that does - send an email to a C-level address if you can find/guess one.

elAhmo 6 days ago | parent | prev | next [-]

Those people should be filtered by CV screening, maybe some sort of email exchange before with a few questions to answer to 'ensure' human wants to invest some time in the interview process, rather than just spray and pray.

lucraft 6 days ago | parent | next [-]

To an extent I think would be surprising to anyone who hasn’t done interviews, all developer CVs below about Staff level are the same.

Everyone’s architected a system, handled communication with stakeholders, contributed to technical direction of the team, mentored other developers, etc etc

prepend 6 days ago | parent | next [-]

You’d think that but I remember one interview where the candidate was highly recommended and they had never communicated with a stakeholder. A PM had always done that. They had never talked with a user. Ever. They had 15 years of experience.

It’s funny the stuff I assume is really easy and common and keep getting reminded that the world is really diverse.

mlboss 6 days ago | parent [-]

I don't think you will ever talk to a user if you work in a big company. There are so many layers of abstraction.

Aeolun 6 days ago | parent [-]

And it’s not even because you don’t want to. It’s just because that’s how things work. I spent years talking directly to users and then I started working for a multinational, and I haven’t seen a user in 7 years…

throwawayoldie 6 days ago | parent | prev [-]

I mean...that's what the job is.

kccqzy 6 days ago | parent | prev | next [-]

CV screening doesn't do much. They exaggerate and lie. My current employer has recently started to direct applicants to an online coding exercise. Like leetcode but easier, just to prove they can write code.

aDyslecticCrow 6 days ago | parent | next [-]

I did one of those when applying to my current job which adjusted based on how well you did. But it leaned quite hard into theory and details rather than writing code. Bitwise logic puzzles that would be hard to solve without being schooled in c or find that kind of puzzles fun.

I got things like inverting signed values 2-complement form, or bit shifting a float, or casting structs to arrays and poking at the bytes.

After starting i asked them if they had checked with AI, and they had apparently tested the quiz and it scored quite bad, so it was a good filter. (even if a-lot of the questions leaned more into puzzle solving than coding or design)

Balgair 6 days ago | parent | prev [-]

Wait, how does this thing work?

Can't you just vibe-code your way through it?

Genuinely curious on your thoughts on this idea here.

strbean 6 days ago | parent [-]

They're probably using a platform that lets you replay the entire development session (see the pace of typing into a web IDE, what files they are looking at, etc.). Applicants will have to work pretty hard to fake natural-looking input of AI-generated code.

pavlus 6 days ago | parent | next [-]

I would instantly fail it, because I'd go and solve it in some scratch file in IDE, and then paste it there.

hawk_ 6 days ago | parent | prev | next [-]

But then someone has to watch the recording which you can speed up by say 2-4x but not much more than that. This doesn't scale. The number of terrible candidates out there who have no business being anywhere near an IDE is insane.

tayo42 6 days ago | parent [-]

I'd guess you do it like bot detection.

An online coding platform is going to be all js. You can track key press and mouse events and probably get a good idea of what's obviously real and what's not.

arrowsmith 6 days ago | parent | prev [-]

Probably not hard to create a bot that controls your computer and makes it looks like you're typing the code in, pausing to think, going back to fix typos etc..

The arms race never stops.

strbean 6 days ago | parent [-]

Until that bot is widely available to candidates, it's not an issue.

If they built the bot themselves, they've already proven themselves to the extent that an online coding exercise would.

gloryjulio 6 days ago | parent | prev [-]

Isn't that the 1st phone round? Most such people would not pass the technical portion of the phone call

kccqzy 6 days ago | parent [-]

This is also why I specifically told the recruiter at my employer to never ask me to do the 1st phone round. Too many under qualified people at this stage and it's depressing to write No Hire again and again.

6 days ago | parent | next [-]
[deleted]
hyperadvanced 6 days ago | parent | prev [-]

But but but now that we have genAI anyone can do it!

infecto 6 days ago | parent | prev [-]

It really is broken. I know on the recruiting side especially more recently I have so many folks that don’t even want to walk through the problem together or just straight out lie. It’s frustrating and broken for all parties.