Google is holding each year a competition for Algorithms that tests the ability of the programmer to solve hard problems , started from 2008. This is totally online contest , has three rounds, after a Qualification exam .. as I will describe as following:
24 hr Qualification Round: just to test that u are a Geek Programmer :D or Not ..
First Round: .. and it is separated into three sub-Rounds , as u can enter them all if u wish, but you are required to just pass any one of them. Second Round: Online Round 2 Third Round: Online Round 3 ,, for sure :)
This three rounds is done as filtration process as u have to pass first round to go to the second , and so on.
Each Round has its criteria and facility level as in the first u just has to pass , by solving two problems of the three problems in the sub-round*, and the top-scoring 1000 finalists from each sub-round, totaling 3000 skilled programmers, will advance to Round 2.
and about Round 2 ,3
The top 3000 participants from Online Round 1 will participate in Online Round 2.
The top 500 participants from Online Round 2 will participate in Online Round 3.