I applied online. Got an email back about two weeks later, saying that they would love to have me complete their programming test.
It wasn't too bad, it was just tic tac toe in c++, but with the m n k variation. It said it would take about 4 hours, but I spend a little bit devising an algorithm to cut the win-checking system from O(n^2) down to O(nlog(n)), since I figured they would like that.
I thoroughly tested my program for bugs and errors, and they weren't very direct with how the program should be run, so I took some guesses. Overall, my program ran smoothly, I commented everything and thought it was pretty solid.
After submitting, I didn't hear back for two weeks. I thought this was a little weird, especially considering that after submitting the test, I was told they would let me know once it had been reviewed.
I emailed the point of contact asking for an update after those two weeks later, and was given a reply that said "so sorry, it's been a crazy few weeks, but we've decided to move on to other candidates because your code quality isn't quite up to our standards."
Thats never fun to hear, especially after waiting two whole weeks and creating (what I thought was) pretty solid code. Having problems with my code is understandable; keeping me waiting in pergatory is not as understandable.
So I asked if there was a specific problem, something I had messed up, or a design pattern they didn't like, since that could help me on my future endeavors. There was no reply. That's really frustrating to me. If my code that works well and is efficient isn't up to their standards, I would at least like to know why!
I'll keep this updated on if there is a reply, as that will change my rating. For now, out of the 10+ companies I've had processes with, this has been the least on top of their stuff. Still love the company, just don't think their process is very good as of now.