Multi-stage process:
1st stage: Code Submission on a site similar to Leetcode approximately 1 week after I submitted the application. You are asked to code 2 different short functions and then submit a video explaining one of them. Also includes a few questions about programming generics like PEP8 etc.
2nd Stage: An interview with someone from the HR department. If you get past the 1st stage, then about 2 weeks later, you get an email to schedule a meeting with HR. This is a fairly easy meeting; you're asked if you have any criminal offences, what your strengths and weaknesses are, etc. Super easy to get past this stage. I got an invitation to the next stage in an hour (HR had to find someone in the relevant department I applied for to check meeting availability).
3rd Stage: A technical interview. You're given a few code snippets and asked what the expected output would be. Again, super easy if you know coding basics (things like list comprehensions). I passed this stage and got an invite to the next stage almost immediately.
4th Stage: A formal code submission on GitHub. You're provided a PDF file which outlines something you have to code. In my case, it was an API. You're recommended to spend around 3 hours on this. Once you submit you're told you'll get an email in the next 2-3 weeks.
A week later, I got a generic copy-paste rejection email, which stated, "Too many applicants, can't provide individual feedback." This would've made sense after maybe the 1st or 2nd interview, but I had now spent almost 4 weeks on the hiring process. Underwent 2 individual meetings where I was tested by HR and a developer, made video recordings explaining my code and a 3-hour submission, and since I got rejected, you'd probably need to spend more time if you actually want the job (I spent close to 5 hours still). After spending this long in the interview process, giving them my time, I would've liked to receive atleast a bit of individual feedback, so I could learn what went wrong. I really do like the company, and what their goals are, and if I had received a rejection email with some sort of feedback, I would probably apply in the future as a mid-level or lead developer role, but this entire process has kind of put me off.