Technical
The first round was scheduled for one hour but extended to around 1 hour and 15 minutes. The entire interview was conducted on pen and paper, so I had to explain my approach, draw data structures, perform dry runs, and write pseudocode without using an IDE.
The interview started with a question about how Google suggests search results when we begin typing something in the search bar. I suggested using a Trie data structure.
The interviewer then asked me to explain the overall architecture of the process. After that, he gave me a few words, such as pan, pen, and pencil, and asked me to draw the Trie and dry-run the insertion process. Finally, I had to write the pseudocode on paper.
Next, the interviewer asked me to implement an LRU Cache. I explained the standard approach using a doubly linked list and an unordered map and wrote the pseudocode.
After that, he asked whether this was the optimal solution and challenged me to suggest an alternative approach, even if it wasn't the most efficient one. I then explained an alternative approach using two stacks containing key-value pairs.
We moved on to database-related questions. The interviewer asked me about:
Clustered vs. non-clustered indexing.
Sharding and its use cases.
When to use MongoDB instead of a traditional SQL database.
The interviewer also asked me about my projects, although the initial discussion wasn't very deep. We briefly discussed messaging queues and some basic High-Level Design (HLD) concepts.
Towards the end of the interview, I was asked a couple of basic SQL questions:
Find the Nth-highest salary from a table.
Remove duplicate entries from a table.
Last updated Oct 9, 2026
Technical + HR
This round lasted approximately 1 hour and 45 minutes. It was a detailed discussion covering my academic project, system design, computer networks, and HR questions.
The interviewer started by asking whether I had developed any projects for academic purposes, such as a minor or major project.
I explained my project, which combines MATLAB simulation, machine learning, React, and FastAPI to build a dashboard. The interviewer then asked me to draw the complete architecture of the project on paper.
We discussed the database design in detail, including the different tables used in the project, their columns, primary keys, and foreign keys. He also asked several questions about the project itself to understand the implementation and the decisions I had made.
This was the most extensive part of the discussion and lasted around 45 minutes. The interviewer asked me how I would scale my existing project to handle increasing traffic and larger amounts of data.
We discussed several system design concepts, including:
Load balancers and multiple application servers.
Node.js servers and horizontal scaling.
ZooKeeper and its role in distributed systems.
Database sharding and how tables could be partitioned.
Kafka and its role in handling asynchronous communication and large-scale data flows.
The discussion gradually moved from the architecture of my existing project to a more complete, scalable system architecture. The focus was on how the different components would work together as the system grew.
After the project discussion, the interviewer asked me to name the computer networks topics I was familiar with. I mentioned several concepts, including:
The seven-layer OSI model and the four-layer TCP/IP model.
VLANs and trunk ports.
Piggybacking.
Routing tables and MAC tables.
He then asked two or three follow-up questions about MAC addresses, including their definition, how they work, and whether they are universally unique or unique only within a network.
The final part of the interview focused on HR and behavioural questions and lasted around 30 minutes.
Some of the questions included:
Why do you want to join Calix?
How will you adapt to the constantly changing software industry?
How would you handle receiving multiple negative feedback comments?
Tips: DBMS & CN: Must-prepare subjects.
HLD: Highly appreciated; know the basics of scalable architecture.
GenAI: Basic knowledge is an added advantage.
OS: Also asked in some interview panels.
DSA: Comparatively less emphasis in my experience; focus on pseudocode, dry runs, and LRU Cache.
Projects: Have at least one strong project and understand its architecture, database schema, and scalability.
Communication: Very important! Clear communication can significantly improve your chances of selection.