glaak
That would be true if those answers were assess on a strictly correct / incorrect basis AND those were the only things you were assessed on. Neither of those are true though in this case.
It's very possible that the questions where you didn't get an optimal answer you actually did very well on. And that there are other questions where you got the optimal answer, but it took you too long or you made too many mistakes in coding. Or you just came off as arrogant. Who knows?
I've seen many many candidates make similar assumptions to yours -- thinking they bombed specific interviews, when in fact they did very well on those. You might be correct about why you got rejected. But it's even more likely that you're wrong.
But this is absolutely true: getting the optimal solution in all interviews is not a necessary and sufficient condition.
In this case, I'm stating that I was a hiring committee member and not saying that I attended regularly, when I in fact did. This is not a lie of omission. At worst, you could accuse me of not offering additional qualifications.
I'd suggest you read the section in the article about how you're evaluated. Yes, how optimal your solution is matters -- of course it does. This doesn't mean that you have to get an optimal answer though. You have to do better than the majority of candidates (maybe ~80% of candidates).
For some problems, being in the top 20% of candidate will mean getting the optimal solution. In other cases, it may not. The optimal algorithm might be trivial, and it might be more about coding skills. In another problem, it might be totally unrealistic to expect that a candidate needs to get the optimal algorithm.
Additionally, you seem to assume that since (according to you) getting the optimal answer is necessary, that it must also be a sufficient condition. That's obviously false. It's entirely possible that a candidate needs to get the optimal answer AND implement it well, in which case these other factors come into play.
Agreed. That would be bullshit. And those are bad interviewers if they do any of that. Companies like Microsoft, Google, Amazon, and Facebook don't do that, as a general rule. I'm sure you could find bad interviewers at any company though.
But, yes, I could have been more extensive in my credentials. Unfortunately, "How to Crack the Toughest Coding Interviews by ex-Google engineer, ex-Google hiring committee member who showed up every week, ex-Apple dev, ex-Microsoft dev, author of Cracking the Coding Interview, and author of The Google Resume" was a bit too long :).
Why shouldn't you validate if a programmer is, in fact, a good programmer (which is a mix of many things, including intelligence)?
Second, the point of the article is not the being a woman is an advantage but rather, that there's good evidence that it's a disadvantage. When you have a group that is already unrepresented in the sciences who face additional disadvantages, that IS a problem.
Yes, of course you play the hand you're dealt. What other choice do you have? That doesn't mean you shouldn't fight for equality for everyone.
You're telling me that a set of unrelated teams decided interdependently to specifically offer positions to women from your college? Why? Why your college? It just doesn't make sense.
My guess is that there's something much less sinister going on, such as: -- It's just a weird coincidence. (After all, they recruit from many schools.) -- Some professor referred mostly female students, perhaps even being under the mistaken impression that they were asking for good female candidates. -- The female students are your schools are actually more qualified than the male. (This is not particularly unlikely, if your school is really less than 5% female. To get numbers that low, there may be some pressure to drop out, leaving only the best women there.) -- Microsoft hires mostly PMs from your school, which are more likely than devs to be female. -- Microsoft extended offers to a number of men too, who happened to not take the offer. -- Many of these 5 students were actually given offers for a specific program dedicated to minorities. -- You're wrong about the percent of women in your CS program (very likely). -- You're wrong about the number of women / men hired.
These are just a few of the possibilities I can think of. What seems incredibly unlikely is that a bunch of unrelated teams all decided to hire only women from specifically your university. I just don't understand how that would work.
By the way, are you sure your school is <5% female? That is WAY under the national average.
http://www.technologywoman.com/2012/09/27/i-only-got-that-jo...
It's possible that something in the middle is going on -- a recruiter asked a professor for recommendations and he/she happened to recommend mostly women.
(I would very much believe, however, that in bartending, it's stacked against men.)
Let's think about your "female friend" who has lousy technical chops and a 2.5 gpa at a mediocre state university. Is every woman with a 2.5 GPA at a lousy state university getting an interview at all three companies? No? Hmm. I suspect there's something much more to her resume than what you're telling her. These companies are not all simultaneously saying, hey, let's go interview this one woman who happens to have a 2.5 gpa at a crappy school. You're just seeing it that way because you think reverse discrimination is an issue.
Fortunately, this has been studied. And guess what? Equally qualified women have a harder time having their resume selected for technical positions. A similar study was done for black people vs. white people (or, technically, black-sounding names vs. white-sounding names).
It turns out that the conscious thought people have of wanting to hire more women is secondary to their more subconscious bias.
Also, read the studies. Black people and women actually have a harder time getting a job. So by your logic, of people getting jobs that they may not be the most qualified for, you'd be better off hiring women or black people. They have to be more qualified into to be seen as equals.
(1) You can't assume that there are a lot of equally qualified A players for those companies. In fact, those companies struggle to hire enough qualified engineers.
(2) You're assuming that those companies, if they were presented with multiple qualified people, can only hire one of them. In many cases, they would just hire all of them.
(3) You're assuming that, if a company has to decide between multiple qualified people, it would use personality or looks as a dividing factor. Obviously, the people aren't actually identical, other than looks. The companies could instead decide based on a preference for public universities over equally ranked private ones, or what city the people are from, or whatever. There are many differences between people.
(4) You're assuming that attractiveness would help someone's candidacy for an engineering role, and not hurt it. If you were talking to two people -- one was a very attractive woman and one was a very unattractive woman -- which would you assume is more technical, if you had to bet? You'd probably bet on the less attractive person.
Google wants people who have a strong understand of CS fundamentals (which includes knowing core data structures). Google also wants people who are good coders (which includes being able to translate an idea into code).
A good coder who knows CS fundamentals should be able to do that. Thus, not knowing how to implement a binary search tree is revealing.
And, really, the question is rarely "implement a binary search tree." It may, however, be to implement a binary search tree which support a getMedian() operation.
Q&A: What it really takes to land a killer technology job - GeekWire
Marissa Mayer, Fatherhood, and Having It All
List the stuff that makes you look better!