Interview experiences · Mistral AI
Mistral AI Software Engineer Interview Experience — Two CodeSignal Rounds, Ran Out of Time on the DP Question
Tech screenInterviewed 2026-04
French AI company, the interviewers all seemed to be based in France, but the position itself is in NYC, and the recruiter is on the US side too. I talked with the hiring manager for half an hour, then moved into the phone interview stage. Two phone interview rounds: coding + system design, both done on CodeSignal. Overall I felt the bar was pretty high. Coding Three questions total. The first tw…
French AI company, the interviewers all seemed to be based in France, but the position itself is in NYC, and the recruiter is on the US side too. I talked with the hiring manager for half an hour, then moved into the phone interview stage.
Two phone interview rounds: coding + system design, both done on CodeSignal. Overall I felt the bar was pretty high.
Coding
Three questions total. The first two were easy, don't get stuck on them. The third one was DP, and it was hard — by the time I got to it I only had 10 minutes left, so I never got to a DP solution.
The questions, roughly:
Question 1: An array represents a set of GPU clusters, like [10, 20]. Every day there's some Usage, and you need to output how many GPUs are left each day. Usage is a predefined class:
class Usage():
self.day = day
self.cluster = cluster
self.gpu = gpu
Write a function whose input is a list of Usage objects and whose output is a 2D array, e.g. [[5, 7], [10, 12], [15, 18]], representing how many GPUs are left each day. Note: GPUs get returned at the end of each day, so every day starts fresh from [10, 20].
Question 2: If a new workload can switch between clusters, what's the maximum number of GPUs it could get? You basically figure out which cluster has the most GPUs left on each day — take the max of each subarray from the previous question's output and sum them.
Question 3: If the workload from the previous question can only switch clusters K times, what's the maximum number of GPUs it can get? This one is similar to some other problem, though the name doesn't come through clearly in my notes — still pretty hard.
System Design
Design an inference API for PDF-to-Markdown conversion. Assume you already have the following functions available:
- Splitting a PDF into single pages and converting each page to a numpy array — CPU intensive
- An OCR engine — GPU intensive
- Another function that's memory-expensive, though I forget exactly what it did... I didn't get to discuss this part in time
Question 1: If there's a 1000-page PDF, how do you design a synchronous API so the user gets all the converted pages as fast as possible?
Question 2: If there are a lot of requests but the results can come back async, how would you design this API instead?
For this round I don't have hands-on experience in this area, so I don't think I answered it very well. Chalking it up as a learning experience.
Comments
Nothing here yet.
Join in on CSWork →