The journey of preparing for interviews can be both exciting and nerve-wracking. I recently had the opportunity to interview with Kotak 811, and I’d like to share my second-round interview experience, which was an in-depth discussion focusing on React Native, debugging, performance optimisation, and design-level challenges.

Initial Introduction: The interview kicked off with the classic “Tell me about yourself” question. It’s essential to start with a concise yet impactful introduction to make a lasting impression. In my case, I briefly highlighted my background and experience, setting the stage for what was to come.

Project Discussions: The interviewer was keen on understanding my work and asked me to explain my current and previous projects. Here, I provided a basic introduction to the projects, emphasising their significance and how they showcased my skills and expertise. It’s crucial to be well-prepared to discuss your projects, as they can serve as a strong foundation for further discussions.

Debugging in React Native: Debugging is an integral part of app development, and in the context of React Native, I shared my preferred debugging tools and approaches. I highlighted the use of Chrome, React Native Debugger, and Flipper, which are indispensable for identifying and resolving issues in a React Native app.

App Performance Optimisation: I discussed the tools and approaches I used to evaluate and enhance the performance of my apps. usage react native debugging tool to check state updates, profilers on android.
Explained how to check time taken for screen — screen , how to utilise profiles to see cpu usage on each screen. Then try to optimise the screen components.
Explained promise.all and how to use it for initial app launches.
Explained usage of Redux -> how it can help and how to optimise redux code.

FlatList vs. VirtualizedList: I tried to provide the in depth details of two common components, including their advantages and use cases as per our project. I kind of struggled to answer few of the follow up questions around this due to lack of in depth knowledge. I think he was convinced with my understanding of this, however he also appreciated for having knowledge on props/params understanding to some extent.

Design-Level Discussion: One of the most challenging parts of the interview was the design-level discussion. He asked me to explain and provide design for download module( any kind of file downloads) for react native.
Overview of my explanation : provided all the functions involved like startDownload, stopDownload, resumeDownload, removeDownload and covered showing notification for each case along with progress. Also explained concurrent downloads, renew downloads. Also explained util functions to show downloadProgress, explained handling network and storage ( he was expecting more details around this as well, failed to explain it, As i was reaching scheduled time ).

I failed to provide more details on resumeDownload -> concept alreadyDownloadedChunk -> nextChunkToDownload URL

I definitely need to improve a lot here.

Key Takeaways: The interview experience provided valuable insights into my strengths and areas where I could improve. It reinforced the importance of studying in-depth about React Native APIs and components, especially for design-level questions. As a senior developer, this knowledge is crucial for answering follow-up questions effectively.

In conclusion, the Kotak 811 interview was a challenging but enriching experience that allowed me to showcase my skills and learn from the questions I couldn’t answer perfectly. It emphasised the importance of continuous learning and staying updated with the latest best practices in React Native development. If selected, will soon provide next round experience as well.

Thanks for reading!!

--

--

VijayKumar S C

Senior Software Engineer - React native , Android, Frontend and Backend with springboot