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.
Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?
21–30 of 206 posts
Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?
#22Earlier 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…
Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?
#23Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?
#24Earlier 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.
Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?
#25I 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.
* 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?
#26I 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…
Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?
#27I 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 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?
#28Earlier 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 $.…
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?
#29I 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…
Re: Ask HN: Can engineers from Google or Facebook solve whiteboard questions easily?
#30Earlier 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?