A lot of companies have multiple coding rounds as part of their selection process. This is by far the most crucial part of your preparation, because even a machine learning engineer is still an engineer in the end. While it may seem a suboptimal process for finding the right person, it is still a part of the current structure, so if you want to work as an MLE, you’ll need to understand the various data structures and algorithms related to a particular field of work. To help, here are some recommendations and resources.
For understanding the ground-level basics of data structures, the book Cracking the Coding Interview by Gayle Laakmann McDowell contains a number of tips for preparation. It’s a concise book with a just-right amount of information for cracking coding interviews. Each data structure is explained in 2–3 pages along with practice questions for deeper understanding.
I also recommend creating a list of topics you need to prepare for given your preferences, experience, etc. For example, my list looked like this:
Data Structures: Array, Stacks/Queues, Dictionary, Trees, Heaps, Graphs.
Algorithms: Sorting, Divide-and-Conquer, Dynamic Programming/memoization, Recursion, Binary Search, Breadth-First Search/Depth First Search, Tree traversals.
Ideally, by the end of your preparation, you will have read up on the necessary topics, and solved some problems of easy and medium-level difficulties in a place like Leetcode.
I also recommend the Algorithm Specialization Course on Coursera by UCSanDiego. I’ve also written some basic-level posts on these topics with simple explanations. You can find them below.