Ctrl K
Python · Mid-level · Theory

You need to process a 20 GB log file: filter the lines and compute some aggregates over them. How would you write that in Python?

~4 min by voice

How to approach it

This checks whether the candidate understands stream processing in Python: the laziness of iterators and generators, why memory shouldn't depend on file size, and whether they can aggregate on the fly and parallelize when needed.

Have you seen this question in a real interview?
Answers0
Avg. score—
Strong—
Practiced0
Topics
Similar questionsThere's a log file of tens of gigabytes; each line contains, separated by spaces, the timestamp, method, path, status, and response time in milliseconds. Write a function top_error_paths that takes the file path and a number k and returns the k paths with the most 5xx responses, along with how many malformed lines were skipped. SeniorWhat's the difference between an iterable and an iterator? How does a for loop work under the hood? JuniorWhat are generators in Python, and how are they different from regular functions? In which cases would you use them? JuniorHow is a generator different from a regular iterator, and what actually happens on yield? Tell me about send and yield from — where have you used them? Senior

Answer by voice

The interviewer will ask this question and listen. Think out loud and ask for a hint if you need one. When you're done, pause or tap “That's my answer”. In about a minute, your score and the points you covered show up here.

Sign in to answer

Best with headphones · ~4 min