A String.format locale bug turns 1234.50 into 1234,50 or Arabic digits, so toDouble() throws NumberFormatException. Runnable repro, fix and interview answer.
A Mutex withLock deadlock comes from a non-reentrant Mutex locked twice, and it hangs with no ANR or exception. A runnable repro, the fix and wrong answers.
A LaunchedEffect stale value comes from LaunchedEffect(Unit) keeping its first lambda and a captured String. Why keying on the callback fails, and the fix.
StateFlow not emitting after you add to a MutableList? copy() shares the list so states compare equal, and update {} retries repeat the add. Repro and fix.
Reading the response body in an OkHttp interceptor causes IllegalStateException: closed. The two stacked causes, the peekBody fix and the interview answer.
SharedFlow drops one-time events with no collector, and Channel loses them on cancellation. One login screen built three ways, with Google’s fix: reduce the event to UI state.
Passing SupervisorJob() to launch in viewModelScope doesn’t stop a crash, and it detaches the coroutine from onCleared(). Here’s the two-bug reason, a runnable repro, the fix, and the interview answer.
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.