Understand V8 isolates, KV eventual consistency, R2 zero-egress storage, Durable Objects for strong consistency, and service bindings for worker-to-worker calls.
0 / 5 completed
1 / 5
What are V8 isolates in Cloudflare Workers and how do they differ from containers?
V8 isolates: each worker request gets its own V8 isolate — isolated memory, no shared global state between requests or tenants. Unlike containers that boot an OS, isolates start instantly because V8 is already running. The trade-off is that Workers run in a restricted environment (no Node.js APIs, limited CPU time per request) compared to a full container.
2 / 5
What is Cloudflare KV and what consistency model does it use?
Cloudflare KV:await env.MY_KV.get("key") reads from the nearest edge cache — extremely fast globally. await env.MY_KV.put("key", "value") propagates worldwide in ~60 seconds. KV is ideal for configuration, feature flags, and user session data where eventual consistency is acceptable. For strong consistency, use Durable Objects instead.
3 / 5
What is Cloudflare R2 and how does it differ from AWS S3?
Cloudflare R2: R2 stores objects (images, files, datasets) with S3-compatible API. Workers access it without egress fees — serving user uploads via a Worker to R2 and back to the user costs only storage. Existing S3 SDKs work with R2 by changing the endpoint URL. R2 also supports public bucket access and presigned URLs for direct client uploads.
4 / 5
What are Durable Objects in Cloudflare Workers and what unique capability do they provide?
Durable Objects: each Durable Object ID routes all requests for that ID to a single instance globally — a WebSocket room, a document collaborator, a rate limiter. The instance has its own transactional storage (this.state.storage.put/get) that is strongly consistent. This enables building multiplayer features, distributed locks, and per-user state that KV's eventual consistency cannot safely support.
5 / 5
What is worker-to-worker communication in Cloudflare Workers and how is it configured?
Service bindings:const response = await env.AUTH_SERVICE.fetch(request) calls the auth Worker directly without leaving Cloudflare's network. This enables splitting logic across Workers (auth, payments, notifications) while keeping inter-service latency near zero. Service bindings also enable staged rollouts — bind to a specific version of another Worker for safe incremental deploys.