Remix.run Logo
econnors 6 days ago

"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?"