If you're interviewing for an API (application programming interface) management position, it will be important to show the interviewer that you have an understanding of APIs, API testing, SOAP and REST.
You should prepare your answers before the interview so you'll be able to demonstrate your grasp of all things API and API management, the process of overseeing APIs in a secure and scalable environment, as well as some best practices. The goal of API management is to ensure that the needs of developers and the applications they may use are being met.
To help you ace your API management interview, here are 22 commonly asked questions and sample answers.
1. What is an API?
An API is code that enables two applications to communicate with each other. An API enables a developer to make a specific call or request to send or receive information.
2. What are API-centric applications?
API-centric applications are web services developed using APIs that exchange data with other applications. The functionality of an API-centric app involves enabling the front end and back end to communicate.
Developers build API-centric applications by designing functions and classes that can operate with other elements and be implemented in a variety of languages. Since today's applications use multiple interfaces, each application needs to be able to connect to each interface.
Vendors offering API management platforms include AWS, Apigee, Google, IBM, Microsoft, MuleSoft, Oracle and Red Hat. Developers can use these tools to create, publish, maintain, monitor and secure API-centric applications.
3. What are the main differences between an API and a web service?
APIs can communicate via a variety of methods. They don't need a network to operate, and they don't have to be exposed over the web. Web services, on the other hand, communicate via SOAP, REST and XML-RPC, a remote procedure call protocol that uses XML to encode calls, and HTTP (Hypertext Transfer Protocol) as a transport mechanism. Web services have to be exposed over the web, and they also need a network to operate.
4. What is a web API?
A web API can be accessed over the web using the HTTP protocol. It's a framework that allows developers to create and develop HTTP-based RESTful services. Developers can build web APIs by using different technologies, including Java and ASP.NET.
5. Who can use a web API?
Because web API services don't have to be configured, they can be used by any client, including mobile devices, that support HTTP methods, such as GET, PUT, DELETE, POST.
6. How can web APIs be used?
Web APIs can be used to:
- Implement RESTful web services using the .NET framework.
- Help develop HTTP services to reach out to clients, including on browsers and mobile devices.
- NET web API can be used with model view controller for any application.
- Help develop ASP.NET applications via AJAX.
- Enable developers to more easily build ASP.NET applications that are compatible with a broad range of clients, including browsers and mobile devices.
7. What is API testing?
API testing analyzes an API to ensure that it meets its required security, functionality, reliability and performance. Testing is performed directly on the API or as part of integration testing.
8. What are the benefits of API testing?
API testing provides access to the application without the need for a user interface, enabling the developer to uncover minor problems before they become major issues during graphical user interface (GUI) testing.
Additionally, since API testing uses less code, it takes less time than GUI testing, offering test coverage that's more effective and efficient. Also, API testing easily integrates with GUI testing.
Another advantage is that the data is transferred using XML or JSON, which are language-independent data interchange formats that enable users to choose any coding language when they select automation testing services.
9. What are some tools used for API testing?
There are a number of popular API testing tools, including:
- SoapUI -- a headless functional testing tool for API testing. With SoapUI, users can test REST and SOAP APIs as well as web services.
- Katalon Studio -- a free test automation tool for API, web, desktop and mobile applications. Katalon Studio supports both SOAP and REST requests.
- Postman -- a Google chrome app to verify and automate API testing.
- Tricentis Tosca -- a continuous testing platform for agile and DevOps. Tricentis Tosca supports many protocols, including HTTP(s), TIBCO EMS, SOAP and REST.
10. What are the types of testing to perform on your APIs?
The types of API testing include:
- Unit testing to determine whether a module delivers the needed functionality
- Functional testing to test specific functions within the codebase
- Load testing to test the performance of an API under load
- Reliability and usability testing to get consistent results
- Security and penetration testing to validate all types of authentication
- Automation testing to create and run scripts requiring regular API calls
- API documentation testing to determine how efficient and effective an API is
11. What is the difference between API testing and UI testing?
With API testing, a mode of communication is established between two software systems so they can share functions and sub-routines.
User interface (UI) testing, also known as GUI testing, is a method to ensure that the user interface of a particular application is functioning properly as well as to ensure that it conforms to its written specifications. UI testing tests the graphical interface of an application, including how users interact with the app. UI testing also tests elements of the application, for example, images, fonts and layouts. UI testing generally focuses on how an application looks and feels.
12. What is an API management platform?
An API management platform serves as a proxy for customer queries in order to protect the back end of an online service from crashing from too many requests. API developers use API management platforms to ensure that customers don't crash services by sending too many requests to the back-end server.
13. Why is API management important?
APIs expose an organization's digital assets, making corporate data available through applications. Additionally, companies use APIs to add digital layers to interactions with their customers, employees and partners. As such, API management is important because it lets enterprises and developers scale, analyze, secure, govern and monetize these API programs.
A key element of API management is API security, which is required to protect APIs against threats and unauthorized access. However, API security entails more than authenticating and authorizing user access to the API. Organizations must establish standards and policies to protect critical corporate data and make certain that it's not compromised or leaked. Companies can use API management platforms to define standardized sets of policies to protect APIs. They can also use API management to manage and stop traffic to back-end systems.
14. What are the advantages of API management?
The advantages of API management include:
- Enables companies to make data-driven decisions via insights gleaned from API analytics.
- Protects enterprises from security threats that affect APIs.
- Allows organizations to produce detailed documentation of APIs so they can use them to inform users and attract developers.
- Offers centralized visibility so companies can view all their API connections in one place. This decreases security vulnerabilities, reduces the number of repetitive APIs and pinpoints gaps that developers can tackle.
- Enables enterprises to monetize APIs, track billing and share revenue with partners in real time.
- Creates a positive experience for API users.
- Improves API agility and enables new digital assets to be created quickly.
- Allows companies to create agile, flexible, innovative and adaptable ecosystems so people, processes and technology can work together.
15. What is SOAP?
SOAP (Simple Object Access Protocol) is an XML-based message protocol that allows distributed elements of an application to communicate. SOAP can be carried over a variety of lower-level protocols, including HTTP.
16. When should SOAP API be used?
SOAP API can be used to create, find, update or delete records. SOAP APIs offer more than 20 different calls that enable the API developers to easily maintain their accounts, manage passwords and perform accurate searches. These SOAP APIs can be used with all the programming languages that support web services.
17. What is REST?
REST (Representational State Transfer) is an architectural style that developers can use to create web services. REST is commonly used because of its simplicity and because it achieves its objectives by building on existing systems and features of HTTP, rather than creating new frameworks, standards and technologies.
If a programming language can make web-based calls using HTTP, that language can be used to invoke a web service or RESTful API. Because RESTful web services can be written using any language, developers implementing RESTful web services can use whatever technologies they choose.
18. What is the protocol for REST web services?
The protocol used in REST web services is HTTP, which enables communication between the server and the client.
19. What are RESTFul web services?
RESTful web services are web services developed in the REST style that use HTTP methods to implement the concept of REST architecture. RESTful web services are used to create APIs for web-based applications.
20. What are the differences between SOAP and REST?
There are a few differences between SOAP and REST. For one thing, SOAP is a protocol that lets two clients communicate by sharing XML. REST, however, is a service created for network-based software architecture. And while SOAP only supports the XML format, REST supports a lot of different data formats. Also, SOAP can't support caching, while REST can.
In addition, while SOAP runs on HTTP and defines the start and end of the message, REST uses the HTTP headers to hold meta information in its messages.
21. Which style of web services -- SOAP or REST -- is best?
Although REST is generally preferred because of its simplicity as well as its performance, scalability and support across many data formats, SOAP remains an option when the web service needs increased reliability and additional security.
22. What is API documentation?
API documentation is a reference manual that includes all the necessary information about an API. It includes:
- Details about an API's features and functions
- A comprehensive set of feature and syntax references
- Access to support or additional information