Design Image Hosting Service

Hard45 min
1 / 30
understanding7 min read

Problem Statement and Image Hosting Context

Problem Statement and Image Hosting Context — image hosting system design interview section.

Problem Statement and Image Hosting Context

Frame Imgur/Cloudinary-class hosting: immutable originals, derivative sprawl, CDN-first delivery, and tenant isolation at planetary scale.

Key points

  • 50M DAU uploading 10M images/day; 300M derivative views/day
  • p95 view latency target 120ms globally on cache hits
  • Content-addressed storage with perceptual dedupe optional tier

Capacity signals (sec-001)

  • 10M uploads/day
  • 2.5MB avg original
  • 85% CDN hit goal

Mechanism detail

For Problem Statement and Image Hosting Context, emphasize how bytes stay out of OLTP, how transform specs hash into cache keys, and how purge surrogate tags map to CDN objects. When the interviewer probes failures, describe single-flight transform for viral assets, quarantine-before-publish for uploads, and versioned URLs during purge backlog. Quantify impact: at 35K peak view RPS and 88% CDN hit ratio, transform-origin sees ~4.2K RPS—size worker pools accordingly.

FinOps and abuse (sec-001)

Bill egress and transform CPU per tenant; cap unauthenticated hotlink bandwidth. Rate-limit complete-upload per IP and per API key. Perceptual hash blocklists add ~40ms on upload path but prevent catastrophic trust loss.

javaOne Dark Pro
1public final class AssetId {
2 private final String tenantId;
3 private final String contentHash;
4 public String objectKey() { return tenantId + "/" + contentHash; }
5}
pythonOne Dark Pro
1@dataclass(frozen=True)
2class UploadIntent:
3 tenant_id: str
4 bytes: int
5 mime: str
typescriptOne Dark Pro
1export interface ViewRequest {
2 assetId: string;
3 width: number;
4 format: "webp" | "avif" | "jpeg";
5}

Why interviewers care

Image Hosting Service interviews reward crisp scope, explicit trade-offs, and failure stories—not generic microservice diagrams.

Interview checkpoint

Name one failure story for Problem Statement and Image Hosting Context that proves you understand real outages, not happy-path diagrams.

Key Highlights

  • 50M DAU uploading 10M images/day; 300M derivative views/day
  • p95 view latency target 120ms globally on cache hits
  • Content-addressed storage with perceptual dedupe optional tier
Say this clearly
Lead with measurable SLIs when discussing Problem Statement and Image Hosting Context.
Avoid
Storing image bytes in Postgres or serving without signed URLs on hot assets.

Section Rescue Kit

Buzzwords to use:

Content-addressed storageTransform spec hash

Safe statements:

  • "Originals are immutable in object storage; metadata lives in sharded Postgres for Problem Statement and Image Hosting Context."
  • "I never put bitmap bytes in OLTP—only pointers, sizes, and moderation state."
  • "Delivery is CDN-first with signed URLs and surrogate-key purge, not origin per view."
Design Image Hosting Service - System Design | WinJob | WinJob