C3.AI USA Lead Software Engineer Offer
Summary
I applied for a Senior Software Engineer role at C3.AI and successfully received an offer for a Lead Software Engineer position after undergoing a hiring manager screen and a multi-round onsite interview process covering coding and system design, followed by a reference check.
Full Experience
I applied for a Senior Software Engineer role at C3.AI. My interview process started with a 30-minute Hiring Manager Screen where we discussed my work experience and what I was looking for in my next role.
Following that, I proceeded to the Onsite rounds:
- Coding (60 mins): This session began with introductions and a discussion about a project from my resume. I was then given a standard LeetCode medium/hard level question related to balanced parentheses, though I don't recall the exact prompt. It wasn't straightforward.
- Design (60 mins): This round included 1-2 behavioral questions. The main focus was the High-Level Design (HLD) and Low-Level Design (LLD) of a Book shop. We had typical conversations around gathering requirements, scale considerations, and spent about 20-25 minutes on HLD. We discussed standard design decisions, justifications for using specific databases, and went into details about Elastic Search and DynamoDB streams. A significant portion of time was dedicated to LLD, including class design (where I was expected to code this) and concurrency aspects. There were additional discussions around supporting future use cases like fines and the necessary design changes to accommodate them.
- Coding (60 mins): This round also started with 2 behavioral questions. The technical problem was a linked list question related to reversing a sub-list, along with some follow-up questions. It felt pretty standard, and this interview concluded in about 30 minutes.
A few days after the onsite, the hiring manager reached out to inform me that they would be extending an offer for a Lead Software Engineer role, pending a reference check. My recruiter then contacted me to get two references, which were checked within a week. Finally, the hiring manager confirmed the offer and we discussed compensation details.
Interview Questions (2)
Design a complete Book Shop system, covering both High-Level Design (HLD) and Low-Level Design (LLD). This included discussions on gathering requirements, scalability, and specific technology choices. I was expected to discuss decisions for databases, with a focus on Elastic Search and DynamoDB streams. For the LLD, I had to detail class design and concurrency aspects, including coding some parts. We also explored how to support future use cases like fines and the potential design changes required.
I was presented with a pretty standard linked list problem that required reversing a specific sub-list within a larger linked list. There were also several follow-up questions based on this problem.