Applied online and after a few weeks received an automated technical test to work on.
The test lasted max 5 hours, you receive a repository to work on and have to make a pull request that satisfies requirements. I managed to complete it in about 2 hours and spent some extra time explain trade offs in the PR description.
After that I was contacted by a recruiter, asked me to fill in a few answers in a form (motivation, experience with programming languages, etc.), then we had a chat in which some basic technical questions were asked.
This was followed by a virtual on-site consisting of:
- 2 behavioral interviews
- 1 technical coding interview
- 1 technical interview where you have to review some code
The live coding interview doesn’t follow the leetcode style ones, it’s a more practical exercise during which you share the screen and can consult the internet and collaborate with interviewers.
The interviewers were all nice and professional, but scheduling was a nightmare: it all happened via email exchanges (having to keep in mind timezones) and it wasn’t clearly communicated that interviews only happen on Tuesdays, which made it even more difficult to organize.
Also, GitHub has a strict no feedback policy. While I understand that feedback is difficult, it can feel pretty hard to gauge where to improve especially due to their non-standard interview process.