Live data from Hacker News

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

blog.usejournal.com

481–490 of 740 posts

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

#481

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…

As someone recently interviewing I targeted roles where I didn't have to jump through these hoops and it worked out fine. Contacting people I had worked with before who could vouch for me made it much easier to land a job.

The top companies with these leetcode tests probably don't care that good people being rejected or avoiding them because of the amount of preparation required. Middle sized companies and startups doing leetcode tests are missing good people and probably can't afford the same number of false negatives as someone like Google with an endless supply of candidates.

I would much rather spend a weekend doing a take home test and showing how I actually work than being asked to write irrelevant code on a whiteboard. I think leetcode style interviewing is driven by time constraints of the interviewer and some more effort and thought needs to be put in on how to choose people based on the specifics of the actual role they are hiring for.

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

#482

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…

While I agree with you on the non-algorithmic coding skill being more important in most of the scenarios that an coder deals with at work, I feel having basic understanding of algorithmic skill is important as well for coder success. Interview should test basic algo skills along with other important skills, but when I put myself in interviewers shoe I realize how difficult its is to test on real coding challenges as every company has its own sets of tools and techniques that they use and prefer. Testing it would require first detailing coder on companies present tech culture which is a difficult for a code to get in short duration.

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

#483

Earlier quoted context omitted.

> I cannot spend hours and hours studying up on these algorithms, there are much more important things (real coding-related things) which I need to learn about, to the extent I have time to do that. Are "real code-related things" really much more important if it only takes hours and hours to learn something that might get you an offer at one of these companies? Perhaps those hours and hours are actually far more valu…

Reminds me of the old phrase, re: academia: "The competition is so high because the stakes are so low." There is something really weird, at least to me, in working so extraordinarily hard to prove yourself worthy of serving someone/some company. But that's just me.

Money and prestige my friend.

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

#484
post #188

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?

Do you spend 5-10 minutes googling and reading about the Linear Search algorithm[0] every time you iterate through a list and have a conditional to do something if an element matches some criterion? BFS, or a generic graph search (could be BFS, DFS...), is essentially just linear search except each element can have 0-n direct next elements, instead of 0 or 1. It's not this hard thing that never comes up... Indirectio…

Can you give a concrete example of when you actually use BFS to solve this?

For me, it always goes like this:

* Am I iterating over a list multiple times?

* Am I iterating over a list and comparing it to some elements in another list?

Turn one of them into a map and continue. It's pretty simple.

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

#485
post #202

Earlier quoted context omitted.

Eh, that's borderline conspiratory. I work at one of those companies and know for a fact that many coworkers have kids and sometimes have to leave early or get in late due to kids' doctor appointments and whatnot. Besides, in addition for it being illegal to discriminate candidates based on marital status, in my experience nobody that does interviews ever thinks of considering that as a hiring criteria.

It happens all over the place all the time, if you don't stay late you're "not a team player". Of course your employer isn't going to say you're fired because you're a parent, unless their attorneys are bored. That doesn't make it any more moral to discriminate based on proxy metrics, like how much of your life you're willing to donate to an entity that cares about you only to the extent you're making them profit.

I mean, nobody goes to an interview and asks "hey how late do you work in your current job?", so I don't understand how it is possible to discriminate by proxy metrics at that point in the process.

Maybe you're arguing that people leave their jobs after the fact due to thinly disguised rationalizations of these proxy metrics affecting raises, but that's a huge stretch. I've seen plenty of cases of bosses and coworkers being understanding of personal circumstances (and I'd go as far as saying that is more so here in SF than at previous jobs in Canada) and I've yet to see these alleged backstabbing evil brogrammers. Saying that a company likes this or that is also anthropomorphizing something that isn't sentient and strikes me as a strawman.

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

#486

Earlier quoted context omitted.

Bfs is just one of examples. I can ask you a question you will not be able to answer without knowing the answer. There is a reason it took researchers years to find those optimal solutions

This is such a cop out. It took millennia to invent 0. That doesn't mean that 0 is an exceedingly difficult concept to grasp.

Cakes have existed for centuries and I'm sure most people on HN have made cakes at least once in their life.

But put them in a room and say "Make us a 2 layer red velvet cake" with no access to a recipe, and you're not going to get a red velvet cake. It's an easy recipe that most people easily recognize with just a glance, and anyone could make it if they have a recipe on-hand or make red velvet cakes with abnormally high regularity. But most people, even if they're great chefs otherwise, will fail.

Recognizing that a concept exists and implementing a relatively complex concept are different things.

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

#488
This only covers getting the interview and potentially succeeding at it.

It doesn't cover:

- how many hours a week will be worked

- how much stock options are on offer

- what other benefits there are

- what's the total compensation package like

- what skills will be gained

- what is the office environment like

Most of those "top" companies can be skipped over as places to interview at because they aren't very good on the above topics.

For example, interviewing at Facebook in 2018? After the Cambridge Analytica scandal? (which was in March 2018 according to Wikipedia https://en.wikipedia.org/wiki/Cambridge_Analytica ) Even millions of dollars of compensation wouldn't be worth interviewing at Facebook during that time, not until they get their house in order. Even Google has privacy and ethical issues that make it a less-than-desirable place to work at.

Amazon also has a culture of working a lot, maybe that's fine for someone just getting started in their software development career, but for most people, it isn't great to be working so many hours.

So 3 of the interviews didn't even need to happen; he could have concentrated on acing the other half of interviews (Apple, Yelp, LinkedIn)?

Also, fundamentally, he's interviewing for jobs where he will be told what to do and will either have to job-hop to get better salaries and better positions or spend 3-4 years at minimum to work up the ladder. So selecting Apple, Amazon, Google, etc. is actually a tough choice because you have to kinda plan for the next 5 years if you want to ensure you aren't wasting time and are actually advancing in your career!

It's a great start for an article but feels like a dime a dozen at this point (I've been reading about SV startups since highschool and Paul Graham's essay): if you want to work at a top SV company, no matter which is at the top at the moment, you'll have to jump through the algorithm interview questions hoops.

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

#489
post #281
post #251

Earlier quoted context omitted.

Provided references are at the core the worst way to judge if someone can do the job and the laziest way. If you want to rely on references you have to get them yourself through background check or the risk of gamification is huge. Get a sense of the projects they have worked on if those skills relate to the position. Make a decision based on that. Random coding tests, whiteboarding, buzzword dropping are only helpfu…

Good points - provided references are shit, simply because they can be gamed. If you work for me and I dislike you but don't have the courage to pull out the fire hammer, I can give you a great reference. If I really like you because you're extremely good (and make me look good), I can give you a horrible reference and hold onto you. However, OP was talking about internal references. This would be a situation where I…

What? Is this just conjecture? If you give a bad reference to an employee you are directly putting you and the company in harm's way in terms of litigation. Usually, you just don't give a reference other than confirming tenure existence and duration if you won't go into positive detail.

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

#490

Earlier quoted context omitted.

Honestly, it sounds like you may be geared more towards software architecture rather than software development. If you like the sound of the bigger picture more than the details, it might be something you could look into.

Is it possible to even get into software architecture without pretty significant experience? From my experience in the workplace anybody making purely architectural decisions without having to implement them is a team lead or higher in the organizational architecture.

Not sure it would happen that way out of choice, but the role can get unexpectedly thrust upon someone, experienced or not (Think startups, desperate to make ends meet with a handful of inexperienced engineers...or even at medium sized companies, remember back when Google had "20% projects"?). At startups especially though: they don't have money to go out of their way to hire an overpriced "experienced software architect"...

It goes something like: "Hey, new Engineer, I need you to work on experimental feature X". - Then the engineer builds system Y to provide feature X, probably poorly architected and not scalable, not expecting it to go anywhere. Some months later, app containing feature X gets distributed to thousands of users, or goes viral and hits millions of users.

Congratulations, like it or not, you have now become the lead architect of the now-widely-deployed "experimental" system Y, and you are going to either crash and burn or become a damn good software architect by maintaining it out of sheer necessity. Later, you find yourself putting "Lead Software Designer" on your resume, having earned that role and title.

A lot of successful software was originally designed "by mistake" and grows far, far greater than its original purpose. And in contrast, you get the well-designed software that was properly architected, but never goes anywhere because it never saw the light of a successful deployment at scale.

Post reply on HN