Practice the vocabulary of building a dedicated backend tailored to one specific client type.
0 / 5 completed
1 / 5
At standup, a dev mentions building a dedicated backend service tailored specifically to a mobile app's data needs, separate from a similar dedicated service tailored to a web client. What is this pattern called?
Backend for frontend, or BFF, builds a dedicated backend service tailored specifically to one client's data needs, like a mobile app, kept separate from another dedicated service tailored to a different client, like a web app. A single, generic backend serving every client identically forces each client to adapt to a one-size-fits-all response shape that may not actually fit its needs well. This tailored, per-client backend is what lets each frontend get exactly the data shape it actually needs.
2 / 5
During a design review, the team wants the mobile BFF to aggregate several calls to different downstream services into one single response, reducing the number of round trips a mobile client has to make. Which capability supports this?
Request aggregation within a BFF layer combines several calls to different downstream services into one single response, reducing the number of round trips a mobile client, which is often on a slower or less reliable network, has to make. Requiring the client to call every downstream service directly multiplies its round trips and its exposure to network latency. This aggregation is one of the most direct performance benefits a BFF layer provides for a specific kind of client.
3 / 5
In a code review, a dev notices the mobile BFF and the web BFF are each maintained by the team that actually owns the corresponding frontend, rather than one shared team owning both. What does this represent?
Team-aligned ownership has each BFF maintained by the team that actually owns its corresponding frontend, so that team can evolve its BFF's response shape in lockstep with its own frontend's changing needs. One shared team owning every BFF creates a coordination bottleneck whenever any individual frontend needs a change. This aligned ownership is a key organizational benefit of the BFF pattern, not just a technical one.
4 / 5
An incident report shows the mobile BFF began returning a response shape the mobile app hadn't been updated to handle, because the BFF and frontend teams released their respective changes out of sync. What practice would prevent this?
Coordinating a BFF's response-shape change with its corresponding frontend's release prevents the frontend from receiving a shape it hasn't been updated to handle. Releasing independently with no coordination risks exactly the kind of mismatch this incident describes. This coordination is necessary precisely because a BFF and its frontend, while often owned by the same team, are still deployed as two separate, independently releasable pieces of software.
5 / 5
During a PR review, a teammate asks why the team maintains a separate BFF for mobile and web instead of a single, generic backend serving both client types identically. What is the reasoning?
Each client type has genuinely different data and aggregation needs, like a mobile app benefiting more from fewer round trips than a web app might. A tailored BFF fits each client's specific needs, while a single generic backend forces a compromise shape onto every client regardless of fit. The tradeoff is the added operational overhead of building and maintaining a separate BFF service for each client type.