2Application vs network interceptors in OkHttp — what is the difference, and what belongs in each?Medium
10How does Paging 3 work, and where does RemoteMediator fit when the list must also work offline?Hard
11A list of remote images scrolls badly and memory climbs as the user goes down it. What is an image loader doing for you, and what do you still have to get right?Medium
12How does the app know it is offline, and why is checking connectivity before every request the wrong instinct?Easy
13A reviewer asks why every repository call is wrapped in withContext(Dispatchers.IO) — does a Retrofit suspend function need it?Easy
14The logging interceptor never prints the Authorization header, and QA then finds access tokens in a release bug report — what went wrong on both counts?Easy
15The user backs out of a screen while a request is in flight — what happens to the call, and why does an error toast still pop up sometimes?Medium
16Someone adds an interceptor that logs the response body, and now every call fails to parse with IllegalStateException: closed — what is a ResponseBody really?Medium
17The base URL is https://api.example.com/v2/ but @GET("/users") hits /users with no /v2 in it — how does Retrofit build the final URL?Medium
18You never wrote a class implementing your API interface, so what does retrofit.create(Api::class.java) hand back, and when is a typo in an annotation found?Medium
19A grid fires forty image requests at one host and a trace shows only five running, and on another screen every call stalls behind a live stream — what is going on?Hard
20A 400 MB download OOMs on some phones and starts from zero every time the connection drops — how do you make it stream to disk and resume?Hard