I'm a white American male that went to a CUNY college (city university of NY), which is not so highly regarded by the big 4.
I graduated with a 4.0, summa cum laude, phi beta kappa, with distinguished honors in CS and psychology.
In 2012 a close friend of mine was a hiring manager in Google, and he passed my resume to a recruiter. When he went back to check on the status of it later, he found that the recruiter had thrown out the resume.
After some arm twisting he got me an interview. I answered everything correctly, but was told I would not be getting the job.
Since that time I've been with a few startups as an Android engineer. I love my jobs, and work my butt off. On 3 occasions I've been at Google's NYC office consulting with members of the Android team. I've made sure to make an impression on the community.
For the past 3 years I've been getting a bi-monthly email from Google and Facebook recruiters asking me to come interview. I haven't, and probably never will; I like the startup scene way to much.
I don't think the decision makers are racist or sexist. Their job is to get the best engineer for the job. Initial impressions are hard to gauge, and without validation (education, trusted references, etc...) you can end up making a big mistake (I would know, having hired quite a few duds over the years).
I understand that not all people are in a position to distinguish themselves initially. Life isn't fair. Trying to make it fair for one demographic will likely end up making things unfair for another.
There's nothing wrong with not getting your first job at a big 4. Hit the pavement running, do a kick ass job wherever you are, and you'll get noticed.