Android Developer SDE III | Teachmint (Bangalore)
Summary
I had an interview experience with TeachMint Technologies for an Android Developer SDE III role in Bangalore. The process involved a recruiter call followed by a technical round primarily focused on Android technicals, Coroutines, Flows, and general Android concepts, including an LRU Cache implementation.
Full Experience
Hi, I would like to share my experience with TeachMint Technologies.
Recruiter reached out to me and we had a discussion around my previous experience and the salary expectation. In the same call, I was informed about the hiring process.
Round 1 : Android Technicals mainly focused on Coroutines / Flows but some general questions were also asked
Interview Questions (12)
Explain the key differences between the onDestroy() and onDestroyView() lifecycle methods in Android.
Explain the key differences between onClickListener and onTouchListener in Android, and when you would use each.
Explain the differences between Intent and Bundle in Android. Describe scenarios where you would specifically use a Bundle.
Explain what State Hoisting is in Jetpack Compose. Describe techniques or practices to avoid unnecessary recomposition.
Explain the differences between general asynchronous operations (async) and the AsyncTask class in Android programming.
Explain the differences between LiveData, StateFlow, and SharedFlow. Describe how to convert a cold flow into a hot flow, specifically detailing the usage and differences between stateIn and shareIn operators.
What is the default Coroutine Dispatcher in Kotlin Coroutines, and what are the reasons behind its default selection?
Describe strategies or methods to launch an Android Service when the application is in the launcher screen (background) and the user has explicitly killed the app from recent tasks.
Explain how Kotlin Coroutines can be used to replace traditional callback-based asynchronous programming, leading to more readable and maintainable code.
Explain what 'side effects' are in the context of Jetpack Compose. Discuss the concept of 'stability' and its importance in Compose UI development.
Describe best practices and techniques for handling multiple database write operations in Android Room Database in a thread-safe manner.
Implement or describe the design for a Least Recently Used (LRU) Cache.