10 Essential Software Developers Interview Questions and Answers [2023] | Toptal®
Being able to communicate well is one of the most important skills a candidate can have. A question like this will give you an idea of how the candidate handles the most difficult or complex conversations.
A candidate might answer like this:
An API (Application Programming Interface) may be used for a web-based system, software library, computer hardware, and an operating or database system. It is a set of rules (code) and specifications that software programs can follow in order to communicate. Simply put, it works as an interface between different programs and facilitates their interaction.
While this answer is accurate enough, it may come across as “just more tech-speak” to a non-tech-savvy audience. A better answer would be:
“API” is a very generic term—it can be used in all sorts of programming contexts: websites, mobile apps, desktop software, and even operating systems (e.g. Windows, macOS, or Linux). It’s a specification for how a piece of software can be used by other pieces of software.
This is a little better: There’s less of an academic tone, and some precision was traded for slightly more relatable terms like “web site” over “web-based system” and “desktop software” over “software library”. However, it still gets too technical in that it has to have an aside to define OSes, which the audience may not be familiar with.
Compare that with:
An API tells programmers how to automate a product—anything from web apps like Twitter all the way down to Windows itself. For example, I could use Twitter’s API to fetch our company’s most recent tweets and then display them on our website. That way our social media specialist can simply tweet, without having to always take extra steps to copy the tweet to our website.
Here, the answer gets across three key aspects of the topic:
- What it is, in very relatable terms: Everyone has heard of programmers, Twitter, and Windows.
- What it does, using a concrete example. Here the example again uses familiar concepts: Tweeting and displaying something on a web site.
- Why it’s beneficial, building on the example and highlighting the “before and after” difference: It saves time and lets employees focus more on creativity over monotony.
This should give you an idea of what to look for, but feel free to choose a more familiar technical term than “API,” if applicable. Communication is one thing, but it would be a definite red flag if your candidate’s answer wasn’t even correct!