The interview was the second stage of the recruitment process, focusing heavily on technical skills. It was divided into three main segments:
Live Coding: I was given a task (sent via PDF) to complete in real-time. Afterward, we did a deep dive into my code, discussing my design decisions and potential improvements.
System Architecture: I had to design a live chat system with a troubleshooting bot for router issues. Key requirements included offline access for ongoing chats and high scalability (handling 1 million users) using caching, local databases, WebSockets, and load balancing.
Technical Q&A: A comprehensive discussion on Flutter and Dart internals, focusing on performance, state management, and native communication.
The process was professional and very demanding, testing both hands-on coding and high-level architectural thinking.