<?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 interviewing</title>
	<atom:link href="http://brian.pontarelli.com/2007/08/27/google-interviewing/feed/" rel="self" type="application/rss+xml" />
	<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/</link>
	<description>Brian Pontarelli</description>
	<pubDate>Sun, 14 Mar 2010 13:59:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/#comment-5394</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Mon, 19 Nov 2007 17:20:34 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2006/12/12/google-interviewing/#comment-5394</guid>
		<description>Vincent:
The point is NOT to prepare yourself and know all the answers. I was prepared for a number of the questions they asked me and knew the answers and what the interviewer did from that point was to ask me another question until he found something I didn't know. 

Also, the selection algorithm is probably not as popular as you make it seem. In addition, the problem is not selection, it is selection of HUGE sets. Selection in memory is well-known and somewhat simple. Selection on a stream of unknown size where the size is larger than can ever be fit into memory is more difficult. You now have to use distributed memory or perform some other type of selection. In fact, my solution is a distributed memory based approach using a b-tree, which is a known solution that uses incremental sorting. So, you are correct that I didn't know the theory or the terminology of the solution, but I give my self mad props for figuring out a complex distributed solution on my own without knowing the theory or terminology. That's better than memorization in my opinion.

As to the sum problem. I did in fact write code for a linear-time solution to this. I just didn't put that in the blog post.

Thanks for the link, I might check it out if I have time. Also, you're more than welcome to check out my algorithms for my open source projects. My dependency graph and traversals are pretty decent linear time with no tail recursion. Also, I've done some pretty advanced string matching using a modified AhoCorasick multiple search algorithm for the Inversoft Profanity Filter that takes into account character replacements, spaces and padding between characters of a word, phonetics, and much more. This thing performs really well: ~5000 words to search for in ~1 meg takes around 10 seconds with support for unicode. And again I give myself mad props because I wrote the whole thing and then discovered there was already an algorithm for what I had written.</description>
		<content:encoded><![CDATA[<p>Vincent:<br />
The point is NOT to prepare yourself and know all the answers. I was prepared for a number of the questions they asked me and knew the answers and what the interviewer did from that point was to ask me another question until he found something I didn&#8217;t know. </p>
<p>Also, the selection algorithm is probably not as popular as you make it seem. In addition, the problem is not selection, it is selection of HUGE sets. Selection in memory is well-known and somewhat simple. Selection on a stream of unknown size where the size is larger than can ever be fit into memory is more difficult. You now have to use distributed memory or perform some other type of selection. In fact, my solution is a distributed memory based approach using a b-tree, which is a known solution that uses incremental sorting. So, you are correct that I didn&#8217;t know the theory or the terminology of the solution, but I give my self mad props for figuring out a complex distributed solution on my own without knowing the theory or terminology. That&#8217;s better than memorization in my opinion.</p>
<p>As to the sum problem. I did in fact write code for a linear-time solution to this. I just didn&#8217;t put that in the blog post.</p>
<p>Thanks for the link, I might check it out if I have time. Also, you&#8217;re more than welcome to check out my algorithms for my open source projects. My dependency graph and traversals are pretty decent linear time with no tail recursion. Also, I&#8217;ve done some pretty advanced string matching using a modified AhoCorasick multiple search algorithm for the Inversoft Profanity Filter that takes into account character replacements, spaces and padding between characters of a word, phonetics, and much more. This thing performs really well: ~5000 words to search for in ~1 meg takes around 10 seconds with support for unicode. And again I give myself mad props because I wrote the whole thing and then discovered there was already an algorithm for what I had written.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: X-Orbitz</title>
		<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/#comment-5270</link>
		<dc:creator>X-Orbitz</dc:creator>
		<pubDate>Tue, 13 Nov 2007 01:10:45 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2006/12/12/google-interviewing/#comment-5270</guid>
		<description>My interview with Google CA was similar in ways.  To be specific, I was interviewing for a web developer position and was asked questions like "with an xterm, text editor, and C-compiler, determine the hardware architecture of the local machine based on the directionality of the stack" and "how to determine if a very-large list of integers had more negative or positive numbers".  Yeah, web development position.  There were a handful of others too, each very algorithmic.  No questions on designing applications, web stacks, best practices, or even team dynamics.

I also came from Orbitz and while being exposed to a massive end-to-end stack and spending most of my time on the server-side, I entrusted the 3rd party APIs to do the dirty work while I create customizations that make $$.  Lots of it ;)

Like most people, I enjoy pealing back the layers and getting into the finer details, but ultimately, the employer needs productivity and results -- something that we have to entrust COTS or open-source software to do the details while we put everything together at higher levels.

Eh... I only interviewed with them because the opportunity came up.  Ultimately, I really *really* enjoy my current job so I just throw this into the 'experience' bucket.</description>
		<content:encoded><![CDATA[<p>My interview with Google CA was similar in ways.  To be specific, I was interviewing for a web developer position and was asked questions like &#8220;with an xterm, text editor, and C-compiler, determine the hardware architecture of the local machine based on the directionality of the stack&#8221; and &#8220;how to determine if a very-large list of integers had more negative or positive numbers&#8221;.  Yeah, web development position.  There were a handful of others too, each very algorithmic.  No questions on designing applications, web stacks, best practices, or even team dynamics.</p>
<p>I also came from Orbitz and while being exposed to a massive end-to-end stack and spending most of my time on the server-side, I entrusted the 3rd party APIs to do the dirty work while I create customizations that make $$.  Lots of it ;)</p>
<p>Like most people, I enjoy pealing back the layers and getting into the finer details, but ultimately, the employer needs productivity and results &#8212; something that we have to entrust COTS or open-source software to do the details while we put everything together at higher levels.</p>
<p>Eh&#8230; I only interviewed with them because the opportunity came up.  Ultimately, I really *really* enjoy my current job so I just throw this into the &#8216;experience&#8217; bucket.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vincent</title>
		<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/#comment-5262</link>
		<dc:creator>vincent</dc:creator>
		<pubDate>Sun, 11 Nov 2007 19:51:13 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2006/12/12/google-interviewing/#comment-5262</guid>
		<description>I think like some others. They may be did not found a fit for you in the company due to your attitude. I am not judging your attitude to be bad, but is just not what they were looking for. I also think you should prepare yourself better for the interviews and not being that much confident of your actual knoweldge. For example, the selecting algorithm is a very popular algorithm you did not had any idea. Then the problem of sums is resolved optimally in O(n) and you did not gave any idea that resolves the problem in that time. I recommend you to view the Video Lectures of the Algorithms Aduni course that is in aduni_dot_org. You can mantain dozens of open source projects with naive knoweledge of algortihms, i am pretty sure it is not your case, but Google must assure that.</description>
		<content:encoded><![CDATA[<p>I think like some others. They may be did not found a fit for you in the company due to your attitude. I am not judging your attitude to be bad, but is just not what they were looking for. I also think you should prepare yourself better for the interviews and not being that much confident of your actual knoweldge. For example, the selecting algorithm is a very popular algorithm you did not had any idea. Then the problem of sums is resolved optimally in O(n) and you did not gave any idea that resolves the problem in that time. I recommend you to view the Video Lectures of the Algorithms Aduni course that is in aduni_dot_org. You can mantain dozens of open source projects with naive knoweledge of algortihms, i am pretty sure it is not your case, but Google must assure that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/#comment-4916</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Tue, 25 Sep 2007 17:03:55 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2006/12/12/google-interviewing/#comment-4916</guid>
		<description>Sean,

Not really a conflict in those statements, so I'm not sure what you are getting at. I think though that you are proposing that I was being defensive and argumentative as some others have said. The truth is that I wasn't. I'll admit that I didn't know the answer immediately, however, I think the reason was that I found it difficult to interact with someone that I could not understand. I'll definitely stand behind the fact that interviewing native English speakers should be done by folks that speak English clearly. Interviewing native Hindi speakers should be done by the those who speak Hindi. 

The language barrier was a enormous problem because I think the interviewer was extremely annoyed that I couldn't understand him. Each time I asked him to repeat himself, he seemed to get more and more annoyed. So, when I asked him if we were prematurely optimizing something that was relatively small in size (i.e. the dictionary), mostly to help to work through the problem, he really got mad.

I'll admit that I didn't come to the answer at first, mostly because I was nervous and because I didn't clearly understand what he was asking until I asked him to repeat the question a few times. This can be an extremely frustrating and nerve racking situation to be placed in. You are asked a question and you can't understand it. You have to ask for the question a few more times and each time the interviewer is getting steadily more upset and you are getting steadily more nervous until things just completely fall apart and you try to work through them with a discussion of the merits of premature optimization and that just makes it worse. Then you're claiming accurate numbers about sizes and the interviewer is telling you that you're completely wrong and the both of you are in a place where you can't really reconcile the situation.

I'll tell you that this was not enjoyable at all and I do feel that this was way I wasn't hired. Furthermore, as to my point about the answer being simple, it is a simple answer. I don't know if I would have gotten on my own, and I'll never know, but once I was told, I just thought, "DUH!". As for my failing at a simple problem, that might be. However, I doubt it because I've seen brilliant people miss simple questions and I've interviewed a lot of folks and I personally feel that missing questions isn't the deciding factor for me. It's more about thought process, challenging your assumptions and looking at things from different angles. I mean anyone can come up with questions that would stump even folks at Google. The idea is to work with the person you are interviewing and see how they think and work through problems.</description>
		<content:encoded><![CDATA[<p>Sean,</p>
<p>Not really a conflict in those statements, so I&#8217;m not sure what you are getting at. I think though that you are proposing that I was being defensive and argumentative as some others have said. The truth is that I wasn&#8217;t. I&#8217;ll admit that I didn&#8217;t know the answer immediately, however, I think the reason was that I found it difficult to interact with someone that I could not understand. I&#8217;ll definitely stand behind the fact that interviewing native English speakers should be done by folks that speak English clearly. Interviewing native Hindi speakers should be done by the those who speak Hindi. </p>
<p>The language barrier was a enormous problem because I think the interviewer was extremely annoyed that I couldn&#8217;t understand him. Each time I asked him to repeat himself, he seemed to get more and more annoyed. So, when I asked him if we were prematurely optimizing something that was relatively small in size (i.e. the dictionary), mostly to help to work through the problem, he really got mad.</p>
<p>I&#8217;ll admit that I didn&#8217;t come to the answer at first, mostly because I was nervous and because I didn&#8217;t clearly understand what he was asking until I asked him to repeat the question a few times. This can be an extremely frustrating and nerve racking situation to be placed in. You are asked a question and you can&#8217;t understand it. You have to ask for the question a few more times and each time the interviewer is getting steadily more upset and you are getting steadily more nervous until things just completely fall apart and you try to work through them with a discussion of the merits of premature optimization and that just makes it worse. Then you&#8217;re claiming accurate numbers about sizes and the interviewer is telling you that you&#8217;re completely wrong and the both of you are in a place where you can&#8217;t really reconcile the situation.</p>
<p>I&#8217;ll tell you that this was not enjoyable at all and I do feel that this was way I wasn&#8217;t hired. Furthermore, as to my point about the answer being simple, it is a simple answer. I don&#8217;t know if I would have gotten on my own, and I&#8217;ll never know, but once I was told, I just thought, &#8220;DUH!&#8221;. As for my failing at a simple problem, that might be. However, I doubt it because I&#8217;ve seen brilliant people miss simple questions and I&#8217;ve interviewed a lot of folks and I personally feel that missing questions isn&#8217;t the deciding factor for me. It&#8217;s more about thought process, challenging your assumptions and looking at things from different angles. I mean anyone can come up with questions that would stump even folks at Google. The idea is to work with the person you are interviewing and see how they think and work through problems.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean</title>
		<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/#comment-4915</link>
		<dc:creator>Sean</dc:creator>
		<pubDate>Tue, 25 Sep 2007 16:38:58 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2006/12/12/google-interviewing/#comment-4915</guid>
		<description>I'm confused by the apparent conflict in these two statements in CA question 1:

"...but this interviewer and I had a personality conflict and his accent was so thick I kept having to ask him to repeat himself. I think this is why they didnâ€™t hire me."

and a couple lines down you say:

"Of course he and I were arguing so much about things by this point I didnâ€™t get the answer and he had to tell me, but the answers simple."

Could the reason they didn't hire you have to do with the fact that you didn't have the answer to what you admit was a simple problem?  Instead you felt you had to argue with them about validity of the premise of a theoretical problem.  That sounds less like open minded debate and more like defensiveness because you can't solve the problem.

I can see Digital Boy's point.  However, that doesn't mean the interviewers didn't also have issues.</description>
		<content:encoded><![CDATA[<p>I&#8217;m confused by the apparent conflict in these two statements in CA question 1:</p>
<p>&#8220;&#8230;but this interviewer and I had a personality conflict and his accent was so thick I kept having to ask him to repeat himself. I think this is why they didnâ€™t hire me.&#8221;</p>
<p>and a couple lines down you say:</p>
<p>&#8220;Of course he and I were arguing so much about things by this point I didnâ€™t get the answer and he had to tell me, but the answers simple.&#8221;</p>
<p>Could the reason they didn&#8217;t hire you have to do with the fact that you didn&#8217;t have the answer to what you admit was a simple problem?  Instead you felt you had to argue with them about validity of the premise of a theoretical problem.  That sounds less like open minded debate and more like defensiveness because you can&#8217;t solve the problem.</p>
<p>I can see Digital Boy&#8217;s point.  However, that doesn&#8217;t mean the interviewers didn&#8217;t also have issues.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/#comment-4782</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Wed, 05 Sep 2007 15:32:30 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2006/12/12/google-interviewing/#comment-4782</guid>
		<description>Yeah, I've worked a lot with the dictionary for the Inversoft Profanity Filter and Database. We have a speed trimmed dictionary for English that around 150k. But you are correct, including other languages increases that number dramatically. 

The question at its core is excellent because pre-processing is indeed a great performance boost and very easy to perform. I think like you mentioned, the destructive conflict caused the interview to fall apart when it should have been extremely fun to work through. 

I think that is something that is generally missing for many interviews at most companies - fun. I feel that making the person comfortable and interactive should really help in the decision making process. You want to see them having fun and interacting so you can determine if you want to work with them everyday or not.</description>
		<content:encoded><![CDATA[<p>Yeah, I&#8217;ve worked a lot with the dictionary for the Inversoft Profanity Filter and Database. We have a speed trimmed dictionary for English that around 150k. But you are correct, including other languages increases that number dramatically. </p>
<p>The question at its core is excellent because pre-processing is indeed a great performance boost and very easy to perform. I think like you mentioned, the destructive conflict caused the interview to fall apart when it should have been extremely fun to work through. </p>
<p>I think that is something that is generally missing for many interviews at most companies - fun. I feel that making the person comfortable and interactive should really help in the decision making process. You want to see them having fun and interacting so you can determine if you want to work with them everyday or not.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anon</title>
		<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/#comment-4778</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Wed, 05 Sep 2007 05:47:13 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2006/12/12/google-interviewing/#comment-4778</guid>
		<description>I suppose the less than sign is significant to some parser somewhere  ;)

...an English language dictionary is less than 200,000 words, but a multilingual dictionary can be much larger.  The "correct" number depends on your frame of reference, and good interviewer knows that and would have been able to avoid the destructive conflict of wills that seems to have happened here.</description>
		<content:encoded><![CDATA[<p>I suppose the less than sign is significant to some parser somewhere  ;)</p>
<p>&#8230;an English language dictionary is less than 200,000 words, but a multilingual dictionary can be much larger.  The &#8220;correct&#8221; number depends on your frame of reference, and good interviewer knows that and would have been able to avoid the destructive conflict of wills that seems to have happened here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anon</title>
		<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/#comment-4777</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Wed, 05 Sep 2007 05:45:01 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2006/12/12/google-interviewing/#comment-4777</guid>
		<description>Really sorry to read about this experience; it's never the intent for candidates to feel caught up in a "CS pissing contest" (as you say elsewhere), but unfortunately it happens.  Hopefully those interviewers do get retrained.  

BTW, an English language dictionary is </description>
		<content:encoded><![CDATA[<p>Really sorry to read about this experience; it&#8217;s never the intent for candidates to feel caught up in a &#8220;CS pissing contest&#8221; (as you say elsewhere), but unfortunately it happens.  Hopefully those interviewers do get retrained.  </p>
<p>BTW, an English language dictionary is</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/#comment-4771</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Tue, 04 Sep 2007 15:29:30 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2006/12/12/google-interviewing/#comment-4771</guid>
		<description>Digital,

Dude, I can't stress this enough - you have to question things everyday. I can guarantee that the founders of Google DON'T want people who just roll over and answer the questions. Pushing boundaries takes people who are willing to poke and prod. I've done a lot of interviewing and pair interviewed with a lot of really smart people and I can tell you that having folks who question things is much better than having them just answer the questions. 

Furthermore, you read a lot into things. Saying things are simple doesn't mean I'm a jerk. I didn't fail any behavioral test either. I'm not gonna pretend like questions are the hardest thing on the planet when they aren't. That's just lame as hell. My only point is that the Mountain View interviewers sucked and I felt like I wasn't even interviewing, but like I was involved in some CS pissing contest. You weren't there so you have no idea what the interviews were like. Had you actually been through a similar process, you might change your tune. In fact, there are tons of people who have been through similar processes at Google and other companies and they'll tell you sometimes it really is the interviewers that botch it up.

Oh and you gotta learn to be precise. I used the word 6 times, not 7. Try not to blow things out of proportion, you just end up looking defensive and discredit yourself.</description>
		<content:encoded><![CDATA[<p>Digital,</p>
<p>Dude, I can&#8217;t stress this enough - you have to question things everyday. I can guarantee that the founders of Google DON&#8217;T want people who just roll over and answer the questions. Pushing boundaries takes people who are willing to poke and prod. I&#8217;ve done a lot of interviewing and pair interviewed with a lot of really smart people and I can tell you that having folks who question things is much better than having them just answer the questions. </p>
<p>Furthermore, you read a lot into things. Saying things are simple doesn&#8217;t mean I&#8217;m a jerk. I didn&#8217;t fail any behavioral test either. I&#8217;m not gonna pretend like questions are the hardest thing on the planet when they aren&#8217;t. That&#8217;s just lame as hell. My only point is that the Mountain View interviewers sucked and I felt like I wasn&#8217;t even interviewing, but like I was involved in some CS pissing contest. You weren&#8217;t there so you have no idea what the interviews were like. Had you actually been through a similar process, you might change your tune. In fact, there are tons of people who have been through similar processes at Google and other companies and they&#8217;ll tell you sometimes it really is the interviewers that botch it up.</p>
<p>Oh and you gotta learn to be precise. I used the word 6 times, not 7. Try not to blow things out of proportion, you just end up looking defensive and discredit yourself.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Digital Boy</title>
		<link>http://brian.pontarelli.com/2007/08/27/google-interviewing/#comment-4767</link>
		<dc:creator>Digital Boy</dc:creator>
		<pubDate>Tue, 04 Sep 2007 04:46:14 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2006/12/12/google-interviewing/#comment-4767</guid>
		<description>It's not your entrepreneurial nature that didn't help, it's your attitude.  You used the word "simple" 7 times in your post.  They actually want people who are entrepreneurial.  But I'm going to give up because this will fall on deaf ears anyway.

Remember, Google doesn't just want smart people, they want smart NICE people who are easy to get along with.  You completely failed the behavioral test.  Why the hell would you argue with an interviewer and question him/her if you want to get the job?</description>
		<content:encoded><![CDATA[<p>It&#8217;s not your entrepreneurial nature that didn&#8217;t help, it&#8217;s your attitude.  You used the word &#8220;simple&#8221; 7 times in your post.  They actually want people who are entrepreneurial.  But I&#8217;m going to give up because this will fall on deaf ears anyway.</p>
<p>Remember, Google doesn&#8217;t just want smart people, they want smart NICE people who are easy to get along with.  You completely failed the behavioral test.  Why the hell would you argue with an interviewer and question him/her if you want to get the job?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
