Like others you can find on here, I had a quick non-technical call about my background and all that standard stuff, and then was given a coding assignment to complete on my own time.
I then worked for a solid week on it (nights and weekends anyway; I still have my current job) to give them an end product above and beyond the specifications given
About a week later, I was sent an email saying they would not be moving forward with me. Totally their prerogative to do so, and I have no hard feelings about the experience (if nothing else, it was good practice and they were very nice and responsive throughout)
My main mistake was in underestimating what was expected. I thought this homework assignment was meant to take 3-8 hours. So to be sure of my success, I did what I thought was far more than what was required. I spent several dozen hours polishing it, refining architecture, making it scalable, adding tests, accessibility, documentation, etc, and was still rejected. It wasn’t perfect, there was still more that I could have improved, but I simply didn’t think those things were necessary given the scope of a typical programming exercise like this.
All that to say, if you do apply and go through with this, please be aware of the extremely high bar they set, and be prepared to really go all out on this. Make it a product that if you were so inclined, you would be comfortable publishing as-is. Yes, that is a massive time-sink, but it is the level your submission will need to be at to be advanced to the onsite interview phase