CrackML by @ml.with.umang
Interview questions / ML System Design
ML System Design interview question

Design an Image Classifier for 500 Tree Species

Design an end-to-end vision system that identifies one of hundreds of visually similar tree species.

hardsystem designEvidence 34/1001 source reportAmazon

The 60-second answer

Define image conditions, taxonomy, unknown/out-of-distribution behavior, latency/device constraints, and the cost of confusing visually similar species. Build diverse labeled data across geography, season, lighting, camera, and plant parts; use transfer learning and augmentations with a strong pretrained baseline.

Build the answer in this order

1
Frame the problem

Define image conditions, taxonomy, unknown/out-of-distribution behavior, latency/device constraints, and the cost of confusing visually similar species.

2
Design the data path

Build diverse labeled data across geography, season, lighting, camera, and plant parts; use transfer learning and augmentations with a strong pretrained baseline.

3
Choose the modeling stack

Evaluate top-1/top-k accuracy, per-class precision/recall, calibration, confusion among related species, and geographic/seasonal slices.

4
Serve, evaluate, iterate

Serve with confidence thresholds and an unknown/abstain path; monitor class drift, image quality, and taxonomy updates.

A useful interview mental model

This is the shape of a strong answer—not a script to memorize.

01Requirements
02Data
03Model / Retrieval
04Serving
05Monitor

Senior-level signal

  • Senior answers discuss open-set recognition and hierarchical taxonomy rather than forcing every image into one of 500 classes.
  • Include label-quality workflows and how new species/classes are added without destabilizing old performance.

What the interviewer is really testing

Product framing, data design, modeling choices, serving constraints, reliability, evaluation, and explicit trade-offs.

Likely follow-up questions

What changes at 10× traffic or data volume?
Which failure mode would you monitor first in production?
How would you evaluate this offline and online before rollout?

Common weak-answer patterns

  • Jumping to a model before defining the product contract.
  • Listing components without bottlenecks, metrics, or failure handling.
  • Ignoring data quality, serving latency, monitoring, and iteration.