Remix.run Logo
bcrosby95 6 days ago

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]