Company Interview Questions · Product & Retail Tech

Zomato: ML Engineer, Campus (2025, Offer)

❓ 7 questions🏢 Zomato🆕 Recent reports

Zomato: Machine Learning Engineer Interview Experience (Campus, 2025, Offer). Rounds, real reported questions and model answers, compiled from public candidate reports (sources at the end). Practice mode hides every answer: say your answer first, press Show answer, then rate yourself. Use 🔁 Review again to build your revision list and 🎲 Random question for a quick drill.

About this interview

Compiled from a public candidate report for a junior Zomato Machine Learning Engineer role through on-campus placement in India (August 2025, offer accepted). The questions are paraphrased, and the model answers are written by EasyLearnSpace.

Role Machine Learning Engineer (junior)
Rounds Online assessment → Technical 1 → Technical 2 → HR
Online assessment 4 MCQs (ML + Python) + implement a RAG pipeline end to end in LangChain
Technical rounds Resume + DL concepts (some candidates got a medium DSA problem); high-level design to improve an agentic pipeline
Outcome Offer accepted; HR round friendly (work and location preferences)

01Rounds at a glance

02Questions and model answers

Q1
Online assessment: implement a RAG pipeline in LangChain.
from langchain_community.document_loaders import PyPDFLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser

docs = PyPDFLoader("menu_policy.pdf").load()
chunks = RecursiveCharacterTextSplitter(chunk_size=800, chunk_overlap=100).split_documents(docs)
retriever = FAISS.from_documents(chunks, OpenAIEmbeddings()).as_retriever(search_kwargs={"k": 4})

prompt = ChatPromptTemplate.from_template(
    "Answer only from the context. If unsure, say you don't know.\n\nContext:\n{context}\n\nQuestion: {question}")
fmt = lambda ds: "\n\n".join(d.page_content for d in ds)
chain = ({"context": retriever | fmt, "question": RunnablePassthrough()}
         | prompt | ChatOpenAI(model="gpt-4o-mini", temperature=0) | StrOutputParser())
print(chain.invoke("What is the refund policy for late deliveries?"))
  • Mention what you would add with more time: metadata and citations, a re-ranker, evaluation (RAGAS) and streaming.
Q2
How do BERT embeddings differ from Word2Vec?
  • Word2Vec:
  • Static: one vector per word type, learned with a shallow skip-gram or CBOW network.
  • No context ("bank" always has the same vector), out-of-vocabulary words are a problem, and it is cheap.
  • BERT:
  • Contextual: the vector depends on the whole sentence through deep bidirectional self-attention.
  • Uses sub-word (WordPiece) tokens, so there is no OOV problem.
  • Captures syntax and senses, but costs more to compute.
  • For sentence-level similarity, plain BERT [CLS] vectors are weak; use sentence-transformers fine-tuned contrastively.
Q3
How does excessive sub-word splitting by the tokenizer affect sentiment analysis or NER?
  • Problems:
  • Words broken into many pieces ("un", "##believ", "##ably") dilute meaning across tokens and use up the context length.
  • Rare names, Hinglish ("bahut tasty") and dish names ("paneer-tikka") fragment badly.
  • NER: entity boundaries must be re-aligned from sub-words to words; labelling only the first sub-word, or aggregating, adds noise.
  • Sentiment: negations and intensifiers split oddly; more tokens means more sequence and a higher chance of truncation.
  • Fixes:
  • A domain or multilingual tokenizer (or extend the vocabulary with domain tokens and fine-tune).
  • Normalise text.
  • Use word-level aggregation (first or mean sub-word) for NER.
  • Choose models trained on Indic and code-mixed data.
Q4
Learned positional embeddings from a patch/CNN stem vs the fixed sinusoidal encodings of the original Transformer: what is the trade-off?
  • Sinusoidal (fixed): no parameters; it encodes relative offsets through sin/cos phase and can extrapolate somewhat to longer sequences.
  • Learned absolute (ViT patch positions, BERT): flexible and data-driven, but limited to the trained length or resolution. Changing image size requires interpolating the position grid.
  • Convolutional or patch stems bring implicit positional information (local inductive bias, zero-padding effects), which some models use instead of, or as well as, explicit embeddings, as in ConvNeXt-style or CvT designs.
  • Modern LLMs use RoPE or ALiBi (relative) for better length generalisation.
Q5
How do you optimise speech-to-text and text-to-speech models for low-latency inference? How does quantization affect quality?
  • Speech-to-text (Whisper, Conformer):
  • A smaller or distilled model (distil-whisper).
  • Streaming / chunked decoding with VAD to skip silence.
  • CTranslate2 or faster-whisper, batching, GPU FP16 or INT8.
  • Text-to-speech (FastSpeech, VITS):
  • Non-autoregressive models for speed.
  • A streaming vocoder.
  • Cache frequent phrases.
  • Quantization:
  • INT8 usually costs under 1% WER or MOS.
  • 4-bit can hurt accents, noisy audio and prosody noticeably.
  • Measure WER (speech-to-text) and MOS or MCD (text-to-speech) on your data (Hindi or Hinglish, noisy restaurant audio) before and after.
  • Use calibration data from the real domain.
Q6
Design improvements to an existing agentic pipeline (for example, a customer-support agent).
  1. Measure first: trace every step (LangSmith or Langfuse) and find where it fails. Common culprits are wrong tool choice, loops and slow steps.
  2. Routing: a cheap classifier or small LLM sends simple intents (order status) to deterministic flows. Only complex cases reach the full agent.
  3. Tools: tighter descriptions and schemas, fewer and more specific tools, validation of arguments, idempotent APIs.
  4. Memory and context: summarise long chats, retrieve only the relevant policy chunks, and cache user and order lookups.
  5. Reliability: a maximum number of steps, timeouts, retries with backoff, fallback models, and human handoff for refunds above a threshold.
  6. Evaluation: a trajectory test set; measure resolution rate, average steps, latency, cost per conversation and CSAT.
Q7
HR: are you open to relocating, and what kind of work do you want?
  • Be honest and positive: "Yes, I'm flexible on location (Gurugram or Bengaluru). I'm most excited about applied ML that reaches users fast, like search, recommendations and support automation at Zomato's scale."
  • Show that you know the product: delivery-time prediction, restaurant ranking, and the AI support assistant.

03How to prepare for Zomato ML

Sources

Created by Ajeetkumar