Live data from Hacker News

Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

news.ycombinator.com

21–30 of 206 posts

Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

#21

Earlier quoted context omitted.

There is nothing about learning how basic data structures and algorithms work that won't help you in your day to day development. You might be "fine" without it in a certain category of job, but rather than be dismissive about it you could be excited about having a massive wealth of information that you can use to do your job better. There will always be something else to learn, wether it be how to apply Domain Drive…

> There is nothing about learning how basic data structures and algorithms work that won't help you in your day to day development. Having a basic understanding of these things is NOT the same as being able to regurgitate them on a whiteboard, under the stress of the interview process.

Exactly, I don't need to know this stuff of the top of my head. I can look it up...

Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

#22
post #5

Earlier quoted context omitted.

> algorithmic primitives from which modern algorithms are born. What is a good way to learn more about these?

The only reason it seems to even learn them is to pass an interview... What a utterly stupid and broken process. All it's testing is recall, that you've memorized some algorithms that 99% of developers will never need. Especially when these are really hard problems that people have studied for years, to think that anyone who hasn't memorised the solution is working this stuff out in an hour on a whiteboard is crazine…

I would say it depends. I have been working in this industry for 12 years but I don't need to use those knowledge. However, if you read source code of popular frameworks and systems, they use a lot of those algorithms and data structures.

Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

#23
I currently work for Google, and enjoy whiteboard interview questions. When the questions are well designed there should be a relatively trivial, brute-force solution. As that solution is explored, it should highlight a bottleneck (time, space, etc.) that leads naturally to a more elegant solution. I really enjoy the excitement of finding the inflection point between the two. In addition, be aware that Google now offers Chromebooks for interviews at many locations, in case folks are more comfortable typing than writing. A recruiter can confirm if that option will be available. (See https://careers.google.com/how-we-hire/interview/#onsite-int...)

Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

#24
post #4

Earlier quoted context omitted.

> Here's an NP-hard problem you haven't heard of, write correct code for nlogn solution on whiteboard in language of choice I guess that would be a trick-question then, as nobody ever solved an NP-hard problem in linearithmic time.

I think that was meant to be a hyperbole.

Indeed, although it's not unheard of for mathematics lecturers at university to throw in a question within a twenty-question problem sheet for their course that is actually equivalent to some important unsolved problem, on the off chance that one of their students sees things in a totally new way and makes a ground-breaking discovery. Solving something NP-hard in linearithmic time would certainly qualify...

Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

#25
post #12

I often do, both for fun and to prepare myself to give a question I'd like to use in an interview. The thing about interview questions at Google is there's a very fine line they need to walk: if they're too easy they give no useful information about the candidate, and if they're too hard they can never be solved in 45 minutes, again yielding no useful information. You also need to be able to provide some hints, becau…

> Sure you can write a for loop to iterate over a data set, but will you fall on your face when that data set is petabytes in size? I also asked a question in HN yesterday. It looks like there are more questions on data structure and algorithm for big data. However, books I read don't focus much in this area. As I haven't worked on big data before, that would also be a challenge for me.

Here's a few pointers on big data:

* You obviously need more than one machine to do computation. Things become more difficult as you go from one machine to many, so learn about parallel programming tactics like MapReduce[1] and Flume[2].

* Storing stuff is also much more difficult. You'll either be working with distributed filesystems like GFS [3] or Colossus [4], NoSQL databases like bigtable [5], or SQL-like databases like Spanner [6] and F1 [7]

* Algorithms are tricky, because things that take no time at all on a single machine get to be very difficult when done on multiple machines. I don't actually know of any resources on this one, but if you know the algorithms and learn distribution tactics like I outlined above, it should make more and more sense with practice.

* Finally, you need to know your operating systems and networks. What operations are cheap (RAM access, local disk access, most local computation, same-cluster network operations, streaming remote disk access) and what operations are expensive (longer network hops, random-access remote disk operations). You also should be able to ballpark (to an order of magnitude) things like latencies of operations, dataset sizes, QPS's per machine, etc.

Also, when reading the papers, pay more attention to the interface than the implementation. One of the hardest things is transitioning from being spoiled by the local OS interface, where everything is cheap, to the distributed world, where seemingly random things are expensive or impossible.

[1] https://static.googleusercontent.com/media/research.google.c...

[2] https://ai.google/research/pubs/pub35650

[3] https://static.googleusercontent.com/media/research.google.c...

[4] https://www.systutorials.com/3202/colossus-successor-to-goog...

[5] https://static.googleusercontent.com/media/research.google.c...

[6] https://static.googleusercontent.com/media/research.google.c...

[7] https://static.googleusercontent.com/media/research.google.c...

Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

#26
post #12

I often do, both for fun and to prepare myself to give a question I'd like to use in an interview. The thing about interview questions at Google is there's a very fine line they need to walk: if they're too easy they give no useful information about the candidate, and if they're too hard they can never be solved in 45 minutes, again yielding no useful information. You also need to be able to provide some hints, becau…

I kinda agree but think that you are overselling the signal generated. We have internal data that we can't discuss here that throws some doubt on the signal from whiteboard interviews of the type described above.

Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

#27
post #12

I often do, both for fun and to prepare myself to give a question I'd like to use in an interview. The thing about interview questions at Google is there's a very fine line they need to walk: if they're too easy they give no useful information about the candidate, and if they're too hard they can never be solved in 45 minutes, again yielding no useful information. You also need to be able to provide some hints, becau…

>>Sure you can write a for loop to iterate over a data set, but will you fall on your face when that data set is petabytes in size?

I understand what you are trying to say here. But how many candidates are capable of inventing path breaking algorithms in 45 minutes, just to crack a job interview? I guess only a countable people in the world could achieve a feat that amazing, where they could invent a totally new novel algorithms from the scratch in 45 minutes. If I'm not wrong the very people who invented these algorithms went through years of research to publish them.

Now if you are not testing this, and just testing if the person knows an existing algorithm. Then really this a scaled version of testing the ability to memorize multiplication tables.

There is nothing novel in merely knowing an algorithm. And you also have not tested a person's ability in inventing an algorithm either.

Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

#28
post #18
post #5

Earlier quoted context omitted.

The only reason it seems to even learn them is to pass an interview... What a utterly stupid and broken process. All it's testing is recall, that you've memorized some algorithms that 99% of developers will never need. Especially when these are really hard problems that people have studied for years, to think that anyone who hasn't memorised the solution is working this stuff out in an hour on a whiteboard is crazine…

> The only reason it seems to even learn them is to pass an interview... While I agree that the process is broken, a solid understanding of algorithms and data structures is very important for developers at my company. And nobody knows all , or even most of the algos or data structures! But we do have large amounts of data and some pretty complex analytic problems, and a poor design can cost a lot of time and AWS $.…

Those look like software design skills. Also the type of systems you describes use something like Hadoop, and use things like Hive and Pig on top of it. Once you get the data out you use Python or R. And you generally use a standard library to work with. That really SQL + general programming.

What new problems are you working on that require you to invent novel algorithmic techniques?

Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

#29
post #27
post #12

I often do, both for fun and to prepare myself to give a question I'd like to use in an interview. The thing about interview questions at Google is there's a very fine line they need to walk: if they're too easy they give no useful information about the candidate, and if they're too hard they can never be solved in 45 minutes, again yielding no useful information. You also need to be able to provide some hints, becau…

>>Sure you can write a for loop to iterate over a data set, but will you fall on your face when that data set is petabytes in size? I understand what you are trying to say here. But how many candidates are capable of inventing path breaking algorithms in 45 minutes, just to crack a job interview? I guess only a countable people in the world could achieve a feat that amazing, where they could invent a totally new nove…

i don't understand why people do this. you're raging against a machine. do you think you're going to change this person's mind on how effective whiteboard questions are?

Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?

#30
post #13
post #5

Earlier quoted context omitted.

The only reason it seems to even learn them is to pass an interview... What a utterly stupid and broken process. All it's testing is recall, that you've memorized some algorithms that 99% of developers will never need. Especially when these are really hard problems that people have studied for years, to think that anyone who hasn't memorised the solution is working this stuff out in an hour on a whiteboard is crazine…

What better way is there to try and get the best assessment of someone’s coding ability in a 45 minute timeframe?

You aren't testing their coding ability though you are testing their ability to remember how to implement a very specific algorithm.
Post reply on HN