Tech Interview Preparation Module 2 – Research and plan your season
Researching an employer from its own pages
Find an employer's own hiring pages, prep guides and engineering blog, turn them into a one-page brief with a source for each rule, and settle the gaps.
What you will learn
- Find an employer's official interview-preparation pages and engineering blog
- Extract format, timing, language, AI-tool and reapply rules into a one-page brief
- Check that every source of a brief is on the employer's own domain and was read recently enough to trust
- Identify conflicting or outdated statements and confirm them with the recruiter
- Avoid leaked question banks and other sources that risk breaking confidentiality terms
What you’ll learn
What you will learn
- Find an employer's official interview-preparation pages and engineering blog
- Extract format, timing, language, AI-tool and reapply rules into a one-page brief
- Check that every source of a brief is on the employer's own domain and was read recently enough to trust
- Identify conflicting or outdated statements and confirm them with the recruiter
- Avoid leaked question banks and other sources that risk breaking confidentiality terms
On this page
Three of the employers whose pages are read here rule out AI tools during interviews, one of them unless it says otherwise, and a fourth expects candidates to use them: the same question gets opposite answers. Researching an employer for an interview means reading what the employer itself publishes about how it hires, and writing down the rules that change your preparation: the rounds and their lengths, the languages and tools allowed, what interviewers score, how long each stage takes and when you may apply again.
Only the employer’s own pages settle those rules, because they are the rules. A forum thread or a video describes one person’s interview, perhaps years ago and for another role. What follows shows where employers publish their rules, what one set of official pages says, how to turn them into a one-page employer brief: A one-page summary of one employer's hiring rules for one role, in which every field gives the address of the official page it came from and the day it was read. of ten fields with a source for each, what to do when two pages disagree, and which sources to leave alone.
Not affiliated
MySmartCoPilot is independent of Google, Meta, Amazon, Microsoft, Atlassian, Canva and TCS iON. Every statement about them here comes from their own pages, listed under References, and those pages change: read the current version before you rely on any of it.
Employers publish their rules in five kinds of page
Employers that hire engineers in numbers tend to publish five kinds of pages. Each is good at some questions and silent on others:
| Source | What it settles | Where it lets you down |
|---|---|---|
| The careers site’s how-we-hire page | The stages, the typical timeline, limits on applications and waits before reapplying | It covers every role at once, so round details are general |
| A preparation guide for your role | Round lengths, problem counts, the editor, what each round scores | It may be a file that is replaced without notice |
| The employer’s assessment page, and the help centre of the platform your invitation names | Time limits, allowed resources, proctoring, retakes | The platform’s rules apply to every employer that uses it |
| A values or principles page | What the behavioural rounds probe | It says nothing about format |
| The engineering blog | Changes to the format, in the employer’s own words | A post describes a change on the day it was written |
Two sources outrank every page: the invitation email for your interview and the recruiter who sent it. They describe your process, for your role, as it runs now. The pages tell you which questions to put to them. The diagram shows the whole path, from the pages to a brief you can trust:
From the employer's own pages to a brief you can trust
Text description of the diagram
The diagram is a column of five boxes joined by arrows, from top to bottom:
- Read the employer's own pages: its how-we-hire page, its preparation guides, its values page and its engineering blog.
- Fill the ten fields of the brief, each with the address of the page it came from and the day you read it.
- Mark the gaps and conflicts: fields that are missing, statements that are unclear, and pages that disagree.
- An arrow labelled "anything open?" leads to: ask the recruiter, in one short message that lists every open question.
- The final brief, in which the invitation email and the recruiter's answers win over anything the pages say.
Checkpoint
Check: Where employers publish their rules
Official pages answer the same question differently
Here is a register of what one set of official pages says, read for this lesson. It shows how specific the pages are, and how differently employers answer the same question:
| Employer and page | Rounds and format | Tools and AI | Timing and limits |
|---|---|---|---|
| Google: How we hire, and its interview tips | Possibly a workstyle assessment and, for some roles, a coding exercise; one or two short recruiter conversations; sometimes a small project; then a panel of interviews scored against rubrics, with no brainteasers | AI tools and search are not permitted during interviews | Roughly 6 to 8 weeks once interviews start; up to three applications in a rolling 30-day window; after a rejection, usually a wait of a year or more before applying again for that type of role |
| Meta: the software engineer full loop guide | 4 to 6 interviews of 45 minutes covering coding, design and behaviour; about two coding problems in about 40 minutes; the interviewer does not compile your code; no dynamic-programming questions | No unauthorised outside help during interviews, and AI tools count as outside help | Follow up with the recruiter if you hear nothing within a week of the interviews |
| Amazon: online assessment for student and graduate SDE roles | Two coding problems in about 70 minutes on average and a work-style assessment for every candidate; full-time roles add a work simulation, except in some countries | Publicly accessible online resources such as the JDK or the C++ Standard Template Library are allowed, sites that need a login are not, and browser use is logged; print screen ends the session | An email after each section says whether you continue |
| Amazon: SDE II assessment and interview pages | An assessment of two coding questions in 90 minutes, whose code must compile, then system design scenarios and work-style questions; a loop of four 55-minute interviews | The coding runs in HackerRank’s editor; the pages say nothing about AI tools | Seven days to take the assessment and news within two days; after a “no”, a retry is encouraged after six months; a loop outcome within five business days |
| Microsoft: How we hire | Usually 2 to 4 conversations of up to an hour each, by phone, video or in person, in structured interviews | AI is welcome for preparation; in assessments and interviews you show your own skills without outside help, unless that is explicitly permitted | The recruiter shares the timeline after the interviews |
| Atlassian: engineering interview handbook | A coding interview in a language you choose, a 60-minute systems design interview, a manager interview and a values interview on its five values; a hiring committee makes the decision | Not covered on that page | Not covered on that page |
| Canva: engineering blog | A coding interview built around AI tools, in place of its computer science fundamentals screen for backend and frontend roles | Candidates are expected to use AI coding tools, and are told so in advance | Not covered in the post |
Three lessons follow from the register:
- The same question gets opposite answers. Three of these employers rule out AI tools during interviews (one of them unless it says otherwise) and a fourth expects them, so nobody can tell you “the rule” without naming the employer and the round.
- The numbers are precise enough to plan with. About two problems in about 40 minutes means a practice timer of 20 minutes a problem for that coding round; two questions in 90 minutes means 45.
- Waits are long. A rushed first attempt at an employer that asks for six months or a year before you reapply costs far more than a week of preparation, so the research comes before the application, not after it.
Assessments whose scores travel
TCS iON’s page for its National Qualifier Test says the test runs every 2 to 4 weeks at its exam centres, in English and without negative marking. A scorecard stays valid for two years, you may sit the test again to improve it, and only your best score appears on the scorecard. You then use that score to apply to employers that accept it, so one sitting can serve many applications.
Checkpoint
Check: What the official pages say
A one-page brief has ten fields, each with a source
A brief is one page, with ten fields, for one employer and one role. Each field holds three things: what the source says, the address of the page it came from, and the day you read it. Count days from the start of your season, so the brief needs no calendar. Whatever no page settles goes on the list of questions for the recruiter.
| Field | What to write | Where it usually is |
|---|---|---|
| Rounds | Every round, in order, with its length | The how-we-hire page; the invitation |
| Coding format | Problems per round, time, the editor, whether code runs | The role’s guide; the assessment page |
| Languages | Which languages you may use, and whether you must confirm one | The role’s guide; the recruiter |
| Tools and AI | Documentation, IDE, search and AI tools: allowed, banned or expected | The role’s guide; the how-we-hire page |
| Scoring | The focus areas or rubric the employer names | The role’s guide |
| Design | Low-level, system or product design, or none at your level | The role’s guide; the recruiter |
| Behavioural | The values or principles the round probes | The values page |
| Timeline | Time limits, time to a decision, when to follow up | The how-we-hire page; the assessment page |
| Logistics | Platform, ID, any confidentiality agreement, setup checks | The invitation; a remote-interview page |
| Reapply | Limits on applications and waits after a “no” | The how-we-hire questions; the assessment page |
Read the table one row at a time as a checklist: a field you cannot fill from a page is not a failure of the research, it is a question for the recruiter.
Date Calculator Turn the dates in your invitation into season days, or count when a rolling window or a waiting period ends.Checkpoint
Check: The ten fields of a brief
A program checks each source’s domain and age
The program below checks a brief by three rules. A source must be an https address on one of the employer’s own
domains or their subdomains. It must have been read within 30 days of the interview, because pages change (a
MySmartCoPilot rule of thumb, not something an employer asks). Any field marked unclear goes on the recruiter list.
The first brief is for Kestrel Labs, an invented company whose addresses end in .example, a name that RFC 2606
reserves for examples. The second is filled in from Meta’s public full loop guide.
// Checks an employer brief: ten fields, each read from a page on the employer's own domain, recently enough to trust.
// Days are counted from the start of your season (day 1), so the brief needs no calendar dates.
// Two briefs follow. Replace the first one with your own employer, then press Run.
const FIELDS = [
'rounds', 'coding', 'languages', 'tools-and-ai', 'scoring',
'design', 'behavioural', 'timeline', 'logistics', 'reapply',
];
const MAX_AGE_DAYS = 30; // read every source again if your copy is older than this on interview day
const briefs = [
{
employer: 'Kestrel Labs (an invented company)',
domains: ['kestrel-labs.example'],
interviewDay: 60,
fields: {
rounds: { value: 'Recruiter call, a 75-minute online test, then three 50-minute interviews', url: 'https://careers.kestrel-labs.example/how-we-hire', day: 41 },
coding: { value: 'Two problems in the online test; one problem per coding interview, in a shared editor that does not run code', url: 'https://careers.kestrel-labs.example/engineering-prep', day: 41 },
languages: { value: 'Any mainstream language', url: 'https://forum.example/threads/kestrel-interview-experience', day: 44 },
'tools-and-ai': { value: 'The page says "standard tools" without listing them', url: 'https://careers.kestrel-labs.example/engineering-prep', day: 41, unclear: true },
scoring: { value: 'Problem solving, code quality, testing, communication', url: 'https://careers.kestrel-labs.example/engineering-prep', day: 41 },
design: { value: 'One low-level design interview for experienced hires only', url: 'https://careers.kestrel-labs.example/engineering-prep', day: 41 },
behavioural: { value: 'Questions on the four values listed on the values page', url: 'https://kestrel-labs.example/about/values', day: 43 },
timeline: { value: 'A decision about two weeks after the last interview', url: 'https://careers.kestrel-labs.example/faq', day: 12 },
logistics: { value: 'Video interviews; photo ID shown on camera at the start', url: 'https://careers.kestrel-labs.example/faq', day: 41 },
},
},
{
employer: 'Meta, software engineer full loop (public guide)',
domains: ['metacareers.com'],
interviewDay: 58,
fields: {
rounds: { value: '4 to 6 interviews of 45 minutes: coding, design and behavioural', url: 'https://www.metacareers.com/swe-prep-onsite/', day: 50 },
coding: { value: 'About two problems in about 40 minutes; the interviewer does not compile the code', url: 'https://www.metacareers.com/swe-prep-onsite/', day: 50 },
languages: { value: 'The language you are most comfortable in; confirm it with the recruiter', url: 'https://www.metacareers.com/swe-prep-onsite/', day: 50 },
'tools-and-ai': { value: 'No unauthorised outside help; AI tools are named as outside help; no video filters', url: 'https://www.metacareers.com/swe-prep-onsite/', day: 50 },
scoring: { value: 'Coding: communication, problem solving, coding, verification', url: 'https://www.metacareers.com/swe-prep-onsite/', day: 50 },
design: { value: 'Systems design or product architecture, depending on the position', url: 'https://www.metacareers.com/swe-prep-onsite/', day: 50, unclear: true },
behavioural: { value: 'Five focus areas, from resolving conflict to communicating effectively', url: 'https://www.metacareers.com/swe-prep-onsite/', day: 50 },
timeline: { value: 'Follow up with the recruiter if there is no news within a week of the interviews', url: 'https://www.metacareers.com/swe-prep-onsite/', day: 50 },
logistics: { value: 'Laptop with webcam; screen sharing set up in advance', url: 'https://www.metacareers.com/swe-prep-onsite/', day: 50 },
reapply: { value: 'Not stated in the guide', url: 'https://www.metacareers.com/swe-prep-onsite/', day: 50, unclear: true },
},
},
];
/** The host of an address, or null when it is not an https address. */
function hostOf(url) {
const m = /^https:\/\/([^/?#:]+)/i.exec(url);
return m ? m[1].toLowerCase() : null;
}
/** True when the host is one of the employer's domains or a subdomain of one. */
function onOwnDomain(host, domains) {
return domains.some((d) => host === d || host.endsWith('.' + d));
}
function check(brief) {
const fix = []; // [field, what to do]
const ask = []; // fields to confirm with the recruiter
for (const name of FIELDS) {
const f = brief.fields[name];
if (!f || !f.value) {
fix.push([name, 'missing; look for it on the employer\'s pages, or ask the recruiter']);
continue;
}
const host = hostOf(f.url ?? '');
if (!host) fix.push([name, 'no https source address']);
else if (!onOwnDomain(host, brief.domains)) fix.push([name, `${host} is not the employer's own site; confirm it on an official page`]);
const age = brief.interviewDay - f.day;
if (age > MAX_AGE_DAYS) fix.push([name, `read ${age} days before the interview; read the page again`]);
if (f.unclear) ask.push(`${name}: ${f.value}`);
}
const sourced = FIELDS.filter((name) => !fix.some(([field]) => field === name)).length;
console.log(`${brief.employer}, interview on day ${brief.interviewDay}`);
console.log(` sourced ${sourced} of ${FIELDS.length} fields`);
for (const [field, what] of fix) console.log(` fix ${field}: ${what}`);
for (const a of ask) console.log(` ask ${a}`);
console.log('');
}
for (const b of briefs) check(b); Output
Kestrel Labs (an invented company), interview on day 60 sourced 7 of 10 fields fix languages: forum.example is not the employer's own site; confirm it on an official page fix timeline: read 48 days before the interview; read the page again fix reapply: missing; look for it on the employer's pages, or ask the recruiter ask tools-and-ai: The page says "standard tools" without listing them Meta, software engineer full loop (public guide), interview on day 58 sourced 10 of 10 fields ask design: Systems design or product architecture, depending on the position ask reapply: Not stated in the guide
Recorded with Node.js 24.21.0 on macOS 26 arm64. To run it yourself: mise exec node@24.21.0 -- node brief.mjs
Runs on this device, in your browser. The first run downloads JavaScript (about 0.6 MB), which is kept for the next runs.
Your run, in this browser
The invented brief has three faults, and each is a common one. The languages field cites a forum thread, which is not evidence of a rule. The timeline was read 48 days before the interview, which is long enough for a page to change. The reapply field is missing, and that wait is the one rule you cannot repair after a failed attempt. Its “standard tools” phrase is a true quotation that settles nothing, so it goes to the recruiter.
The Meta brief cites every field to the careers page that links the guide. The guide is a downloadable file whose address can change, while the page that links it stays put and always leads to the current version. Two fields go to the recruiter: which design interview the role has (the guide names systems design and product architecture, and says it depends on the position), and any wait before reapplying, which the guide does not mention.
Checkpoint
Check: Checking a brief's sources
Two official pages can disagree: ask what each version would change
Pages from one employer can disagree, and you will only notice if you read more than one. Amazon’s SDE II assessment prep page gives the system design scenarios about 15 minutes and the work-style questions about 10, while its SDE II interview prep page, read on the same day, gives them 20 minutes and 8. Is the difference worth an email? Add them up:
// Two official pages of one employer, read on the same day, give different section times for the same online
// assessment (the Amazon SDE II assessment; both pages are under References). Does the difference change the plan?
const pages = [
{ page: 'Assessment prep page', sections: [['coding', 90], ['system design scenarios', 15], ['work style', 10], ['feedback survey', 1]] },
{ page: 'Interview prep page', sections: [['coding', 90], ['system design scenarios', 20], ['work style survey', 8]] },
];
const RESERVE = 120; // the assessment prep page asks you to set aside two hours
for (const { page, sections } of pages) {
const total = sections.reduce((sum, [, minutes]) => sum + minutes, 0);
const parts = sections.map(([name, minutes]) => `${name} ${minutes}`).join(' + ');
console.log(`${page}: ${parts} = ${total} minutes`);
console.log(` fits the ${RESERVE} minutes to set aside: ${total <= RESERVE ? 'yes' : 'no'}, ${RESERVE - total} to spare`);
}
// The assessment prep page says only the coding section is timed, and both pages give it 90 minutes for two problems.
const [codingMinutes, problems] = [90, 2];
console.log(`Coding practice timer: ${codingMinutes / problems} minutes a problem, the same on both pages`); Output
Assessment prep page: coding 90 + system design scenarios 15 + work style 10 + feedback survey 1 = 116 minutes fits the 120 minutes to set aside: yes, 4 to spare Interview prep page: coding 90 + system design scenarios 20 + work style survey 8 = 118 minutes fits the 120 minutes to set aside: yes, 2 to spare Coding practice timer: 45 minutes a problem, the same on both pages
Recorded with Node.js 24.21.0 on macOS 26 arm64. To run it yourself: mise exec node@24.21.0 -- node conflict.mjs
Runs on this device, in your browser. The first run downloads JavaScript (about 0.6 MB), which is kept for the next runs.
Your run, in this browser
Both totals fit the two hours that the assessment page asks you to set aside, and only the coding section is timed, at 90 minutes for two problems on both pages. So this conflict changes nothing you would do. That is the test for any conflict: work out what each version would make you do differently. Step through it for this conflict, and for one that would change your practice:
The drawing shows the whole scene; its 6 steps are listed below.
Every step as text
- Two pages disagree. One prep page gives the system design scenarios about 15 minutes and the work-style questions about 10. Another page of the same employer, read the same day, gives 20 and 8.
- What would each make you do?. Add each version up. 116 and 118 minutes both fit the two hours the assessment page asks you to set aside, and only the 90-minute coding section is timed, on both pages.
- Nothing changes. Neither version changes what you practise or how long you plan for, so the conflict needs no email. Note both versions in the brief and move on.
- A conflict that matters. Suppose instead that one page allowed any language and the other named two. That changes what you practise, so the question goes to the recruiter, in one short message with both page addresses.
- The invitation decides. Whatever the pages say, the invitation for your round describes your process as it runs now, together with the recruiter's answer. Follow it.
- Into the brief. Record the answer in the brief's field, with the day you received it, so the brief stays the one place where every rule and its source are kept.
When the answer is “nothing”, note both versions in the brief and move on. When the answer is different practice, such as another language, a timed section or an allowed tool, put the question to the recruiter and follow the invitation.
Pages also go stale. Canva’s post says its approach may need refining in six months as AI tools change, and Google’s interview tips say it has reintroduced in-person interviews for some roles. A brief is a snapshot: read each source again in the last month before the interview, which is what the program’s 30-day rule enforces.
Key idea
A disagreement between two official pages matters only if the two versions would make you prepare differently; when they would, the recruiter and the invitation settle it.
Checkpoint
Check: Pages that disagree or go stale
Leave leaked questions and dumps out of a brief
Lists of “recently asked” questions, interview write-ups that reproduce a problem word for word, and screenshots of assessments are the sources to keep out of a brief, for three reasons:
- They may break confidentiality terms. Candidates often accept rules before they see a question. Amazon’s remote interview page asks you to complete a non-disclosure agreement (NDA): A contract that sets out how information is shared in confidence. An interview NDA asks a candidate to keep confidential what the employer shares during its interviews. More in “NDAs, integrity and your rights as a candidate” if your recruiter sends one, and its assessment rules end a session that uses print screen. Material taken from such sessions may break terms that someone agreed to, and sharing it can break the terms you agree to yourself.
- The employer already publishes what preparation needs. Amazon’s SDE II assessment page lists its coding topics and calls itself the source of truth, so that candidates are not left guessing from online discussions. Format and topics are what you practise for; the exact questions are not.
- Memorised answers fail at the first follow-up. Interviewers change details and ask why, and a candidate who learnt an answer by heart has nothing to adjust.
| Leave out | Use instead |
|---|---|
| A list of “recently asked” questions | The topics the employer’s own page lists |
| A write-up that copies a problem word for word | Original practice problems on the same topics |
| A screenshot of an assessment | The assessment page’s rules and its description of the format |
MySmartCoPilot’s practice problems and interview questions are original for the same reasons, and none of them is presented as a question that a particular employer asks.
Checkpoint
Check: Sources to leave alone
Practise: build your own brief
Pick one employer you will apply to. Open its how-we-hire page, the preparation guide for your role and its values
page, and fill in the first brief in the program above: the employer’s name, its domains, your interview day and the
ten fields, each with the page address and the day you read it. Press Run, fix every line marked fix, and send the
lines marked ask to your recruiter in one short message.
After that, test what you know about briefs, sources and conflicts below. Each reply is explained as soon as you give it, and whichever idea you have answered worst so far is asked about first:
Practice that adapts to you
Practise this lesson
15 questions about 6 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.
Interview questions
What do you know about us, and where did you learn it? (warm-up)
Answer with two or three specific facts and say where each comes from: the employer’s own pages, its products, its engineering blog or a conversation with someone who works there. Good facts connect to the role, such as a product the team builds, a change the engineering blog described, or a value that the careers site explains and that matches how you work. Then say in one sentence why those facts matter to you. Avoid reciting the company’s history or its size, which tells the interviewer nothing about you, and avoid rumours from forums, which may be wrong. “Your careers site says interviews use structured rubrics, and the engineering blog’s post on moving the payments service taught me how the team handles migrations, which is work I did in my internship” beats any summary of a company profile.
The interviewer may test where your facts came from. Here are two such follow-ups, each with four replies: pick the one you would give, and its explanation shows whether your research would hold up:
Checkpoint
Interview round: two follow-up questions
Two questions of this module’s bank build on the brief:
Model answers open with any pass: ₹79 for 1 week ($2.99), one payment that never renews.
-
Fresher to senior
Why do you want to work here, rather than at a company that builds something similar?
-
Fresher to mid
Which of our published values describes how you already work? Give one example, and name one value you are still growing into.
Key takeaways
- Only the employer’s own pages settle its rules, and the invitation and the recruiter outrank every page.
- Five kinds of page cover almost everything: the how-we-hire page, the role’s guide, the assessment page, the values page and the engineering blog.
- A brief has ten fields, each with a source address and the day you read it, and the gaps become questions for the recruiter.
- A source belongs in the brief only when it is on the employer’s own domain and was read within the last month.
- When two pages disagree, ask what each version would make you do, and let the recruiter and the invitation settle any difference that would change your practice.
- Leave out leaked questions and dumps: they risk confidentiality terms and prepare you for the wrong thing.
Terms in this lesson
- employer brief
- A one-page summary of one employer's hiring rules for one role, in which every field gives the address of the official page it came from and the day it was read.
References
- Our hiring process (How we hire) (Google Careers)
- Interviewing at Google: best practices, advice and tips (Google Careers)
- Software engineer full loop interview prep (links the Full Loop Interview Guide) (Meta Careers)
- Online assessment prep for SDE roles (students and recent graduates) (Amazon Jobs)
- Online Assessment Prep: Software Development Engineer II (Amazon Jobs)
- SDE II Interview Prep (Amazon Jobs)
- Leadership Principles (Amazon Jobs)
- Remote interview (Amazon Jobs)
- How we hire (hiring tips) (Microsoft Careers)
- Atlassian engineering interview handbook (Atlassian)
- Yes, You Can Use AI in Our Interviews. In fact, we insist (Canva Engineering Blog)
- TCS iON National Qualifier Test (NQT) (TCS iON)
- RFC 2606: Reserved Top Level DNS Names (Internet Engineering Task Force (RFC Editor))
Related tools
Report a problem with this lesson
Kept only in this browser. Your Learn progress