Live data from Hacker News

I interviewed at six top companies in Silicon Valley in six days

blog.usejournal.com

361–370 of 740 posts

Re: I interviewed at six top companies in Silicon Valley in six days

#361
> After about a month of consistently practicing problems each day (maybe 2–3 hours/day, more on weekends) I moved on to doing primarily Leetcode’s “Top Interview Questions”

I'm completely fine with interviewers expecting you to solve some problems in front of them and knowing basic algorithms + data structures, but if it's becoming standard to dedicate this much time to studying and applying for jobs something is really, really wrong.

I think a day or two to refresh your knowledge you haven't used for a while and practice a few problems to get you warmed up is reasonable but when you're talking weeks of preparation then the interview is testing the wrong thing. I can't see in the article how much preparation was done but it sounds like months of work.

Re: I interviewed at six top companies in Silicon Valley in six days

#362

When I was a new college grad, I felt trapped by the fact that everywhere I looked they wanted several years of experience, and I had none yet. How can I get experience if it's required to get the job? Now that I am 51, I feel annoyed that all of these stories of interviews involve asking questions about algorithms that rarely come up in real coding, and if they do you should NOT be rolling your own code, you should…

> Much more important is to have the experience of how code complexity accumulates, and how to mitigate that.

That's so right. But that is experience, so I think when you know most the candidates don't have it, you end up looking for other stuff to test, and then your interview process gets infected, and eventually when you are interviewing for positions that should have experience, you get a lot of the same bullshit questions.

There are plenty of stories here of novice programmers doing some passion project, and 6-12 months after learning to program they are busting out some fairly complex algorithms that to someone that took the long route of getting a CS degree can look somewhat amazing, and frankly, humbling. But I think what's going on is that's the easy stuff to get a hold of, because all it takes is some judicious googling, or more likely, asking some professionals from help, and you're pointed in the right direction for the tool that solves your need, so you use it. Getting amazing progress on a new project isn't really hard.

Getting sustained progress, or being able to fix your problem a year or two in once you realize a major architectural change is required, and not being bogged down for months and losing interest, those are amazing, and those take experience or constant mentoring to achieve usually.

Or maybe I'm just projecting what I currently value.

Re: I interviewed at six top companies in Silicon Valley in six days

#363

Earlier quoted context omitted.

I honestly don't mean this in a snide way. Can you give a few concrete examples of how a deep understanding of BFS that can't be googled and read in 10 minutes at the time you need it can help you ship profitable software products faster than your competitors?

There is no "deep understanding" of BFS. All it is is look at your siblings before your children. I wouldn't hire an electrical engineer who complained that he shouldn't have to know Ohm's Law, either.

> All it is is look at your siblings before your children.

...And how you are keeping track of that and other such minutiae. What data structures are you using and why? And how about if X which would invalidate your approach.

Also, it's not about "knowing" it. It's about implementing it in such a way as to please the interviewers.

It's pop quiz nonsense.

Re: I interviewed at six top companies in Silicon Valley in six days

#364

Earlier quoted context omitted.

Many people on HN also complain about "I don't have time for pair programming, take home". They don't like interviews. People just expect to be paid top dollar on their word.

> People just expect to be paid top dollar on their word. And their education, previous employment, etc. No one makes a neuro-surgeon perform a surgery before hiring them.

> And their education, previous employment, etc.

Unfortunately, this seems to be poorly correlated with whether people can actually code.

Re: I interviewed at six top companies in Silicon Valley in six days

#365
post #265

Earlier quoted context omitted.

That’s a really bad take. You can work on interesting problems in organizations that aren’t causing harm. And should, if you have the option.

> And should, if you have the option. There's the kicker, no? A lot of human technological progress was made under unfortunate (to put it mildly) harm-filled circumstances, and a lot of that wouldn't have been made at all otherwise because the option to make it with a cleaner conscience simply wasn't there. However if you do ever take such a role, despite its context, even if you have a clear conscience, I'd ask to t…

> There's the kicker, no?

Not really, for almost everyone who works there. I know a few exceptions. A rare few.

Look, I'm not arguing that we go string up all facebook engineers from the nearest tree. I'm merely saying that it is in fact quite reasonable to say that you shouldn't work for a company that is actively causing harm. And that there is "cool work" being done there does not obviate that.

And yes, good research is sometimes done in bad places. That isn't a justification for joining bad places so you can do good research. Your logic is all messed up there. It's better to instead do good research at a good place.

The simple matter is most of the people who work there, are there because of the relatively high compensation, and have plenty of other better options to do equally exciting work at more ethical organizations. But maybe not quite as well paid.

So. Let's stop sugar coating that.

Look, selling out is a thing humans do from time to time. Sometimes people are even in places where making that choice is totally justifiable. But don't tell me someone isn't doing it when they are. And you shouldn't let them tell you that either. Because if we don't let them tell us that, maybe they'll have more trouble telling themselves that, and honestly, that's what's really going to be important in the end.

Re: I interviewed at six top companies in Silicon Valley in six days

#366

Earlier quoted context omitted.

This is the correct explanation; false positives are so much more expensive than the opportunity cost of a false negative.

You think people that pass technical interviews can’t be false positives? I think they weed out a few, but completely ignore practical development skills, work ethic, soft skills, design and architecture skills, etc. Of course maybe this explains why most of the big tech companies have seemed pretty stagnant for the last decade, largely failing with products and decisions that have poor execution and market fit outsi…

> I think they weed out a few, but completely ignore practical development skills, work ethic, soft skills, design and architecture skills, etc.

This is the whole point of the non-coding portion of the interview, and while it’s not possible to get a full picture of this in the short amount of time allotted, it is generally enough to throw out the obvious ones.

> maybe this explains why most of the big tech companies have seemed pretty stagnant for the last decade, largely failing with products and decisions that have poor execution and market fit outside of the products that made them big in the first place

I think this is unrelated to hiring and more a result of corporate policy.

Re: I interviewed at six top companies in Silicon Valley in six days

#367

When I was a new college grad, I felt trapped by the fact that everywhere I looked they wanted several years of experience, and I had none yet. How can I get experience if it's required to get the job? Now that I am 51, I feel annoyed that all of these stories of interviews involve asking questions about algorithms that rarely come up in real coding, and if they do you should NOT be rolling your own code, you should…

Is BFS really that hard, especially if the interviewer is willing to talk it out with you and doesn't care a lot about finding the most efficient solution possible? I've been out of college more than 10 years now, do a mix of hardware and software (so am not coding all day everyday) and I can hack together algorithms like BFS if I spend a couple of minutes thinking about it. I get that there are many awful interviewe…

I'm a data scientist, and google asked me to sum all values of nodes at each height of a tree. I had to implement the tree, bfs, and the algo (which was easy once you have bfs) in a 25 minutes, minus any talky time.

BFS is not something I thought about much in the last 5 years, and quite frankly could care less about. I got stuck when I knew I needed 'something' to finish implementing BFS, but couldn't remember and the google interviewer offered no help. What I couldn't remember was the queue.

Re: I interviewed at six top companies in Silicon Valley in six days

#368
post #225

Earlier quoted context omitted.

I recently considered a role there, on a security team no less. I've never had a Facebook account and agree that the product as-is is fundamentally destructive. However, there's some value in "running towards the fire" so to speak. Facebook does not seem to me to be fundamentally evil, just willfully blind to the problems it causes. It's probably worth a few years of someone's life to try to steer that ship in a bett…

Unless you're CxO, or joining a 5 person startup, you're not influencing anything. The WhatsApp founders had more influence that an engineering plebe would ever hope to have and still failed to change facebook's wicked ways.

My experience has been different. I'm fairly confident I've moved the needle on security and privacy at other large companies and I don't think it's irrational to think I might do so again, given the right role.

Re: I interviewed at six top companies in Silicon Valley in six days

#369
post #197

Earlier quoted context omitted.

It's because they are basically just testing IQ. It's not actually programming knowledge they care about. If a person has a CS/EE degree and has been professionally programming for a few years they probably have enough domain knowledge regardless. Then the rest of the interview is testing soft skills.

I think it’s exactly that, willingness to conform, and a very effective filter on age. I know Google does a lot of metrics on hiring. Have they correlated their practice with IQ anywhere? Guessing nothing public as that would trigger a firestorm. At the end of the day it’s just the cognitive elite trying to hire the cognitive elite.

They used to interview using the kind of brainteasers found in books like the ones Mensa used to make. The algorithms approach, I suspect, is just a CS proxy for an IQ test just like their old approach was. It would also filter for youth, which they semi-openly advertise as well (see chess literature on brain age for what I mean).

Conformance too (due to the prep time)

Re: I interviewed at six top companies in Silicon Valley in six days

#370

Earlier quoted context omitted.

No problem will present in such an easy way as "oh just apply BFS". As part of a big project you often have to use many different algorithms for sub parts, often modify them to suit constraints. I think the HN crowd is heavily inclined to web apps and also front end. I can't tell you how important fundamental CS knowledge is for backend. I bet you can't use a library or API for how caches work or when paging happens.…

I mean, I've built and released multiple mobile apps (commercial and enterprise) on both platforms for multiple companies. They've all been mostly successful at doing what the company needed them to do. They look fairly nice as well. And I don't have this kind of fundamental, "what do you mean 'google it' are you a complete and total fucking moron!?" attitude about anything in software. I routinely browse through goo…

It’s possible to have to solve issues like this even inside of app development. Think back to every time your app has performed poorly: has there been any cases where you didn’t know how to make it faster without giving up in the way you had designed it? Maybe the app was reading from the disk to populate your data model, and that was too slow? Maybe you were performing an O(n) operation for each row in your table view?
Post reply on HN