Live data from Hacker News

Lessons from a Silicon Valley job search

robertheaton.com

11–20 of 289 posts

Re: Lessons from a Silicon Valley job search

#11
post #9

Earlier quoted context omitted.

If you work at Google or Facebook or any other of the tech giants, you need to know your algorithm-type questions. For the other 98% of companies, there's just no need. I've also never ever had to do strange things with binary trees.

Why? Do Google or Facebook engineers live in a magical world in which they need to know off the top of their heads the big-O complexity of every possible sort function ever mentioned in an academic paper? I see this argument used time and time again, but it makes no sense to me. Surely they can just search for it when they need it too :)

They deal is data volumes so large and so interconnected, it can't hurt to know those sort of things. Surely you agree?

Re: Lessons from a Silicon Valley job search

#12

sigh Unless your nomenclature is all screwed up, and you're confusing arrays and lists, finding an element in a sorted list takes O(N) time -- binary search doesn't work on lists. I do a lot of interviewing (at my company). Here's other common misconceptions lots of candidates have: * Quicksort is O(N^2) -- don't make that mistake. * There are plenty of "faster than O(NlogN) sorting algorithms, but they're all specia…

I think you are confusing your nomenclature. The term "list" does not necessarily imply that it is a linked list.

Re: Lessons from a Silicon Valley job search

#13

Getting a job in Silicon Valley, as an outsider, isn't hard. Getting a good job is hard. Many offers will come through at a lower level just because, whatever you did, you didn't do it in the Valley. That's Cali arrogance for ya. Hedge fund interviews are a lot more intense and technically difficult (and you feel good when you pass) but don't come with the VC-fueled, youthful arrogance of a proper Valley company. Hed…

You sound like you just got a job offer from a hedge fund...

Re: Lessons from a Silicon Valley job search

#14
I'm currently performing the same job search but as a future new graduate from a Computer Engineering program in Canada.

So far the biggest parallel with your experience is gaining the confidence to even begin applying for jobs. I came to the conclusion that I have almost nothing to lose by applying for jobs and it's really difficult to burn bridges by just sending in a resume or a quick email saying I'm interested in your company.

Some of the interviews so far have been excellent and left me really excited about following up with a take-home coding exercise. On the other hand some have left a really bad taste in my mouth. I found it surprising how much I can get a feel for the type of person a CEO/CTO is over the phone. One of my biggest complaints is when interviewers want me to do spec work[1] for their app. That's a big red flag for me.

My biggest successes so far have come from downloading/signing up for the product or service and spending some time using it. So far interviewers have really enjoyed that and it has led into great discussions about the product and how I would improve it. Furthermore, in remote coding interviews, being honest and saying, "I don't know, could you please show me." is really appreciated and demonstrates character.

[1] http://www.nospec.com/faq

Re: Lessons from a Silicon Valley job search

#15
post #9

Earlier quoted context omitted.

Why? Do Google or Facebook engineers live in a magical world in which they need to know off the top of their heads the big-O complexity of every possible sort function ever mentioned in an academic paper? I see this argument used time and time again, but it makes no sense to me. Surely they can just search for it when they need it too :)

They deal is data volumes so large and so interconnected, it can't hurt to know those sort of things. Surely you agree?

Agree, but what you described is something that can be googled and quickly learned, whereas all the intangibles op listed should be second-nature.

Re: Lessons from a Silicon Valley job search

#16
post #9

Earlier quoted context omitted.

If you work at Google or Facebook or any other of the tech giants, you need to know your algorithm-type questions. For the other 98% of companies, there's just no need. I've also never ever had to do strange things with binary trees.

Why? Do Google or Facebook engineers live in a magical world in which they need to know off the top of their heads the big-O complexity of every possible sort function ever mentioned in an academic paper? I see this argument used time and time again, but it makes no sense to me. Surely they can just search for it when they need it too :)

I suspect when they search for it they're going to find their own published writings/blogs ;)

I do think some people at FB/Google need to know this stuff cold, but even that isn't going to be 100% of their engineers.

Re: Lessons from a Silicon Valley job search

#17
post #9

Earlier quoted context omitted.

If you work at Google or Facebook or any other of the tech giants, you need to know your algorithm-type questions. For the other 98% of companies, there's just no need. I've also never ever had to do strange things with binary trees.

Why? Do Google or Facebook engineers live in a magical world in which they need to know off the top of their heads the big-O complexity of every possible sort function ever mentioned in an academic paper? I see this argument used time and time again, but it makes no sense to me. Surely they can just search for it when they need it too :)

It's not about knowing the complexity of every possible sort function. It's about having a good base to stand on, a nicely sized toolbox.

If you're working on a solution to an actual problem, it's a pretty damn good to have an idea about the complexity of it. You don't need to be an expert, but developing some kind of intuition for it is very helpful.

If your attitude towards these things is "I'll just Google it" then you're not going to be quite as useful when it comes to discussions. Your toolbox needs to be bigger than that.

Re: Lessons from a Silicon Valley job search

#18
> “Design the infrastructure for a link-shortener.”

I'm wondering how to answer that?

* Get a short and memorizable url.

* When you enter an URL hash it, put it in a hash table and use the hash for the link.

> “If I type https://google.com into my browser and press enter, what happens?”

How would you guys answer this one? I'm not sure I've enough knowledge to do that. I'd say:

* first TLS handshake thanks to RSA to share a key

* then a GET

* then the server sends a cache version of Google according to location/cookies/etc...

* then the html gets displayed in the client's browser

Re: Lessons from a Silicon Valley job search

#19
post #9

Earlier quoted context omitted.

Why? Do Google or Facebook engineers live in a magical world in which they need to know off the top of their heads the big-O complexity of every possible sort function ever mentioned in an academic paper? I see this argument used time and time again, but it makes no sense to me. Surely they can just search for it when they need it too :)

I suspect when they search for it they're going to find their own published writings/blogs ;) I do think some people at FB/Google need to know this stuff cold, but even that isn't going to be 100% of their engineers.

Agreed. I think there's a tinge of arrogance to the claim that Google/FB/what have you need The Best(tm) while everyone else does not.

The reality is that there are some jobs (a small minority) at these companies that require incredibly deep algorithmic knowledge - they really do do some complicated things.

But the majority of jobs at TwitGooFace are your run of the mill programming jobs, where the requirement and the reality don't call for anyone at that level, and hiring someone at that level is just going to make them bored. Indeed, the vast majority of people I know at these companies aren't algorithmic encyclopedia, they're just solidly competent engineers.

Having worked at a "AAA" tech giant and many more places across the country, I'm happy to report that for the most part there's nothing exceptional about Silicon Valley jobs and what they require. For the most part, barring a minority of highly specialized high-level positions, engineering ability trumps computer science knowledge.

Re: Lessons from a Silicon Valley job search

#20

sigh Unless your nomenclature is all screwed up, and you're confusing arrays and lists, finding an element in a sorted list takes O(N) time -- binary search doesn't work on lists. I do a lot of interviewing (at my company). Here's other common misconceptions lots of candidates have: * Quicksort is O(N^2) -- don't make that mistake. * There are plenty of "faster than O(NlogN) sorting algorithms, but they're all specia…

A standard Quicksort implementation is absolutely worst-case O(N^2). Variants do exist like median-of-medians quicksort or introsort, but I would never describe O(N^2) as wrong. In fact, I would be very happy if candidates knew the difference between worst-case and average-case analysis.
Post reply on HN