IBM AI Developer Entry Level Interview Questions - Real REST API Question

ibm logo
ibm
· AI Developer Entry Level
February 21, 2026 · 1 reads

Summary

I experienced an hour-long interview with IBM for an AI Developer Entry Level role, which included a string manipulation problem and a challenging REST API integration problem where I had to fetch and process movie data.

Full Experience

The first question took me around 5 minutes to do. The second one hit me in a large blind spot, and no question on Leetcode will prepare you for it. Putting this here as a potential warning. Even with 50 minutes left over, I wasn't ready to answer Q2. Apologies if some of it doesn't entirely make sense. I am doing this entirely by memory. The whole interview was an hour.

Q1. Leetcode (Easy)

You are given a list of strings that represent a set of requests sent by different machines at particular points.

An example:
For 3 machines this would be the result of five requests.
["YYN", "NNN", "YNY", "YYY", "YYY"]

We want to find the max amount of times in a row all machines respond with "Y".

["YYN", "NNN", "YNY", "YYY", "YYY"] --> 2
["YYY", "YYY", "YNY", "YYY", "YYY", "YYY"] --> 3
[] --> 0

Q2. REST API Question (Easy to Med)

You are given a URL format which gets several bits of information.

http://api.notrealwebsite.xyz/movies/page/{insertNumHere}

The insertNumHere will give you the data on specified page number. The API will return the following.

"currentPage" : Gives current page.
"totalResults" : gives total Number of hits for the request across all pages
"totalPages" : This is the number of different page URLs provided by the request.
"data": Gives an JSONArray with several data points. Will max out at 10 per page (or request since each request will need a different page number

Within data, you can get several things such as the description, date published, ect. But only three important pieces are relevent.

data[i]{
movietitle : "Lord of the Rings"
genre : "Fantasy, Action, Fiction" (Multiple genres can be found on a movie)
rating : "9.5"
}

==========================

You are given a function that has a string parameter: "genre".
You function should return a string which is the name of the highest rated movie title of said genre. To get the data, you will need to use REST API requests at the provided the URL with the correct format. If you have two or more movies with the same rating, return the lexicogrpahically smallest. (Aka, closest to A in the alphabet.)

You will have imports pre-given to you, likely the ones most commonly used in your programming language. But you will not be given any instruction on how to use any of the imports. It is assumed that you now how to use the imports to make a REST API request yourself, as well as properly translate it into JSON and JSON arrays.

You will also have to use a try/catch, but not throw any sort of custom exception (unless specified) because you cannot edit all of the code on the page. I tried to throw a generic exception, but the function that called it then needed said exception to be thrown, but I couldn't edit said block.

Interview Questions (2)

1.

Max Consecutive All Machines Respond 'Y'

Data Structures & Algorithms·Easy

You are given a list of strings that represent a set of requests sent by different machines at particular points.

An example:
For 3 machines this would be the result of five requests.
["YYN", "NNN", "YNY", "YYY", "YYY"]

We want to find the max amount of times in a row all machines respond with "Y".

["YYN", "NNN", "YNY", "YYY", "YYY"] --> 2
["YYY", "YYY", "YNY", "YYY", "YYY", "YYY"] --> 3
[] --> 0

2.

Highest Rated Movie by Genre via REST API

Other·Medium

You are given a URL format which gets several bits of information.

http://api.notrealwebsite.xyz/movies/page/{insertNumHere}

The insertNumHere will give you the data on specified page number. The API will return the following.

"currentPage" : Gives current page.
"totalResults" : gives total Number of hits for the request across all pages
"totalPages" : This is the number of different page URLs provided by the request.
"data": Gives an JSONArray with several data points. Will max out at 10 per page (or request since each request will need a different page number

Within data, you can get several things such as the description, date published, ect. But only three important pieces are relevent.

data[i]{
movietitle : "Lord of the Rings"
genre : "Fantasy, Action, Fiction" (Multiple genres can be found on a movie)
rating : "9.5"
}

==========================

You are given a function that has a string parameter: "genre".
You function should return a string which is the name of the highest rated movie title of said genre. To get the data, you will need to use REST API requests at the provided the URL with the correct format. If you have two or more movies with the same rating, return the lexicogrpahically smallest. (Aka, closest to A in the alphabet.)

You will have imports pre-given to you, likely the ones most commonly used in your programming language. But you will not be given any instruction on how to use any of the imports. It is assumed that you now how to use the imports to make a REST API request yourself, as well as properly translate it into JSON and JSON arrays.

You will also have to use a try/catch, but not throw any sort of custom exception (unless specified) because you cannot edit all of the code on the page. I tried to throw a generic exception, but the function that called it then needed said exception to be thrown, but I couldn't edit said block.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!