← All posts
InterviewsCareer

The Tech Interview Pipeline, Stage by Stage

Every step from hitting Apply to signing an offer: what happens, how long it takes, and what actually moves you to the next round.

3 min read AI-generated

Most tech internship processes follow the same six stages. Knowing what each one is testing makes it a lot less mysterious. Here's the whole thing, in order.

1. Application

5 to 15 minutes per app.

You submit your resume through a portal. Most applications get filtered by an ATS (applicant tracking system) before a human sees them.

  • Tailor your resume keywords to the job description.
  • Apply early. Lots of companies review on a rolling basis.
  • Referrals skip the ATS entirely. Ask upperclassmen and LinkedIn connections.

2. Online assessment (OA)

1 to 2 hours.

A timed coding challenge, usually 2 or 3 LeetCode-style problems on HackerRank, CodeSignal, or a custom platform. Some companies send one to everyone who applies.

  • Practice LeetCode Easy and Medium, plus CodeSignal.
  • Time yourself. OAs usually run 60 to 90 minutes.
  • Don't Google during it. Many are proctored.
  • Partial solutions still score. Never leave a problem blank.

3. Recruiter or phone screen

15 to 30 minutes.

A short call with a recruiter. They're checking that you communicate clearly, meet the basic qualifications, and actually want the role. It's a vibe check, not a technical grilling.

  • Have a 30-second "tell me about yourself" ready.
  • Know the product: what it does and who uses it.
  • Ask one or two questions. Team size, intern project scope, return offer rate.

4. Technical interviews

45 to 60 minutes per round, usually 1 to 3 rounds.

Live coding with an engineer in a shared editor while you explain your thinking. Data structures and algorithms, plus system design for senior roles.

  • Think out loud. They care about your process, not just the final answer.
  • Clarify constraints before coding: input size, edge cases, expected complexity.
  • Start with brute force, then optimize. Don't jump straight to the clever solution.
  • Do mock interviews on Pramp, interviewing.io, or with friends.

5. Behavioral round

30 to 45 minutes.

Questions about teamwork, conflict, and past projects. Common at bigger companies (Amazon's Leadership Principles, Google's "Googleyness"), and sometimes folded into the technical rounds.

  • Use STAR: Situation, Task, Action, Result.
  • Prepare 3 or 4 stories that cover leadership, conflict, failure, and impact.
  • Be specific. "I led a team of 4 to ship X in 3 weeks" beats "I'm a team player."
  • As an intern, class projects, hackathons, and clubs all count.

I wrote a full post on this one: Behavioral Interviews: STAR, a Story Bank, and the Curveballs.

6. Offer (or rejection)

Usually 1 to 2 weeks after the final round.

If you pass, you get an offer by email or phone. You can negotiate, even as an intern. If you're rejected, ask for feedback. Sometimes it actually comes.

  • Negotiate things like start date, location, and team preference.
  • Get the deadline in writing. Most offers give 2 to 4 weeks.
  • If you have competing offers, tell recruiters, respectfully.
  • A rejection isn't final. Plenty of people reapply next cycle and get in.

What most people get wrong

  • They apply to 5 companies and wonder why they hear nothing. Apply to 50+.
  • They only grind hard LeetCode. Most OAs are Easy and Medium.
  • They skip behavioral prep. That round cuts more people than you'd think.
  • They don't negotiate. Even interns can ask for a better start date or team.
  • They take one rejection personally. Lots of strong engineers got rejected 20+ times first.

Where to prep

  • LeetCode: start with Blind 75 or NeetCode 150. They cover every pattern you'll see.
  • Pramp: free mock interviews with other candidates. Good practice for thinking out loud.
  • Levels.fyi Internships: what companies actually pay interns. Useful when you negotiate.

Drafted by AI from my notes and guides, reviewed by me.