Done the GitHub virtual onsite twice. Offers both times (took the second). Here's what the full loop actually looks like day-of.
For senior SWE in 2025-2026 the final round was 4-5 interviews spread across one or two days. You can ask to split across two shorter days if a full day of interviews is hard for you. Both times I asked to split and they accommodated it.
Round breakdown roughly:
Coding x2. Both done in a shared browser editor. Medium difficulty. They want to see clean code and clear communication as you work, not speed-running to an answer. One round usually has a follow-up optimization discussion.
System design x1. For senior, 60 minutes. Domain usually relevant to GitHub's infra (webhooks, CI/CD pipelines, scale challenges around large repositories, that kind of space). Collaborative, not adversarial.
Behavioral x1. Values-heavy, heavy emphasis on async work and written communication. The person running this round was not a recruiter either time. It was a senior IC or EM who clearly cared about culture fit for the remote environment specifically.
Hiring manager conversation x1. This one's less of an interview and more of a mutual sell. They explain the team, roadmap, what the first 90 days look like. You should have real questions ready. I asked about the team's on-call rotation, how design decisions get made, and what success looks like in year one.
Debrief timeline: first time I heard back within 5 business days. Second time it was 8. Hiring committee exists but it's not as opaque as Google's. Your recruiter is usually willing to tell you where you are.
If you're preparing, the order I'd prioritize: behavioral (especially async-specific stories), system design, coding. Most people over-index on Leetcode and underprepare the behavioral round. At GitHub specifically that's backwards.