Company Interview Questions · Analytics & AI Firms
Tiger Analytics: GenAI Engineer
Tiger Analytics: GenAI Engineer Interview Process and Questions. 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
Based on a public interview-process guide for the Tiger Analytics GenAI Engineer role and candidate-reported topics. The questions are paraphrased, and the model answers are written by EasyLearnSpace. Tiger is a consulting-style analytics firm, so expect client use cases and a deep dive into your projects.
| Role | GenAI Engineer / Data Scientist (GenAI) |
| Rounds | Automated screening → remote technical (coding + architecture) → in-person technical with senior leaders |
| Timeline | About 3–5 weeks |
| Focus | Sampling and decoding, prompt design, RAG, system design for summarisation, fine-tune vs API, pandas coding, ROI |
01Rounds at a glance
- Screening: an online test of Python, ML basics and aptitude.
- Remote technical: coding (pandas and text cleaning) and architecture discussion.
- In-person: senior engineers or DS leaders run system design and a deep dive on your hardest GenAI project, including business impact.
02Questions and model answers
Q1
What is the difference between top-k and top-p sampling? Where does temperature fit?
- Temperature scales the logits before softmax. Low values (0 to 0.3) make output deterministic and focused; high values (above 0.8) make it more creative and random.
- Top-k: sample only from the k most likely tokens, for example k=40. It is a fixed-size cut regardless of how confident the model is.
- Top-p (nucleus): sample from the smallest set of tokens whose probabilities add up to p, for example 0.9. The set adapts: small when the model is confident, large when it isn't.
- In practice:
- Extraction, SQL or JSON: temperature 0.
- Chat: temperature around 0.7 with top-p 0.9.
- Avoid tuning top-k and top-p heavily at the same time.
Q2
How do you approach prompt design for an enterprise use case?
- Define the task and success metric with the business, and collect 30 to 50 real examples.
- Structure the prompt: - A role - The task - The context in delimiters - Rules (cite sources, never invent numbers) - The output format, as a JSON schema - 2 or 3 few-shot examples
- Iterate against an evaluation set, not by eye. Version prompts in git.
- Add guardrails: PII masking, refusal rules, a check on maximum length.
- Optimise cost: a shorter system prompt, prompt caching, a smaller model where it is good enough.
Q3
What are the components of a RAG system, including data ingestion?
- Ingestion:
- Connectors (SharePoint, S3, databases)
- Parsing (PDF, tables, OCR)
- Cleaning and deduplication
- Chunking with metadata
- Embedding
- Indexing
- A scheduled or incremental refresh
- Retrieval: query understanding or rewriting → hybrid search → filters → re-ranker.
- Generation: prompt assembly, the LLM, citations, and output validation.
- Platform: access control, caching, monitoring, an evaluation harness, and a feedback loop.
Q4
What ethical risks do LLMs carry, and how would you test for bias?
- Risks:
- Hallucination
- Bias and unfair outcomes
- Toxic content
- Privacy leaks (PII in training data or prompts)
- Copyright
- Over-reliance by users
- Prompt injection
- Testing for bias:
- Build counterfactual pairs: the same input with only a protected attribute changed (name, gender, region), then compare outputs and scores.
- Measure differences in refusal or approval rates and in sentiment.
- Use benchmarks such as BBQ or StereoSet for a general check.
- Mitigations:
- Remove protected attributes from decision prompts.
- Add policy prompts and output filters.
- Keep a human in the loop for consequential decisions.
- Document everything in a model card, and audit regularly.
Q5
Design a system that summarises thousands of call transcripts every day.
- Ingestion: audio → speech-to-text (Whisper or Azure Speech with speaker diarisation) → transcript stored with call metadata.
- Processing: a queue (Kafka or Service Bus) feeding workers. Long calls use map-reduce: summarise chunks, then combine. A JSON schema captures the summary, intent, sentiment, action items and compliance flags.
- Model choice: a small, cheap model for most calls; a large model for escalations. Use the batch API for overnight jobs, which costs about 50% less.
- Quality: a sampled human review, LLM-judge faithfulness checks, and PII redaction before storage.
- Output: written to a warehouse and dashboards; searchable through RAG for supervisors.
Q6
Should we fine-tune an open-source model or use a hosted API?
| Factor | Hosted API (GPT, Claude, Gemini) | Fine-tuned open model (Llama, Mistral) |
|---|---|---|
| Time to value | Days | Weeks |
| Quality on general tasks | Highest | Lower, unless the task is narrow |
| Data privacy | Vendor terms / private endpoint | Full control |
| Cost at high volume | Grows per token | Fixed GPU cost, cheaper at scale |
| Ops burden | Low | High (serving, scaling, updates) |
- Recommendation pattern: start with an API plus RAG. Fine-tune (LoRA) only when you need a specific style or format, low latency or cost at scale, or must run on-premises. Prove it with an evaluation set first.
Q7
How do you keep an LLM application fast and highly available in production?
- Latency:
- Streaming
- Response and semantic caching
- Smaller models for routing
- Parallel tool and retrieval calls
- Shorter prompts
- Prompt caching
- Region close to users
- Availability:
- Multiple deployments or providers with fallback
- Retries with exponential backoff
- Timeouts and circuit breakers
- Rate-limit and quota management
- Autoscaling stateless services
- Health checks
- Monitor p50/p95 latency, error rate, tokens and cost, with alerts against SLOs.
Q8
pandas: filter and reshape a dataset of support tickets.
import pandas as pd
df = pd.read_csv("tickets.csv", parse_dates=["created_at"])
recent = df[(df.created_at >= "2025-01-01") & (df.status != "spam")]
pivot = (recent.assign(month=recent.created_at.dt.to_period("M"))
.pivot_table(index="month", columns="category",
values="ticket_id", aggfunc="count", fill_value=0))
long = pivot.reset_index().melt(id_vars="month", var_name="category", value_name="tickets")
- Explain boolean masks,
pivot_tablevsgroupby().unstack(), andmeltto go back from wide to long format.
Q9
Clean a noisy text corpus before feeding it to a Transformer.
import re, html, unicodedata
def clean(t: str) -> str:
t = html.unescape(t)
t = unicodedata.normalize("NFKC", t)
t = re.sub(r"<[^>]+>", " ", t) # HTML tags
t = re.sub(r"https?://\S+", "<URL>", t) # URLs
t = re.sub(r"\S+@\S+", "<EMAIL>", t) # PII-ish
t = re.sub(r"\s+", " ", t).strip()
return t
- For Transformers, don't stem, remove stop words or lowercase blindly, because the tokenizer and model rely on natural text. Do deduplicate, drop boilerplate, fix encoding and filter by language.
Q10
How did you measure the business impact (ROI) of a GenAI solution?
- Baseline first: average handling time, cost per ticket, error rate, all measured before launch.
- After launch: A/B or phased rollout, then compare. Example: "Agents using the assistant cut handling time from 9.5 to 6.8 minutes (−28%) across 40k tickets a month, about ₹38 lakh a year saved, against ₹6 lakh a year of LLM and infrastructure cost."
- Include quality (CSAT and accuracy) and adoption (weekly active users), not just cost.
03How to prepare for Tiger Analytics
- Be fluent in pandas and text cleaning; coding is practical, not LeetCode-heavy.
- Prepare one end-to-end GenAI system design (summarisation or RAG) with cost numbers.
- Know decoding parameters, fine-tune vs API trade-offs, and responsible-AI testing.
- Quantify your project's impact in rupees or hours saved.
Sources
- Dataford: Tiger Analytics GenAI Engineer interview guide
- Interview Query: Tiger Analytics interview guide
Created by Ajeetkumar