A rare physical interview at the heart of the CBD, but boy was I appalled at the quality of the office. It looks old and sad.
When I first entered the office, there was no one to direct me where to go. I just walked around aimlessly around their office space for a minute, until someone approached me and asked me if I was here for an interview. LOL…
So I was ushered into a meeting room where they gave me a printed handout and I was given 3 hours to implement what was in there. The TLDR which I hoped I knew, was to implement a consensus algorithm. Quantedge uses third parties like Alibaster to execute the trades, and the program I was supposed to implement is supposed to find out if the trades that Quantedge instructed to execute match with what Alibaster has executed. I did not thought that that was the main focus of the exercise, and focused on handling the edge cases which was mentioned in the handout. The handout was long and confusing.
After the 3 hours, I was then given lunch (yes this was the free lunch that gave me the very food that I’m allergic to…), and then ushered into another room to discuss my solution. It was p relaxed for me as it was low stakes and I just didn’t care less lol. They asked me to explain my solution and the assumptions that I made. They also asked me how I can improve my code, to that I said that I should have went for a typed language and a more object oriented approach like Java to make handling of more edge cases more extensible in the future. They expected me to come up with detailed examples of how that can be the case (ie. how OOP makes it more extensible, which I tried… not sure if it is up to their satisfaction). Next one of the interviewer asked me to look at one of the methods and ask me if there are any problems there. Which I did not find out at first, but when he explained, I realised I made a big assumption there which was the crux of the assessment which is to implement the consensus algorithm. They then asked me to outline how I would implement this consensus algorithm.
I thought for a while, and (luckily I did a quick chatgpt before and find out that we could use graphs), and said that we could model the trades from quantedge and confirmations from alibaster as nodes and we can use edges as a matching. They suddenly seem excited and started probing me more questions like how I can do the matching. Luckily, an idea sprung to my head “greedy”, which they said it is an acceptable solution, but it does not always give the most optimal, and asked me to give an example of when it is not the most optimal. I was not able to give an example, and they gave me an example where it is not the most optimal, and asked me to come up with a better solution which I was not able to.
Next, they went on a resume deep dive, and asked me several questions about my experiences. I can’t quite remember all the questions but some of them stood out. Like many companies they asked the same question “What is the most technically challenging problem that you have solved in all of your internships” One interesting point was that they asked several questions about the business of Ascenda, what it does, what my team does etc. (think they were just genuinely curious lol)
And… you guessed it.. got rejected about 1.5 weeks later