In an AI-allowed round you get a repository, an assistant and about an hour. The assistant writes fast and is sometimes wrong in a way that passes the visible test. You are marked on the part it cannot do: a hypothesis before the first prompt, a check that separates its patch from the truth, and a reason for every line you keep. From SDE-2 up, you may also design an LLM feature with a cost and an eval; at Staff, a plan for assistants.
Not advice. General information, and every example is invented.
General information. Company policies change within months; they are as read on 31 Oct to 4 Nov 2026. Every person, repository and transcript below is INVENTED.
What companies say about AI in interviews
For: all levels.
Few companies publish the format; the table holds only what a company page or news outlet states, dated: a spread, not a trend.
Table: Company, Source, date, What it says (6 rows)
| Company | Source, date | What it says |
|---|---|---|
| Canva | Company engineering blog, 11 Jun 2025 | Expects backend, ML and frontend candidates to use AI. In a pilot, an "AI-Assisted Coding" competency replaces the CS-fundamentals screen for backend and frontend roles; CS fundamentals are still assessed. Candidates are told in advance. Tasks are ambiguous; one prompt cannot solve them. Strong candidates clarified and reviewed the output; those new to AI struggled with judgement, not coding. |
| Sonar | Company page, undated | AI allowed to research the company and refine your application, but not in coding tests or during live calls; encouraged in the technical interview. It wants formed opinions, the tool's mistakes caught, and ownership; it views concealment negatively. |
| Anthropic | Company page, updated 10 Jul 2025 | Live interviews are without AI unless Anthropic says otherwise. |
| News coverage (Business Insider via syndication), 14 May 2026 | A pilot "code comprehension" round with Gemini to read, debug and optimise a codebase, assessing prompting, output validation and debugging, for junior and mid roles in select US areas. India is not mentioned. | |
| Meta | News coverage (404 Media), 29 Jul 2025 | Told employees it would let some coding candidates use an AI helper. Meta has not published the format. |
| Amazon | News coverage (IT Pro), 14 Mar 2025 | No generative AI in interviews; violations may lead to disqualification. May have changed since. |
For Indian firms, no public statement from Flipkart, Swiggy or Razorpay was found as of 31 Oct 2026. Your recruiter is the only source for your round.
Move 1: ask in writing when the round is booked. Send the email below and keep the dated reply. A vague reply is an answer: prepare without AI.
Code, 12 lines
Subject: Format of my [round name] on [date] Hi [name], so that I prepare for the right format, could you confirm in writing: 1. Is an AI assistant allowed? Which tools, and can it edit files or run commands? 2. Coding only, or design rounds too? 3. My own editor, or a pad you provide? Which languages? 4. Are my prompts and its replies recorded or reviewed? 5. In general terms, how is the round scored? 6. If a round does not mention AI, assume it is not allowed? Thank you, [your name]
Move 2: know what the graders watch. Across the table, in the author's synthesis: verification and ownership, the loop in Figure 9.1.
Next stop: The first ten minutes in an unfamiliar tool, 1 min
The first ten minutes in an unfamiliar tool
For: all levels.
Run this checklist on the named tool or a similar one (minute marks: the author's estimate, not measured). No vendor page read says how a tool picks the files it sends the model; row 2 tests that.
Table: Minute, Do, You are looking for (6 rows)
| Minute | Do | You are looking for |
|---|---|---|
| 0-2 | Find the mode switch and permission setting. Turn off auto-run of commands, auto-accept of edits and memory of earlier chats. | Nothing changes until you click. |
| 2-4 | Ask: "Which files did you read for this answer?" Check the list with a text search. | If it cannot name them, treat answers as built from what you pasted. |
| 4-6 | One read-only question with a checkable answer: "Which methods write Stock.left? File and line." Verify with grep. | How often it is wrong on a small tree. |
| 6-8 | Ask for a one-line edit. Accept a hunk, reject a hunk, undo an accepted hunk. Learn "show the whole diff". | The keys you will need under time pressure. |
| 8-9 | Run the tests in the tool's terminal, then in your own shell. | Which one the interviewer can see. |
| 9-10 | Find how to start a fresh chat and the history. | The reset for a thread full of a wrong idea. |
Claude Code and Cursor document permission modes and checkpoints (read 2 Nov 2026); Copilot's page was unreachable, so it is not covered. Say which files you attached and why.
Move 3: write every prompt for a reader over your shoulder. Some tools record prompts and replies for the interviewer. Record A, "fix the failing test", shows nothing. Record B, "Hypothesis: split drops the empty last field. Show a diff for CsvParser.parse only; keep Importer unchanged; I will run App", shows what you think. Never type a secret or a complaint.
Next stop: A worked 60-minute round, with a planted bug, 4 min
A worked 60-minute round, with a planted bug
For: Intern (the table and the 994 check), SDE-1 to Staff.
Candidate R. Menon, the repository and the minute marks are INVENTED.
The repository prices an order in paise. Its README says only "percentage discount, rounded to the paisa"; the interviewer holds the exact rule. The version as given:
Code, 15 lines
record Item(String sku, long paise) {}
record Line(String sku, int qty) {}
static long totalV1(List<Line> lines, List<Item> cat, int pct) {
long total = 0;
for (Line l : lines) {
long price = 0;
for (Item i : cat)
if (i.sku().equals(l.sku())) price = i.paise();
long gross = price * l.qty();
long off = gross * pct / 100; // per line, truncated
total += gross - off;
}
return total;
}Table: Minute, R. Menon says and does (INVENTED), The assistant (INVENTED) (7 rows)
| Minute | R. Menon says and does (INVENTED) | The assistant (INVENTED) |
|---|---|---|
| 0-8 | No prompt. Reads the repository in five steps (the author's method): README and build; run the tests; open the failing test and the method it calls; grep that method's callers; say the flow in one sentence. The failing test: three lines of 333 paise at 10 per cent, expects 899, gets 900. Asks: "Is the discount per line or on the order, and how is it rounded?" Interviewer: "On the order subtotal, half up." "Then each line truncating 33.3 to 33 carries 0.3 paise too much: 999 at 10 per cent is 99.9, half up 100, so 899. My hypothesis is the per-line rounding." | Not used. |
| 8 | Prompt: "Money is long paise. Discount is on the order subtotal, half up. Do not change the signature. Diff only." Pastes the test and totalV1. | Returns a patch that sums the subtotal and returns (long) (gross * (100 - pct) / 100.0). |
| 12 | Applies it; the visible test passes. Does not stop: "The rule says half up and this truncates. Find a number where they differ." Works 994 at 10 per cent by hand: discount 99.4 is 99, total 895. Writes that test first; it returns 894. | Silent. |
| 16 | Rejects aloud: "It passes because 899.1 truncates to 899, but truncating the total is not rounding the discount." Writes discount() himself, keeps the assistant's loop. | Asked "why truncate?", apologises. |
| 20-40 | "Plan first, no code: add a per-order cap on the discount in paise." Asks for tests first, writes the one-line min himself. | A plan and two tests: cap binds, cap idle. |
| 40-55 | States the cost: the catalogue scan is lines times catalogue size. Asks for a map. Rejects a suggested result cache (no repeated calls; invalidation is a new bug). Checks scan and map agree on 20,000 generated lines. | A HashMap, then an unrequested cache. |
| 55-60 | Walks through every line kept; names what he would test with more time: a negative percent, an unknown SKU. | Not used. |
The patch, the fix, and the checks that told them apart:
Code, 24 lines
static long totalAi(List<Line> lines, List<Item> cat, int pct) {
long gross = 0;
for (Line l : lines)
for (Item i : cat)
if (i.sku().equals(l.sku())) gross += i.paise() * l.qty();
return (long) (gross * (100 - pct) / 100.0); // truncates
}
static long discount(long gross, int pct) {
return (gross * pct + 50) / 100; // half up
}
static long totalV2(List<Line> lines, List<Item> cat, int pct) {
long gross = 0; // the assistant's loop, kept
for (Line l : lines)
for (Item i : cat)
if (i.sku().equals(l.sku())) gross += i.paise() * l.qty();
return gross - discount(gross, pct);
}
// Test data: three = 3 lines of SKU S0 at 333 paise; edge = 1 of
// S1 at 994; big = 20,000 random lines over cat's 500 SKUs;
// price = cat as a map; check(c, msg) throws if c is false.
check(totalAi(three, cat, 10) == 899, "passes the visible test");
check(totalAi(edge, cat, 10) == 894, "...and is wrong at 994");
check(totalV2(edge, cat, 10) == 895, "fix: 994 -> 99 off -> 895");
check(discount(995, 10) == 100, "half up at the boundary");The map version keeps V1's behaviour on an unknown SKU with getOrDefault (with get, the null throws on the multiply). It agrees with the scan only if each SKU is listed once: with a duplicate, V1 takes the last price and the kept loop adds both, a change worth saying aloud.
Code, 11 lines
static long totalV3(List<Line> lines, Map<String, Long> price,
int pct, long capPaise) {
long gross = 0;
for (Line l : lines)
gross += price.getOrDefault(l.sku(), 0L) * l.qty();
return gross - Math.min(discount(gross, pct), capPaise);
}
check(totalV3(three, price, 10, 50) == 949, "cap binds: 999 - 50");
check(totalV3(three, price, 10, 500) == 899, "cap idle");
check(totalV2(big, cat, 10) == totalV3(big, price, 10, Long.MAX_VALUE),
"scan and map agree on 20,000 lines");Python habit: round() rounds half to even; an assistant can carry that into Java money code.
Next stop: How the round is marked, 2 min
How the round is marked
For: all levels.
No company publishes a scoresheet; this is the author's construct from the signals above. Score a recorded full round with it: 2 clear, 1 partly, 0 missing. Clean is 11 or more of 14 with no zero (the author's estimate, not measured).
Table: Row, Marked up, Marked down, 0-2 (7 rows)
| Row | Marked up | Marked down | 0-2 |
|---|---|---|---|
| 1. Hypothesis first | A guess from the failing test, said before any prompt | The problem pasted into the chat unread | |
| 2. Rule clarified | One question on what is ambiguous, before code ("per line or per order?") | A rule assumed, or picked by the tool | |
| 3. Prompts a reader can follow | Hypothesis, one constraint, a scope; plan first for anything over one function | The whole feature in one prompt; ten minutes arguing, not a fresh chat | |
| 4. A separating test | An expected value worked by hand; a case the tool did not suggest | The first patch kept because the visible test passes; tests the tool wrote from the code's output | |
| 5. The diff reviewed | The five-minute review (Move 4); each agent command approved; an unrequested cache costed before it is kept | Accept-all; an agent running commands unattended | |
| 6. Ownership aloud | Your own reason for every line kept or rejected; narration while it works; open use | "The AI said so"; silence; allowed use hidden | |
| 7. A close inside the time | Before time is up: what changed, what ran, what is unproved | Over time, or "it works" with nothing run |
By level (the author's estimate, not measured). Intern and SDE-1: rows 1, 4 and 6 weigh most; the tool may write code you can explain. SDE-2: all seven, with the optimisation costed before the change. SDE-3: also one design call priced aloud and what you would watch in production. Staff and Principal rarely get this round; if you do, show the Mandi plan's habits: a stop condition written on day one, and review that stays human.
Three recurring faults, small enough to miss in a long diff:
Code, 11 lines
// 1. A failed parse becomes a quiet zero
try { return Long.parseLong(s); }
catch (NumberFormatException e) { return 0; }
// 2. Acknowledge before commit: a crash between loses the message
q.ack(id); db.save(id);
// fix: db.save(id); q.ack(id); (a retry may repeat: be idempotent)
// 3. A test that mirrors the bug: 1st to 3rd inclusive is 3 days
static int daysBetween(int from, int to) { return to - from; }
check(daysBetween(1, 3) == 2, "passes, and encodes the bug");Add the model-specific ones: a method missing from your library version, a constraint lost in a long chat, a symptom-only patch, SQL by concatenation, a secret in a log.
Move 4: the five-minute diff review (split is the author's estimate, not measured). Minute 1, scope: any change you did not ask for is suspect. 2, symbols: does every method, field and import exist in this version? 3, failure paths: catch blocks returning a default, acknowledgement before write, resources left open. 4, the rule: work one number by hand where rounding, order or boundaries matter. 5, tests: run them, then add one that fails on the old code and does not share the new code's assumption.
Next stop: Practice loop: the AI writes, you find three defects, 2 min
Practice loop: the AI writes, you find three defects
For: all levels.
Rehearse alone in 30 minutes, with the model as the code author. The planted faults are the point.
- Generate. Prompt: "Write a [Java 21] class [Wallet with credit, debit and transfer / a rate limiter / a CSV importer], about 60 lines. Plant exactly three defects that compile and pass an obvious test: one wrong rule at a boundary, one swallowed or mis-ordered failure path, one concurrency or state slip. Do not mark them. Under the code, list them in ROT13." The list is now fixed but unread; copy the code only.
- Review aloud for 10 minutes. Use the five-minute diff review, then spend five more working one number by hand. Say each suspicion as a sentence: "if two threads call this, the balance check passes twice".
- Prove each. One failing test per defect found; a suspicion without one does not count.
- Reveal and score. Decode the list (
tr 'A-Za-z' 'N-ZA-Mn-za-m'). A model can mis-state what it planted, so write a failing test for each listed defect you missed before you count it; one no test can show does not count. Score: found and proved = 2, found but not proved = 1, missed = 0. Six of six on each of three runs on different modules is a sensible bar (the author's estimate, not measured). Log which class you miss (boundary, failure path, state) and make your next module that class.
The full round, alone. In lesson 5's weekly 1.5-hour full-round line, alternate: this mock with the assistant one week, without it the next (some rounds forbid AI). Record screen and voice; after minute 60, decode the bug's cause and score the recording on the rubric yourself; the model's score is a second opinion.
Code, 12 lines
Act as the interviewer in a 60-minute AI-assisted coding round. Write a three-file Java 21 service, about 150 lines, with one failing test and one hidden bug that compiles. Show only the code; under it, write the bug's cause in ROT13. Do not solve it. Ask me first to explain the failure. Then answer my requests as a typical assistant would, including one plausible mistake, such as a changed rounding rule. At minute 60, score me 0 to 2 on: hypothesis first, rule clarified, prompts a reader can follow, a separating test, the diff reviewed, ownership aloud, a close inside the time. Quote my words, and say whether I caught your mistake and how.
Next stop: The AI concepts a design or AI round probes, 3 min
The AI concepts a design or AI round probes
For: SDE-2, SDE-3, Staff, Principal.
Any AI defines RAG; a panel marks when to use it, the answer's template and the trap (the author's summary).
Table: Concept, When, and the template, Trap an interviewer presses (10 rows)
| Concept | When, and the template | Trap an interviewer presses |
|---|---|---|
| Tool calling | The model asks to call a named function with JSON arguments; your code runs it and returns the result. Template: a narrow tool, arguments validated in code, errors returned as data, calls capped per turn. | "The model called the tool": no, your code did. Say what it checks first. |
| Structured outputs | When the output feeds code. Template: a JSON schema, validate on receipt, one retry with the error message, then fail closed. | Valid shape is not a true answer: check values (ranges, ids exist). |
| RAG | When answers must come from your documents or change daily. Template: chunk (by section, 200-500 tokens, small overlap), embed, store in a vector index, retrieve top k, rerank, answer with citations. | Failures are in retrieval: chunk cuts a table, rare terms missed by embeddings (add keyword search), no reranker, stale index. Score retrieval apart from generation. |
| Agent loop | When the path is unknown. Template: reason, act (tool), observe, repeat (the ReAct pattern, Yao et al., 2022); max steps, max cost per task, a stop condition, a log of every call. | No cap, no bound on the bill. Know the worst-case cost and what a human approves. |
| Memory | The window is the only memory. Template: recent turns verbatim, older ones summarised, durable facts stored outside and retrieved. | Summaries drop constraints. Pin rules at the top; test with a rule from turn 1 at turn 40. |
| MCP | A standard protocol for a model app to discover and call tools on separate servers, not one custom integration per tool. Template: one server per system, least-privilege credentials, an allowlist of tools. | Every connected server widens the attack surface; a tool description is text the model reads. |
| Evals | Before shipping and on every prompt or model change. Template: 50 to 200 real cases with expected outputs, scored by code where possible, else by a judge model with a rubric; track the pass rate's interval. | 18 of 20 cannot rank two prompts. Read the failures, grow the set, keep a held-out slice. |
| Guardrails and prompt injection | Untrusted text the model reads (a web page, an email, a README) can carry instructions. Template: treat it as data; no private data plus untrusted input plus outbound action in one agent; sandbox, no secrets, human approval for writes and sends. | "Tell the model to ignore it" is not a control; code and permissions are (OWASP LLM01; Willison's "lethal trifecta"). |
| Fine-tune vs retrieve | Retrieve for facts that change or need citation. Fine-tune (often LoRA: train small adapter matrices, not the full weights; Hu et al., 2021) for a stable style, format or narrow skill with thousands of examples. | Fine-tuning does not reliably add facts. Prompt first, then retrieval, then fine-tuning. |
| Cost and latency | Tokens in and out set both. Template: cache the stable prefix, route easy requests to a small model, batch offline work, stream. | Output tokens cost more and are slower; long retrieved context raises both. |
Next stop: A worked LLM-feature design, with numbers, 3 min
A worked LLM-feature design, with numbers
For: SDE-2, SDE-3, Staff, Principal (to review).
An LLM design prompt is a lesson 8 design plus four numbers: tokens, rupees per 1,000 requests, latency per stage, and an eval set's size.
INVENTED example: an LLM feature, worked 3 min
The prompt. "Chhatri, an insurance app, has 40,000 help articles and 2 million questions a month. Design an assistant that answers from them." Every number is INVENTED; prices are the author's estimate (not measured).
Load and cost. "About 67,000 questions a day; if the peak hour carries a tenth, 1.9 a second, so I design for 5. Each question: an 800-token fixed prefix, five retrieved chunks of 400 tokens and 200 of question, so 3,000 in and 250 out. At Rs 0.10 per 1,000 input tokens and Rs 0.40 per 1,000 output, that is Rs 0.30 + 0.10: Rs 400 per 1,000 questions, about Rs 8 lakh a month. I assume no prompt caching: each model has a minimum (512 to 4,096 tokens) and a shorter prefix is not cached; on a model that caches these 800 and bills cache reads at 0.1 times the input price (an assumption; some models charge less), Rs 328. Three chunks would save Rs 80 per 1,000 if recall at 3 holds. At the 5-a-second design load that is 9 lakh input and 75,000 output tokens a minute: check both rate limits."
Latency, p95. "Redact 30 ms, embed 40, hybrid search (approximate vector index plus keyword, top 50) 60, rerank to 5 at 150, first token 700: about 1.0 s against a 1.5 s budget. At an assumed 50 output tokens a second, the 250-token reply ends near 6 s; streaming makes that acceptable."
Eval. "200 past questions, redacted, each labelled with its answering article; 30 have none and must hand off to a person. Retrieval and generation are scored apart: recall at 5, gate 90%; faithfulness (every claim backed by a cited chunk), by a judge model whose rubric I first check against 50 answers graded by people, gate 95%. 180 of 200 has a 95% interval of about 85 to 93%: this set tells 90% from 80%, not from 88%."
Injection, fallback, rollout. "Customer text is untrusted, so the assistant gets one read-only tool, article search; claims and policy changes stay in the app's forms, and replies link only to our domain. On a 429 or an outage: one retry with jitter, then a second model that passed the same eval, then no model: the top three articles and 'talk to an agent'. One version id covers prompt, model and retrieval settings, logged per call with tokens, stage latency and cost. A week in shadow, then 5% of users, then 25% and 100%; rollback is a flag; a cost alarm at 120% of the daily plan."
Personal data. "Questions carry names, phone and policy numbers. The DPDP Rules, 2025 (Rule 6, listed to apply from 13 May 2027) ask the data fiduciary to mask or encrypt personal data, log access, keep the logs a year, and write safeguards into its contract with a processor, here the model provider. So I redact before the prompt and send the provider's contract to legal."
Gave up / revisit when: fine-tuning (articles change weekly and must be cited), and Hindi and Tamil at launch; revisit when 10% of questions arrive in them.
Annotation: up for the arithmetic aloud, retrieval scored apart from generation, a no-model fallback, the injection control in permissions. Down: twenty minutes on a vector index's internals, or "we will fine-tune" with no eval.
Next stop: An AI situation prompt: assistants for 400 engineers, 3 min
An AI situation prompt: assistants for 400 engineers
For: Staff, Principal.
At Staff the AI question is a situation, worked here in lesson 12's Kosh format.
INVENTED example: an AI situation prompt, worked 3 min
The prompt. "Mandi, a B2B commerce company, has 400 engineers. The CTO wants AI coding assistants for everyone this year. You are the Staff engineer in developer productivity. What do you do?" Prices are the author's estimate (not measured).
Minutes 0 to 15: clarify, frame, measure. Asked, the interviewer says: ship faster without more incidents; about 120 engineers use personal accounts; Mandi holds merchants' payment data. "Two problems. Today's: our code in tools with no contract, fixed this month whatever else we choose. The CTO's: do assistants make us faster? I baseline two quarters first: say cycle time 3.2 days a pull request, change-failure rate 11%, review wait 9 hours."
Minutes 15 to 30: options for one year, at lesson 12's Rs 60 lakh per engineer-year and an invented Rs 1,700 per seat a month. C is B plus a gateway (servers, logs, evals) at an invented Rs 2 lakh a month, Rs 24 lakh; D is four rented GPUs at Rs 2 lakh a month each, Rs 96 lakh, with no seats.
| Option (1 year, Rs lakh, invented) | People | Seats or infra | Total |
|---|---|---|---|
| A. Approved tool for the 120, plus a policy | 30 (0.5 eng-yr) | 24.5 | 54.5 |
| B. Seats for all 400 | 60 (1.0) | 81.6 | 141.6 |
| C. B plus a central LLM gateway | 180 (3.0) | 105.6 | 285.6 |
| D. Self-hosted open-weights model | 180 (3.0) | 96 | 276 |
"A stops the leak; I ship it in month one regardless. At lesson 12's 1,800 hours a year an engineer costs about Rs 3,300 an hour, so a Rs 20,400 seat pays back at about six hours saved a year: price does not decide B, evidence does, and two controlled studies disagree. With Copilot, developers wrote one small HTTP server 55.8% faster (Peng et al., 2023); 16 experienced developers on mature open-source projects took 19% longer with AI, and believed it had made them 20% faster (Becker et al., METR, 2025). Neither is our code, so a pilot measures ours. C's gateway serves teams building LLM features (two today). D buys data residency at C's cost with a likely weaker model. So: A now, B through a pilot, C later, D only if a data rule binds."
Minutes 30 to 40: a rollout with a way back. "Month one: the policy (no secrets or merchant data in prompts, the author owns the diff, review stays human, agents in a container that ask before they write), personal accounts blocked on company laptops, licence scanning in CI, and the contract to legal. Months two to four: eight teams matched against eight without seats, because volunteers self-select; juniors keep a weekly no-assistant bug. Eight a side detects about 1.5 standard deviations of teams' quarter-to-quarter change in cycle time (t-test, 80% power, 5% two-sided): 15% needs that deviation at 10% or less. The baseline quarters measure it; if wider, I run 16 a side or report 'cannot tell'. The stop condition, written on day one: change failure up 2 points or review wait up 20% for two months. Seats stay monthly, so rollback is cancelling them. The pilot costs managers about 100 hours, on their roadmaps, not mine."
Minutes 40 to 45: owners and measures. "Developer productivity owns the tool, the policy and the numbers; security owns the data rules and, with legal, the contract; each manager owns adoption. No agent may hold secrets, read untrusted text and push, all at once. Monthly: cycle time, change failure, review wait, reviewer hours, active seats."
Gave up / revisit when: the gateway and self-hosting wait; revisit when three teams ship LLM features, or a contract requires code to stay in India.
Annotation: up for splitting the leak from the CTO's question, price shown not to decide, studies with their limits, a matched pilot with a stop condition, managers' hours named. Down: ten minutes comparing assistant features.
Next stop: At Principal: an AI vision on one page, 1 min
At Principal: an AI vision on one page
For: Principal.
Asked where the company should be with AI in two to three years, fill lesson 12's one-page vision template, here for Mandi after the pilot.
INVENTED example: an AI vision, worked 1 min
WHERE WE ARE AI spend Rs 62 lakh a year, owned by
developer productivity; personal accounts
blocked. Pilot: cycle time 3.2 to 2.9 days
(invented). Two teams hold their own keys.
WHERE WE MUST By 2028 every model call goes through one
BE AND WHY gateway with a budget per team, because
merchants' payment data must reach only
models we hold a contract for.
BET 1 The gateway, per-team token budgets and one
shared eval service: C less B, Rs 144 lakh a
year. Wrong in 6 months if under three teams
ship through it.
BET 2 Buy models, train none. Wrong if a contract
makes code or data stay in India: then D.
BET 3 A merchant-facing help assistant in the Mandi
app, like Chhatri: Rs 96 lakh a year in
tokens only, at Chhatri's volume; people not
priced. Wrong in 6 months if under 95% of
answers are faithful on a held-out set, or
merchant tickets fall by less than 15%.
WHAT STOPS Counting accepted suggestions or lines as
productivity. Teams signing their own model
contracts. Any agent merging to main or
changing payment code without a person.
HOW WE KNOW Teams and spend on the gateway; cycle time
and change failure, quarterly.
WHO DECIDES CTO: budgets. Security: a veto on any agent
with write access. Developer productivity:
the measures.
Review of Bet 3 as its CTO. Ask: who owns the held-out set, and what does one wrong answer to a merchant cost? Block: replies released before the faithfulness gate passes; let go: model choice.
Annotation: up for a bet with its disproof, three stops that cost someone, a veto named. Down: a list of tools.
Next stop: "How do you use AI at work?", 2 min
"How do you use AI at work?"
For: all levels.
Asked in loops that never let you touch a tool. Build the answer from six parts, each pre-empting a follow-up.
Table: Part, Follow-up it pre-empts (6 rows)
| Part | Follow-up it pre-empts |
|---|---|
| One real task | "Give me an example." |
| What went to the tool, and why | "Why not all of it?" |
| How you checked it | "How do you know it was right?" |
| Once it was wrong, or you rejected it | "Has it misled you?" |
| What you own | "Whose design was it?" |
| What you do without it | "Could you do this alone?" |
Mention confidentiality only if true: you do not paste employer code into public tools, or you use an approved one.
INVENTED example 1 min
Weak: "I use AI for pretty much everything; it writes most of my code and I review it." "Review it how?" has no answer.
Stronger: "Last month I moved our refund job to a queue consumer. Our approved assistant drafted the consumer and retry wrapper, which are boilerplate. I wrote the idempotency check myself, because a double refund costs money. One of my duplicate-message tests failed: the draft acknowledged the message before the database write. I moved the acknowledgement after the commit. Without the tool the work is slower, not different. Over the quarter I tagged 14 changes as assistant-drafted; 3 needed rework after review, against 5 of 31 for the rest. That is too few to call a difference, so I report both numbers, not a win."
Student version, worked
For: Intern, SDE-1.
Use a college project or internship task, at one-feature scale.
INVENTED example: a student answer 1 min
"In my final-year project, a library seat-booking app in Spring Boot, the assistant drafted the REST controller and the test setup. I wrote the booking rule myself, because two students must never get one seat. To check the draft I wrote a test with two bookings for the same seat at once; its check-then-insert let both through. I added a unique constraint on seat and slot, and the test passed. I own the rule and that test. To learn, I attempt a problem first, ask for a hint rather than the answer, and solve one problem a week without any tool."
Senior version, SDE-3. "Your team wants assistants; what do you do?" Give the situation above at one team's scale: the outcome, the policy, a six-person pilot for six weeks, 20 to 50 tasks from your history scored by your tests, a stop condition on day one. If you have not run a team, say it is a proposal.
Next stop: Preparing with a model without losing the skill, 1 min
Preparing with a model without losing the skill
For: all levels.
Retrieve first: answer closed-book against a timer, then paste your answer and ask the model to find gaps one question at a time. Never ask it to rewrite your answer. Re-answer a day later with the chat closed, and verify its claims in documentation or by running code. The evidence is thin: in one school study (Bastani et al., PNAS 2025, via coverage) students who practised with a plain chatbot did worse afterwards than those with no AI, while a hint-only tutor largely removed the harm. One school and one subject; the protocol here is the author's design.
Next stop: The integrity line, 1 min
The integrity line
For: all levels.
If the round does not say AI is allowed, assume it is not, and ask in writing. If allowed, use it openly. Never submit output you have not read. Some first screens are run by software that records and scores you (Mercor says it keeps the video, audio and transcript); read the notice and retake rules first and answer as you would to a person.
A hypothesis before the first prompt, a case the tool did not suggest, your own reason for every line kept, and the rules in writing.
Practice with an AI: the prompt kit in the appendix has 1 card for this lesson.
Sources
16 sources
- Canva Engineering blog (S. Newton), 11 Jun 2025. https://canva.dev/blog/engineering/yes-you-can-use-ai-in-our-interviews, read 31 Oct and 4 Nov 2026.
- Sonar, AI-use guidelines for interviewing, undated. https://www.sonarsource.com/de/legal/ai-use-guidelines-for-interviewing/, read 31 Oct and 4 Nov 2026.
- Anthropic, candidate AI guidance, updated 10 Jul 2025. https://www.anthropic.com/candidate-ai-guidance, read 31 Oct 2026.
- Moneywise via Yahoo Finance, 14 May 2026, citing Business Insider (original not read). https://finance.yahoo.com/sectors/technology/articles/asking-kid-math-test-without-151500986.html, read 31 Oct 2026.
- 404 Media (J. Koebler), 29 Jul 2025, paywalled, visible text read. https://www.404media.co/meta-is-going-to-let-job-candidates-use-ai-during-coding-tests/, read 31 Oct 2026.
- IT Pro, 14 Mar 2025, citing Business Insider. https://itpro.com/business/careers-and-training/amazon-bans-ai-tools-during-job-interviews, read 31 Oct 2026.
- Anthropic, Claude Code docs, "Permission modes". https://code.claude.com/docs/en/permission-modes, read 2 Nov 2026. Cursor, docs, Agent overview. https://cursor.com/docs/agent/overview, read 2 Nov 2026.
- Anthropic, Claude docs, tool use overview. https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview, read 31 Oct 2026. OpenAI, API docs, function calling. https://developers.openai.com/api/docs/guides/function-calling, read 31 Oct 2026.
- Anthropic, Claude docs, "Prompt caching". https://platform.claude.com/docs/en/build-with-claude/prompt-caching, read 2 and 4 Nov 2026. Anthropic, "Introducing Contextual Retrieval", 19 Sep 2024, https://www.anthropic.com/news/contextual-retrieval, read 2 Nov 2026 (vendor-run test).
- OWASP GenAI Security Project, "LLM01:2025 Prompt Injection". https://genai.owasp.org/llmrisk/llm01-prompt-injection/, read 1 Nov 2026. S. Willison, "The lethal trifecta for AI agents", 16 Jun 2025, https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/, practitioner post, read 1 Nov 2026.
- Yao et al., "ReAct: Synergizing Reasoning and Acting in Language Models", arXiv 2210.03629, 2022; Hu et al., "LoRA: Low-Rank Adaptation of Large Language Models", arXiv 2106.09685, 2021.
- Bastani et al., "Generative AI Without Guardrails Can Harm Learning", PNAS 122 (26), 2025, doi 10.1073/pnas.2422633122; figures from coverage (Wharton Knowledge), journal page not opened.
- Mercor, talent docs, AI interview, undated. https://talent.docs.mercor.com/support/ai-interview.md, read 31 Oct 2026.
- S. Peng et al., "The Impact of AI on Developer Productivity: Evidence from GitHub Copilot", arXiv 2302.06590, 2023, abstract read 4 Nov 2026. J. Becker et al. (METR), "Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity", arXiv 2507.09089, 2025, abstract read 4 Nov 2026.
- Digital Personal Data Protection Rules, 2025, G.S.R. 846(E), 13 Nov 2025, Rule 6 and the commencement dates, as reproduced at https://www.dpdpa.in/dpdpa_rules_2025/Rule_6.htm and Rule_0.htm, read 4 Nov 2026 (a mirror; the Gazette PDF was not opened).
- Not verified: any Indian firm's AI round; Meta, Google and Amazon formats beyond the coverage; provider prices and rate limits. All else here is the author's INVENTED construct. The worked round's Java passed all checks with
java --source 21(JDK 25), 4 Nov 2026.