Cambridge computer science interviews 🎓
I was previously the JCR Access Officer at Peterhouse, which meant I helped state schools send students to Cambridge.
I’ve advised on personal statements and mock interviews. Here are some tips for prospective undergraduates preparing for Computer Science interviews at the University of Cambridge:
General Tips
Your interviewers are evaluating your potential to do well at Cambridge. This includes your cognitive ability, but also your receptiveness to the supervision teaching style. You want to come across as intelligent but also enjoyable to teach.
Maximise learning. If you came from a background anything like mine, your interviewers will be the most qualified, most intelligent, most intellectually impressive people you’ll have ever spoken with. Use the interview as an attempt to learn as much as possible about Computer Science. Even if you don’t get offered a place, you’ll have learnt a lot.
Remember the top-level goal. It’s easy to get sucked down a rabbit hole of equations, algebra, etc. Keep the top-level question in mind to help you spot shortcuts to get there.
Verbalise your thought process. Ask for help / clarifying questions if you need them.
Eat, sleep well, drink plenty of water, and have some caffeine.
Specific question types
Graph drawing
Break down the problem: if you’re asked to draw y=sin(x)/x, draw y=sin(x) and y=1/x first.
Think about roots: where does y=0?
Think about even/oddness: is this graph symmetric in the y-axis? (i.e. y(x) = y(-x)) or maybe it’s odd, so y(x) = -y(-x)?
Think about positive and negative: when is y < 0?
Think about derivatives, and in particular when dy/dx=0
Think about range: what values can y possibly be?
Think about limits: what happens when x → ∞? What about when it approaches values for which y is not defined? And does that change based on the positive or negative directions?
Examples: draw y=e^sin(x), draw y=x^x, draw y=sin(x)/x, draw y=sin^2(x)
Maths
Think “how can I reuse parts from earlier in the question to answer this new part of the question?”
Remember the joke: a mathematician enters an almost-empty room and is challenged to make a cup of tea. On a tray on the floor is water, a kettle, a tea bag, a mug, and some milk. He puts the water in the kettle. Boils it. Pours it into the mug. Adds the teabag. Adds the milk. Complete. He’s then brought into another room. On a tray on the table is water, a kettle, a tea bag, a mug, and some milk. He has the same challenge: make a cup of tea. He moves the tray onto the floor, and says “I’ve reduced it to an already solved problem”
Physics / natural sciences
- Use dimensional analysis for sanity checking or constraining your solution
space
- e.g. if the question calls for a volume, check that your solution provides a solution in m^3 or L and not m^2
Computer science
Think “top-down”: given a problem of size N, what would a problem of size N-1 or N/2 look like? How do they relate?
Think “bottom-up”: given a problem of size N, what would a problem of size 0 or size 1 look like? How do they relate?
- E.g. the pirate’s gold question
Think about symmetry: which roles in the question are conceptually equivalent? How does that allow you to simplify the problem?