(no title)
jg0r3 | 6 months ago
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 months ago
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 months ago
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.
atoav|6 months ago
"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.