<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Google is an easy target</title>
	<atom:link href="http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/feed/" rel="self" type="application/rss+xml" />
	<link>http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/</link>
	<description>Brian Pontarelli</description>
	<pubDate>Wed, 08 Sep 2010 00:40:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/#comment-3815</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Sun, 17 Jun 2007 22:32:21 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/#comment-3815</guid>
		<description>Jonny - I have a few bits of advice:

1. Determine if you want to work for Google first. Look around at some of the information about the company out there and think about what you'll be doing there. Also think about what you want to do in your career. Do you want to become an architect and still code a bunch? Work on difficult problems that challenge you? Manage people? You might find more enjoyment professionally elsewhere or you might enjoy Google. I have a feeling that in the long run I'm glad I stayed away from Google because I want to start my own company and Google's probably not the best place to write code on your own time. My guess is they own your entire life and anything you even think about, let alone code, is theirs.

2. If you do want to interview, brush up on all those basics from data structures, algorithms, etc. Think about hashes, trees, graphs, LRU, non-recursive tree traversals, sets, etc. Review big-O stuff. I think it is definitely important to understand that most questions for the in person interview will be coding questions on a white board. Therefore they will be quickly solvable but often more difficult to implement with the proper big-O. You'll need to consider hashing, sorting, searching, looping, recursion, and branching a lot.

3. Good luck!</description>
		<content:encoded><![CDATA[<p>Jonny - I have a few bits of advice:</p>
<p>1. Determine if you want to work for Google first. Look around at some of the information about the company out there and think about what you&#8217;ll be doing there. Also think about what you want to do in your career. Do you want to become an architect and still code a bunch? Work on difficult problems that challenge you? Manage people? You might find more enjoyment professionally elsewhere or you might enjoy Google. I have a feeling that in the long run I&#8217;m glad I stayed away from Google because I want to start my own company and Google&#8217;s probably not the best place to write code on your own time. My guess is they own your entire life and anything you even think about, let alone code, is theirs.</p>
<p>2. If you do want to interview, brush up on all those basics from data structures, algorithms, etc. Think about hashes, trees, graphs, LRU, non-recursive tree traversals, sets, etc. Review big-O stuff. I think it is definitely important to understand that most questions for the in person interview will be coding questions on a white board. Therefore they will be quickly solvable but often more difficult to implement with the proper big-O. You&#8217;ll need to consider hashing, sorting, searching, looping, recursion, and branching a lot.</p>
<p>3. Good luck!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonny S</title>
		<link>http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/#comment-3787</link>
		<dc:creator>Jonny S</dc:creator>
		<pubDate>Sun, 10 Jun 2007 12:02:04 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/#comment-3787</guid>
		<description>Hi, Can you guys Please give me some more Questions that google had asked...</description>
		<content:encoded><![CDATA[<p>Hi, Can you guys Please give me some more Questions that google had asked&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Philip Ogren</title>
		<link>http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/#comment-3757</link>
		<dc:creator>Philip Ogren</dc:creator>
		<pubDate>Mon, 04 Jun 2007 03:42:27 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/#comment-3757</guid>
		<description>After reading your post last night I thought of a really simple solution to the question they gave me on my technical screening interview.  The question was the following:

You have an infinite stream of numbers for which you have no prior information about the distribution (except that the distribution does not change over time.)  Your job is to keep approximately 10% of the numbers such that you keep the 10% with the highest numerical value and discard the rest.  You can imagine that you have three methods - getNext(), keep(), and discard().  

Here is my solution.  Begin with an empty list/array.  Every time you call getNext() insert the number into the list such that the list is sorted.  If the index of the number in the list over the size of the list is greater than 90%, then keep the number otherwise discard it.  Do this until the size of list reaches some threshold (say, 1 million) at which point you can feel confident that whatever number is at the index corresponding to the 90th percentile is a good threshold to determine all future decisions.  Now simply keep and discard the infinite stream of numbers for all eternity.  

It does seem awfully simple now that I've thought of it.  Sigh!  

Well, this post was really off topic as we're supposed to be bashing Google here.  I'm not too worried about Google and am still infatuated with them and would probably do it again if they called me up.  And if I wasn't distracted by other things going on right now, I would probably take for a little self pity that I didn't get a chance to interview.</description>
		<content:encoded><![CDATA[<p>After reading your post last night I thought of a really simple solution to the question they gave me on my technical screening interview.  The question was the following:</p>
<p>You have an infinite stream of numbers for which you have no prior information about the distribution (except that the distribution does not change over time.)  Your job is to keep approximately 10% of the numbers such that you keep the 10% with the highest numerical value and discard the rest.  You can imagine that you have three methods - getNext(), keep(), and discard().  </p>
<p>Here is my solution.  Begin with an empty list/array.  Every time you call getNext() insert the number into the list such that the list is sorted.  If the index of the number in the list over the size of the list is greater than 90%, then keep the number otherwise discard it.  Do this until the size of list reaches some threshold (say, 1 million) at which point you can feel confident that whatever number is at the index corresponding to the 90th percentile is a good threshold to determine all future decisions.  Now simply keep and discard the infinite stream of numbers for all eternity.  </p>
<p>It does seem awfully simple now that I&#8217;ve thought of it.  Sigh!  </p>
<p>Well, this post was really off topic as we&#8217;re supposed to be bashing Google here.  I&#8217;m not too worried about Google and am still infatuated with them and would probably do it again if they called me up.  And if I wasn&#8217;t distracted by other things going on right now, I would probably take for a little self pity that I didn&#8217;t get a chance to interview.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/#comment-3752</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Fri, 01 Jun 2007 18:29:55 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/#comment-3752</guid>
		<description>Yeah, I agree. One of the issues I had overall with interviewing is many folks lack of balance. I was asked 95% algorithm (mostly selection and the like) questions and was never asked anything on design, systems, APIs, languages, theory, etc. I feel that a well balanced candidate should be able to show knowledge in many areas rather than just one.

The humor was the flat out statement, "you can't code," when all I was asked to code were these algorithms, which I did, just not extremely well on every single one. AND they didn't verify this claim via my many open source projects out there. In fact, the most humorous part as that one of the algorithm questions, was regarding hiring error in companies and how to reduce error overall. To add insult to injury, my interviewer stumbled for about 5 minutes trying to solve this enormously simple math equation with no luck. hehe

Okay, enough Google talk, back to coding software module dependency graph compatibility algorithms using a bi-direction graph with fast paths and pruning for Savant. (hehe)</description>
		<content:encoded><![CDATA[<p>Yeah, I agree. One of the issues I had overall with interviewing is many folks lack of balance. I was asked 95% algorithm (mostly selection and the like) questions and was never asked anything on design, systems, APIs, languages, theory, etc. I feel that a well balanced candidate should be able to show knowledge in many areas rather than just one.</p>
<p>The humor was the flat out statement, &#8220;you can&#8217;t code,&#8221; when all I was asked to code were these algorithms, which I did, just not extremely well on every single one. AND they didn&#8217;t verify this claim via my many open source projects out there. In fact, the most humorous part as that one of the algorithm questions, was regarding hiring error in companies and how to reduce error overall. To add insult to injury, my interviewer stumbled for about 5 minutes trying to solve this enormously simple math equation with no luck. hehe</p>
<p>Okay, enough Google talk, back to coding software module dependency graph compatibility algorithms using a bi-direction graph with fast paths and pruning for Savant. (hehe)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: smileyy</title>
		<link>http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/#comment-3751</link>
		<dc:creator>smileyy</dc:creator>
		<pubDate>Fri, 01 Jun 2007 17:45:11 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/05/25/google-is-an-easy-target/#comment-3751</guid>
		<description>Some folks at Amazon are fond of that sort of question.  Amazon, at least, from the conceptual level -- I can't remember if we've asked people to code a selection algorithm.  

Its somewhat pertinent to the types of work both companies do, but at the same time you can learn 98% of what you need to know by reading http://en.wikipedia.org/wiki/Selection_algorithm.

So the question is boiling down to "Are you an intelligent person?" and "Have you been exposed to these concepts before?".  So in that sense, its the type of question that can create a lot of false negatives.</description>
		<content:encoded><![CDATA[<p>Some folks at Amazon are fond of that sort of question.  Amazon, at least, from the conceptual level &#8212; I can&#8217;t remember if we&#8217;ve asked people to code a selection algorithm.  </p>
<p>Its somewhat pertinent to the types of work both companies do, but at the same time you can learn 98% of what you need to know by reading <a href="http://en.wikipedia.org/wiki/Selection_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/Selection_algorithm</a>.</p>
<p>So the question is boiling down to &#8220;Are you an intelligent person?&#8221; and &#8220;Have you been exposed to these concepts before?&#8221;.  So in that sense, its the type of question that can create a lot of false negatives.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
