Posts

RxJava Based Android Interview Questions and Answers

  Tell me something about RxJava.  -  Learn from here How will you handle error in RxJava?  -  Learn from here FlatMap Vs Map Operator  -  Learn from here When to use  Create  operator and when to use  fromCallable  operator of RxJava?  -  Learn from here When to use  defer  operator of RxJava?  -  Learn from here How are Timer, Delay, and Interval operators used in RxJava?  -  Learn from here How to make two network calls in parallel using RxJava?  -  Learn from here Tell the difference between Concat and Merge.  -  Learn from here Explain Subject in RxJava?  -  Learn from here What are the types of Observables in RxJava?  -  Learn from here How to implement EventBus with RxJava?  -  Learn from here How to implement search feature using RxJava in your application?  -  Learn from here Difference between Schedulers.io() and Schedulers.computation() in RxJava.

Jetpack Compose based Android interview and questions

What’s Jetpack Compose and its Benefits? Jetpack Compose is a modern UI toolkit recently launched by Google which is used for building native Android UI. It simplifies and accelerates the UI development with less code, Kotlin APIs, and powerful tools.  Declarative Compatible Increase development speed Concise and Idiomatic Kotlin Easy to maintain Written in Kotlin To read more, refer  to  the article:  Jetpack Compose in Android Aaaaaa

Security based Android interview questions and answers

How do you secure shared preference from exposure? One of the latest solutions is to use  Jetpack Datastore  instead of traditional shared preference. As it’s not stable yet, we can use an encrypted shared preference library or we can manually encode and decode the key-value pairs. I recommend you to go through the following article to learn in detail how to use the encrypted shared-preference library and manual encoding & decoding the key-value pairs. Securing sensitive data in Android Storing sensitive information in encrypted preference medium.com What is certificate pinning and how do you implement it in android apps? Communicating with the servers is a common task in any modern mobile application. Using HTTPS alone isn’t enough to provide secure communication. Many hackers interfere with communications to mislead servers and clients. This is known as a  middle man attack . To establish a secure line to the server, we need to implement  certificate pinning . To learn more about

Material Design Components based Android interview questions and answers

Introduction What Is Material Design? Material design is a design language that Google developed in 2014. It consists of the building blocks for your UI components. This language, and the design principles it embodies, are applicable to Android as well as other applications. Google provides a detailed guide to material design in its Design guidance and code. You can review this guide while developing your apps  Material Design EditText Material Design Buttons Material Design  DatePicker Material Design Snackbar Material Design Components Chips Material Design FAB Bottom Sheet Dialog. Full Screen Bottom Sheet

Gradle based Android interview questions and answers

What Is the Gradle Build System? Android Studio uses  Gradle  for building apps. An Android plugin for Gradle compiles, builds and packages apps or libraries. Gradle files also include dependencies and their versions. Gradle files, historically, use  Groovy  as their required language. However, since 2019, you can also use the Kotlin language to code Gradle files in Kotlin apps. We have two great articles on Gradle. Take a look at both  Gradle Tutorial for Android: Getting Started  and  Gradle Tips and Tricks for Android  for a deeper dive. Aaaaas

Kotlin Some important unsorted interview questions and answers

Image
  What is inline class in Kotlin and when do we need one? Provide an example.  What is inline class in Kotlin and when do we need one? Provide an example. Senior Answer Sometimes it is necessary for business logic to create a wrapper around some type. However, it introduces runtime overhead due to additional heap allocations. Moreover, if the wrapped type is primitive, the performance hit is terrible, because primitive types are usually heavily optimized by the runtime. Inline classes  provide us with a way to wrap a type, thus adding functionality and creating a new type by itself. As opposed to regular (non-inlined) wrappers, they will benefit from improved performance. This happens because the data is inlined into its usages, and object instantiation is skipped in the resulting compiled code. inline class Name ( val s : String ) { val length : Int get ( ) = s . length fun greet ( ) { println ( "Hello, $s " ) } } fun main (