Summary
Had a bad interview experience at Millennium, where the process started well but ended in ghosting. The candidate faced multiple technical rounds, including DSA problems and Python-specific challenges, but received no clear feedback. The interviewers eventually ghosted the candidate, and they believe the rejection was due to technical grounds or a lack of follow-up.
Full Experience
I was approached by a recruiter around 3 months back for a quantitative developer - python role at Millennium. The interview experience initially was good but later turned to be a ghosting exercise by the hr.
Round 1: DSA - 2 problems (Trapping Rainwater, Container with most water). Gave working and optimized solutions.
Round 2: DSA - 1 problem (Number of subarrays whose sum is divisible by a constant K). Take prefix sums and store their modulo K. For the same remainder from 0 to k-1, take their count (assume it's n), choose any two indices (nC2) and add this to ans. Asyncio - Write working code and explain how coroutines and other things work.
Round 3: Multithreading + Pandas aggregation problem - You are given a dataframe or csv which can contain millions of records, you need to group them by a common identifier and find the aggregated sums. Solved it by chunking the dataframe and doing aggregations over smaller dataframes and repeating the same aggregation over the concatenated smaller dataframes. Interviewer allowed browser search which helped me write some of the multithreading syntax that I forgot in python.
Round 4: Behavioural round - some chitchat, tldr - interviewer said nice to meet you, talked about who are you, why do you want to join, etc. and then said I would be meeting some other person in the next round and best of luck.
Automated rejection mail after 2 days. I contacted hr and she said she is just a coordinator, recruiter would know the feedback. Was able to contact the recruiter back and he said that there were 3 candidates who made it to the final round and we moved forward with one of them. He told me that I can interview for the same role in future if there is a vacancy or job I see.
After 1 week, I saw a job post for the same role, contacted him and they scheduled another technical round for me and said this is another round for the same position. I believe they wanted to reject me on technical grounds.
Round 5: Interviewer asked me some price data design problem, decorator code writing (missed a parentheses while writing this, asked for debugging time, wasn't given), everything else was fine in the code. A simple probability problem and some more questions regarding why you want to do this, that, etc. Probability problem - Given 5 red balls and 3 blue balls, find the probability of drawing a red ball if the first drawn ball was red. Overall a good round except a missing parentheses which I believe might have ruined my chances.
Ghosting: I have been ghosted now on mail/calls, no feedback is communicated. I believe they put me in again just to do this. There is no ethics these guys are driven by, I just wanted to know what exactly did I do wrong in the interview process so can't suggest anything that will help others. My interviews was for a python role so I would suggest you can read on asyncio, decorators, generators, multithreading, multiprocessing, pandas, context managers, etc.
Although I am rejected, I do believe it was a good learning experience for me. I learned a lot of intricacies in python and that would be helping me in future I guess.
Interview Questions (2)
Given an array of integers, count the number of subarrays whose sum is divisible by a constant K.
Given 5 red balls and 3 blue balls, find the probability of drawing a red ball if the first drawn ball was red.
Preparation Tips
Focus on Python-specific topics like asyncio, decorators, generators, multithreading, multiprocessing, pandas, and context managers. Practice DSA problems including prefix sums and subarray sums. Be prepared for both technical and behavioral rounds.