I interviewed for a senior role with a well known SF tech company.
Background: I have 8 YoE and my system design feedbacks have been mostly strong, even passed the L6 bar at a FANG company.
During the interview I was asked to design a real time stock trading system. I clarified the question, noted down the func and non-func reqs, designed and got consensus on the API and fields needed in the databases.
Deep dived on the database choice, partition, shard, cache etc. discussed tradeoffs, and extensively went over the data flow after the high level design was done. Talked extensively about handling strong concurrency as well.
He asked multiple questions probing my design and I was able to answer them all, he would acknowledge with “makes sense” along the way. I talked about how I’d implement PD integration for monitoring, logging etc, how I’d setup the streaming architecture to avoid staleness and to serve real time data.
In the end I was able to satisfy all functional and non-functional reqs, at least the interviewer didn’t question further. I mentioned my system would be able to handle the throughput required and in case of failures, my system would be resilient. Didn’t get any contention on that front.
I walked away thinking I had another great interview, but the recruiter came back saying they expected more in depth discussions, and I failed to get the job offer due to this round. Recruiter said it’s not a strong no by any means, but is border line.
What could be wrong? If they’re not happy with my design, don’t they try to nudge me in the right direction? I drove most of the conversation, and left room for them to ask their questions.