
The IMC OA was conducted on the HackerRank platform. There were two coding questions with a total time limit of 120 minutes. Both questions were at the hard difficulty level, and no camera was required during the test.
I am really grateful for the tool Linkjob.ai, and that's also why I'm sharing my entire interview experience here. Having an invisible AI assistant during the interview is indeed very convenient.


Core Inspection Points: The core of this question lies in testing data preprocessing capabilities and the efficient application of binary search, while also considering the multi-dimensional screening logic for the optimal solution.
Problem-Solving Idea:
First, group containers by their group indices and sort the container sizes in each group in ascending order. Then, traverse all demands, use binary search in each group to match the smallest suitable container, and accumulate the total waste. Finally, select the group with the smallest total waste and the smallest index from the groups that can meet all demands; if there is no valid group, return -1.
Key Difficulties:
Handling boundary cases
Ensuring binary search accuracy
Optimizing efficiency




Core Inspection Points: This question focuses on the construction and preprocessing of tree structures and the design of efficient queries, belonging to the classic Hard-level "preprocessing + query" model.
Problem-Solving Idea:
Construct a tree structure of "node-direct child nodes" based on the parent array, and sort the child nodes of each node in ascending order of indices. Use DFS to preprocess the total number of nodes in the subtree of each node and the subtree traversal sequence (traversed in the order of child nodes). When processing queries, first determine whether k exceeds the subtree size; if valid, directly retrieve the k-th node from the preprocessed sequence, otherwise return -1.
Key Difficulties:
Maintaining strict control over subtree traversal order
Managing the time complexity during preprocessing
Handling the details of index conversion
IMC's Hackerrank assessment is mainly divided into modules exclusive to technical roles (such as software development) and quant roles (Quant, including quantitative trading and quantitative research). The assessment structures for different roles vary slightly, with the core framework as follows:
SDE Role
Focused on programming practice, it typically includes 2 programming questions with a time limit of 120 minutes. The difficulty is moderately high, emphasizing problem-solving abilities combined with real engineering scenarios. Mainstream programming languages such as C++, Java, and Python are supported. The left side of the answering interface displays problem requirements and test cases, while the right side is a real-time running coding environment.
Quant Role
It adopts a multi-module comprehensive assessment structure, including cognitive ability games (45 minutes, testing reaction speed and strategic thinking), logical reasoning (40 minutes, assessing numerical and chart analysis abilities), and mathematical probability questions (15 questions in 60 minutes, covering probability statistics, mathematical modeling, etc.).
General Rules
The assessment is timed throughout and cannot be paused. When answering by module, you cannot go back to modify after submission, and the remaining time is not accumulated to the next module. The system will automatically record the answering performance and monitor for violations. The results will be synchronized to the IMC recruitment team.
Algorithm and Complexity Optimization
Classic algorithms such as binary search and depth-first search (DFS) are frequently used in combination. For example, resource optimization problems are solved through "simulation + binary search". The code is required to be both correct and have low time complexity, meeting the requirements of low-latency systems.
Data Structure Application
The practical application of structures such as trees, hash tables, and arrays is emphasized. For example, tree structures are used to simulate hierarchical relationships and handle traversal order problems. Proficiency in the characteristics and operational efficiency of these structures is required.
Mathematics and Logical Reasoning
It is a key focus for quant roles, covering probability calculation, statistical analysis, expected value solution, and mathematical modeling. Some questions require quick results through logical deduction.
LeetCode: I used this for practicing data structures and algorithms. The problems felt similar to what I saw in the actual test.
HackerRank: I liked the timed challenges here. They helped me get used to the pressure.
Linkjob.ai: Personalized mock interviews that generate questions based on real interview problems, your resume, and the position you applied for. Also include follow-up questions to simulate real interview depth.
I didn’t just solve random problems, I made a plan: I listed the topics that appear most often in IMC HackerRank questions, focusing on dynamic programming, graph algorithms, and stack operations. I also timed each practice session to simulate real test conditions.
Here’s how I structured my practice:
Day | Topic | Platform |
|---|---|---|
Monday & Tuesday | Dynamic Programming | LeetCode |
Wednesday & Thursday | Graph Algorithms | HackerRank |
Friday | Mock Interview | Linkjob.ai |
I always read the problem statement twice. Sometimes, the test hides important details in the last few lines.
I broke each problem into smaller steps. For example, if I saw a graph problem, I first checked if it needed breadth-first search or depth-first search. I wrote out the input and output formats before I touched the code. This made it easier to spot edge cases, like empty arrays or single-node graphs.
I also paid attention to optimizing my solutions. If my first code worked but ran slowly, I looked for ways to cut down on loops or use better data structures. Sometimes, a hash map or a set made my code much faster.
Before I submitted, I always checked what would happen if the stack was empty or if k was bigger than the stack size. This habit saved me from losing points on hidden test cases.
I set mini-deadlines for myself. The test lasted 120 minutes with two questions, I gave myself 50 minutes for the first and 60 for the second, leaving a few minutes at the end to review. I used a simple table to track my progress:
Question | Start Time | End Time | Status |
|---|---|---|---|
1 | 0 min | 50 min | Solved |
2 | 50 min | 110 min | Attempted |
Review | 110 min | 120 min | Checked |
I also practiced typing code quickly and accurately. This helped me avoid wasting time fixing typos. During the real imc hackerrank, I kept my answers simple and clear. I didn’t try to write fancy code. I focused on getting the correct answer first, then improving it if I had time.
Typically, IMC will send feedback within 1 week after you complete the Hackerrank assessment. If you pass, you will be notified to enter the next interview stage. However, the specific time may fluctuate due to factors such as the number of applications in the recruitment season and job demands.
After passing the OA, the interview process includes video interview, HR interview, technical interview, and finally Super Day.
Even if you don't pass all test cases, you can still get corresponding scores as long as some cases are passed. The specific score proportion is subject to IMC's actual settings.