BAM had the longest timeline, from late May to mid-July. As of now, I'm still pending, but I noticed that someone with Singaporean citizenship who interviewed around the same time as me has already been working there for a month. So I've probably been rejected. Writing this up to keep a record.
The role was a QD position in one of BAM's Singapore pods, but the actual job description was really for an SWE: familiarity with C++ and exchanges' market-data/trading modules, simulation development experience, and mainly helping the PM get strategies implemented quickly.
BAM had four online rounds and four onsite rounds, 45 minutes each. None of the interviewers were in Singapore, so I had to adjust for time zones. The online interviews were generally around 8 p.m. But even though the onsite was in Singapore, the interviewers were still remote over Zoom, which I really want to complain about. Another thing was Zoom quality. Not once did a BAM link work properly. The interview would start, the interviewer couldn't get in, then both sides had to contact the headhunter and get a new link. We went through that several times.
Back to the interviews. Of BAM's eight rounds, only one onsite round was directly with the PM, a very smart PM. I had to follow his description and write a task-scheduling system to process tasks in parallel with multiple threads. It needed logic like topological sorting to handle task indegrees. I thought my answer was decent.
There was no pattern to the other rounds. They weren't fixed as coding rounds or system-design-only discussions. I even interviewed with some people twice. Some only knew Rust or Python, so we could only discuss my previous work and systems questions. And they kept moving me forward: in one round, I felt I'd completely bombed the discussion, but they still moved me to the next round.
The actual coding questions were: 1. Write a Variant with functionality similar to std::variant; 2. Implement a Redis-like caching service supporting the get/set-like interfaces they provided; 3. Output the minimum for each sliding window, an existing LeetCode problem.
Overall, the interview difficulty varied a lot, with no real pattern. A single 45-minute interview doesn't leave room to discuss much of value. It felt like they mainly wanted someone who could start doing the work right away. The hiring process was long and the feedback was slow. I looked at their performance over the past few years, which didn't look very good either. Personally, I think they're going downhill.
Additional note (2026-09-09 08:44 +08:00):
The BAM role I interviewed for wasn't high-frequency development. They use message queues a lot. Throughout the interviews, people kept asking about the principles behind Kafka and other message queues, and system design for processing large volumes of data.
Discussion
Loading comments…