
Duolingo software engineer candidates describe a loop built around pair programming, code review and system design, after online or phone coding screens. Here is what they report and how to prepare.
$173K
Avg. Base Comp
$258K
Avg. Total Comp
6-7 rounds
Typical Rounds
Not reported
Process Length
Candidates describe a Duolingo software engineer loop that leans on practical work more than a pure algorithm grind. Several reports describe a pair programming round built around collaboration and real code. One candidate debugged code from the company's codebase in that round. Another said the interviewer engaged, asked questions and helped them think through a practical task. In a separate engineering project deep dive, one candidate fixed a buggy implementation of a Duolingo feature while new requirements kept being added.
Code review shows up repeatedly. One candidate reviewed an infrastructure-as-code pull request, another reviewed code and suggested improvements, and a third reviewed a pull request for quality issues and errors. Practice reading unfamiliar code and explaining what you would change and why.
System design was called the hardest part by two candidates. One said reasoning about tradeoffs mattered more than landing on a single right answer. Earlier screens vary. One intern candidate reports a Karat round that opened with complexity questions before a dynamic programming problem. Others report CodeSignal or HackerRank assessments or a LeetCode-medium phone screen with optimization follow-ups. Some of the reports come from intern or iOS candidates, so treat them as screening context rather than a fixed software engineer path.
Outcomes in this evidence are mixed, including offers, a declined offer and rejections. Two candidates described being stopped quickly after a coding stage, so prepare the first screen as carefully as the onsite.
Synthesized from 12 candidate reports by our editorial team.
Had an interview recently?
Share your experience. Unlock the full guide.
Real interview reports from people who went through the Duolingo process.
The hardest part of this process wasn't any single question. It was how fast things moved and how little room there was to recover from one bad round. I started with a CodeSignal online assessment that had four questions. I finished three and was moved on to a Karat interview. This was the graduating intern track, and I went in expecting a purely technical process with no behavioral component, which turned out to be accurate for my loop.
The Karat round opened with three questions about algorithm complexity. They looked straightforward, but they're easy to rush and easy to lose points on if you can't explain your reasoning clearly out loud. After those came a LeetCode hard problem, and that was where the round got difficult. I had a limited window to work through an approach to something I didn't immediately recognize, and the interviewer was focused on how I reasoned, not just whether I reached a working answer.
The recruiter responded very quickly after the interviews, which I appreciated, but the overall process felt cut-throat. I didn't receive an offer.
Prep tip from this candidate
Drill complexity analysis until you can explain it cleanly out loud, since the Karat round opened with three of those before the hard LeetCode problem. Then practice hard-level problems under a timer, because that's where the round got difficult.
Share your own interview experience to unlock all reports, or subscribe for full access.
Sourced from candidate reports and verified by our team.
Topics based on recent interview experiences.
Featured question at Duolingo
How would you build an algorithm to measure how difficult a piece of text is to read for a non-fluent speaker of a language.
| Question | |
|---|---|
| Employee Salaries | |
| 2nd Highest Salary | |
| Empty Neighborhoods | |
| Top Three Salaries | |
| Closest SAT Scores | |
| Subscription Overlap | |
| Merge Sorted Lists | |
| Monthly Customer Report | |
| Top 3 Users | |
| Google Maps Improvement | |
| Raining in Seattle | |
| Payments Received | |
| Last Transaction | |
| P-value to a Layman | |
| Weighted Keys | |
| Green Dot | |
| Duplicate Rows | |
| Employee Salaries (ETL Error) | |
| User Experience Percentage | |
| Ad Comments | |
| Distance Traveled | |
| Retailer Data Warehouse | |
| Sum to N | |
| Bagging vs Boosting | |
| Size of Joins | |
| Maximum Profit | |
| Hurdles In Data Projects | |
| Third Purchase | |
| Permutation Palindrome |
Synthesized from candidate reports. Individual experiences may vary.
Candidates report an initial recruiter call about background, motivation for moving and, in one account, salary expectations. It is typically a short alignment step before the technical stages.
Candidates report different screens: CodeSignal or HackerRank tests, a LeetCode-medium phone screen with optimization follow-ups and, for one intern candidate, a Karat round that opened with complexity questions before a coding problem. Practice explaining runtime and space tradeoffs out loud. Two candidates were stopped quickly after a coding stage.
Candidates describe pair programming as collaborative. One debugged code from Duolingo's codebase, and another worked through a practical task with an engaged interviewer. In one loop, a separate project deep dive involved fixing a buggy feature as requirements were added. Expect to narrate your reasoning and ask clarifying questions rather than recite a memorized solution.
Several candidates report a code review interview in which they examined a pull request, flagged errors or quality issues, and suggested improvements. One review involved infrastructure-as-code. You may be judged on how clearly you prioritize and explain problems, not only on spotting them.
Two candidates describe system design as the hardest round, with emphasis on tradeoffs and clear communication. Reports also include a hiring manager conversation and a behavioral or culture-focused interview. Depending on the loop, these may sit in a virtual onsite, so confirm the schedule with your recruiter.