Copy of snippet "RPS - Android"

{time: MMMM Do YYYY}
Decision: 
Name:
Position/Level:
Source:
Location:
Work Auth:
Comp:
Role today/Team Makeup:
Motivation/Target/ideal role:
Activity/Timing:
Communication - 
How big is the mobile team there and what was your role?
What problem do Kotlin coroutines solve compared to traditional threads?
Coroutines are lightweight and efficient
Simpler async code (sequential style) without blocking threads, Structured concurrency
What does suspend mean? Does it create a new thread? function can be paused and resumed later without blocking the underlying thread. It does not create a new thread.

What’s the difference between launch and async
Both start coroutines, but they serve different purposes:

  • launch is used for fire-and-forget work. It returns a Job and doesn’t produce a result.
  • async is used when you need to return a value. It returns a Deferred<T>, which you can await() to get the result
Tell me about a Compose screen you’ve built or maintained. How did state flow into the composables, where did side effects live, and what issues did you run into with recomposition, previews, or testing?
How did you decide what lived in the ViewModel versus the composable?
Explain state hoisting - moving state out of a child component and into a parent component that owns it. Makes the child component stateless and easier to reuse, test, and maintain.
  • Instead of a child view managing its own data, the parent owns the state and passes it down to the child.
  • Understands that composables should be mostly declarative
  • Has practical experience with previews, testing, lifecycle-aware collection, or performance debugging
  • Can describe tradeoffs, not just name APIs
Have you used dependency injection in Android app (Hilt or Dagger)? Can you walk me through where you used it, what types of objects you injected, and how you thought about lifecycle or scope?
  • DI as a way to provide dependencies rather than manually constructing them everywhere
  • They know common layers: ViewModel, repository, network client, database, use cases.
  • They understand scope roughly maps to lifecycle.
  • They can explain tradeoffs without getting lost in jargon.
What problems can happen if you use the wrong scope/lifecycle in dependency injection? [memory leaks, recreating objects, sharing state incorrectly, lifecycle mismatch!]

AI/LLMs
Tell me about a project where AI influenced how you worked or what you built.
When using AI-generated output, how do you decide whether it’s correct or safe to use?