Adobe interview questions
Big tech · 4 questions reported
- junior 0
- mid 1
- senior 3
These are 4 technical questions candidates reported being asked in Adobe interviews for AI engineer, ML engineer and applied AI engineer roles, each with a model answer you can say out loud in a minute or two. They cover embeddings, attention, where the time goes and training: 0 junior, 1 mid-level and 3 senior questions. Every question comes from a public interview write-up that names Adobe.Updated
Adobe embeddings questions
Model answer
Uploads land in object storage and enqueue a job. Workers per modality: documents are parsed and chunked by structure; images are embedded directly; videos are sampled at intervals and scene changes, with the audio transcribed and embedded as text. Batch on GPUs.
Idempotency: key each output by content hash, model version and chunking config, and upsert, so retries never duplicate. Failures go to a dead-letter queue.
Store vectors with tenant and offsets. Tenant isolation is enforced server-side: per-tenant namespaces, per-tenant keys, and deletes that propagate to vectors. Model upgrades re-embed into a new index.
Adobe attention and the transformer block questions
Model answer
Masks set scores to minus infinity before the softmax. The causal mask hides future positions; the padding mask hides pad keys, and pads are excluded from the loss.
Scroll sideways to see the whole diagram
Rows are the token looking (its query), columns the token looked at (its key). Each cell is a score: the query's dot product with the key, divided by √d.
Text version
- Rows are the token looking (its query), columns the token looked at (its key). Each cell is a score: the query's dot product with the key, divided by √d.
- The causal mask: before the softmax, every score where the key comes after the query is set to minus infinity.
- Softmax turns those cells into exactly 0, and the remaining weights in each row still add up to 1.
- Token 1 sees only itself, token 2 sees tokens 1 and 2, and so on. Adding tokens later never changes an earlier row, which is why the KV cache is exact.
The causal mask as taught in lesson 3, on the attention lab's three tokens “The river bank”.
In cross-attention, queries come from the decoder, keys and values from the encoder.
At decode time, past keys and values never change, so the KV cache stores them; each step computes projections for one new token instead of re-running the prefix.
Mixed precision runs matmuls in FP16 or BF16, keeps FP32 master weights and optimizer state, and with FP16 scales the loss so small gradients don't underflow.
Adobe where the time goes: bandwidth, batching and memory questions
Model answer
Compare each kernel's arithmetic intensity with the GPU's ratio of compute to bandwidth. Large matmuls are compute-bound; softmax, norms, elementwise ops and small-batch decode are memory-bound, so fuse them.
Naive attention writes the full sequence-by-sequence score matrix to HBM: quadratic memory and traffic. FlashAttention tiles it through on-chip SRAM instead.
MFU counts only the model's required FLOPs against peak; HFU also counts recomputation, so activation checkpointing raises HFU, not MFU.
Profile: timeline gaps for data loading, launch overhead and communication; per-kernel achieved bandwidth versus tensor-core utilization.
Adobe training and optimisation questions
Model answer
Leakage is training on information unavailable at prediction time: future data, target-derived features, or scalers fitted before splitting. Split first.
For missing data, ask why it's missing, then impute from training statistics and add a missing indicator.
MSE fits the conditional mean and punishes outliers; MAE fits the median. Logistic regression uses log loss: the Bernoulli likelihood, convex in the weights. MSE on a sigmoid is non-convex and its gradients vanish when saturated.
Each question comes from a public interview write-up or video that names Adobe; the answers are ours. Not affiliated with Adobe.