Coursera·Software Engineer·Technical Phone Screen
Jul 2026
Coding screen for a software engineer role at Coursera, centered on an election simulation problem. Two parts to the same problem, and the second one had enough edge cases to keep me busy for a while.
- Given a list of ranked ballots, implement a simple plurality voting system that returns the candidate with the most first-choice votes, breaking ties by lexicographic order.
- Using the same ballot input, implement instant-runoff voting: repeatedly eliminate the candidate with the fewest votes each round until someone crosses 50%, handling ties by eliminating the lexicographically largest candidate.
“Pretty straightforward once you realize you only look at the first element of each ballot.” The rest of the author's notes on Software Engineer interview at Coursera, Technical Phone Screen round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post