A guide for students · Autumn to winter of the penultimate year
Software engineering internship interviews
Most software engineering internship interviews are an online coding assessment followed by one or two live coding interviews, each built around one or two problems with follow-ups, plus some questions about your past experience. Interviewers look at how you understand the problem, reach a working solution, explain its time and space complexity and test it, and they expect to give hints.
The stages
Many large firms start with an online assessment, a timed coding test taken at home. Amazon, for example, says its internship online assessment takes about 90 minutes and evaluates coding, technical problem solving and its Leadership Principles, with a coding part of about 70 minutes. Then come live interviews by video, in which you solve problems while an engineer watches and asks questions.
Meta’s guide to its internship interviews, last updated in 2022, describes two stages, a phone screen and then further interviews, with the same expectations for both, and about 30 to 35 minutes of each interview spent coding one or two questions. Google says candidates may be asked to complete a coding exercise, that every candidate is assessed against clear rubrics and that there are no brain teasers. The details change, so read the firm’s own page when you are invited.
What interviewers mark
Mostly how you get to the answer. Google says the interviewer is looking at your thought process as much as the answer and will ask follow-up questions. Meta’s guide asks you to discuss the big-O complexity of your approaches, to ask clarifying questions, and says it is better to have working code that is not optimal than only an idea. It also says that if you are stuck, start with a brute-force solution and improve it, and that hints from the interviewer are not a bad thing.
In practice that means five things: understanding the problem (restate it, ask about edge cases and input sizes), getting a correct solution, explaining its time and space complexity, improving it if you can, and testing it by walking through an example and the edge cases by hand. Communication runs through all of them, because the interviewer can only mark what you say.
A worked example: two sum
Given a list of numbers and a target, return the positions of two numbers that add up to the target. Start by asking questions: can there be more than one answer, can the same number be used twice, is the list sorted, how long can it be? Then say the brute-force approach out loud: check every pair, which is correct but takes time proportional to n squared for a list of n numbers.
Then improve it. As you go through the list, keep a hash map from each number you have seen to its position, and for each new number check whether the target minus that number is already in the map. That finds the pair in one pass, in time proportional to n, at the cost of extra memory proportional to n. Finally test it aloud on a small example, on a list with no answer and on one with repeated numbers, and say what you would change if the list were already sorted (two pointers from each end, with no extra memory).
Topics to know, and which language to use
Internship questions mostly use the material of a first data structures and algorithms course: arrays and strings, hash maps and sets, stacks and queues, linked lists, trees and graphs with breadth-first and depth-first search, sorting and binary search, recursion, and simple dynamic programming. Knowing the time and space cost of each operation matters as much as knowing the structure.
Use the language you know best. Meta’s internship guide says to use the language you are most comfortable with, and Amazon’s advice for its assessment is to review and practise the language you plan to use. Python is common because it is short to write, but fluency counts for more than the choice.
Thinking aloud, and AI in the interview
Say what you are thinking even when it is “I am not sure yet”, because silence gives the interviewer nothing to mark and no way to help. When a hint comes, take it and say how it changes your approach. Practising this alone feels strange, which is why practising with a friend, or recording yourself solving a problem and talking, helps so much.
The firms’ rules on AI differ, so check before the day. Google says AI tools are not permitted during its interviews, while Meta says many of its interviews now include an AI assistant built into the interview environment, which candidates are expected to use. Where it is not allowed, using it is cheating; where it is part of the interview, how you check and correct what it gives you is part of what is assessed.
Behavioural questions
Most technical interviews include some questions about your past: a project you are proud of, a bug you struggled with, a time you disagreed with a teammate. Amazon assesses candidates against its Leadership Principles, which start with customer obsession, the idea that leaders start with the customer and work backwards, so read them and have an example for the main ones.
With an account, cookie’s Interview prep runs a mock interview for the job you name with an AI interviewer, one question at a time, follows up on what you say the way a real interviewer would, and writes a report at the end on each answer. It uses credits and shows an estimate first.
Where to check
- Meta: acing your software engineering internship interview
- Meta: preparing for your software engineering interview
- Meta: the hiring process
- Google: how we hire
- Google: interview tips
- Amazon: SDE online assessment for students
- Amazon: Leadership Principles
Checked against these on . The rules change from year to year, so the pages above are the ones to trust if anything here disagrees with them.
Common questions
What is an online assessment?
A timed coding test, taken at home, that many firms use before live interviews. Amazon says its internship assessment takes about 90 minutes, mostly coding.
Which language should I use in a coding interview?
The one you know best. Meta advises the language you are most comfortable with, and Amazon to practise the one you plan to use, so fluency matters more than which one it is.
How hard are internship coding questions?
Usually built on first-year data structures and algorithms: arrays, hash maps, trees, graphs, sorting and recursion, with follow-ups that ask you to improve or extend your solution.
What if I get stuck in a coding interview?
Say where you are stuck, try a brute-force solution first and improve it, and take any hint you are given. Meta’s guide says hints from the interviewer are not a bad thing.
Can I use AI in a coding interview?
It depends on the firm. Google says AI tools are not permitted during its interviews; Meta says many of its interviews include a built-in AI assistant that candidates are expected to use.