Live data from Hacker News

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

blog.usejournal.com

371–380 of 740 posts

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

#371

So people are complaining that whiteboarding is the wrong way to interview. That we don't discover if they can write and maintain complex software system, instead focusing on 'trivia'. I don't disagree (I think that the trivia being tested can be important - a team with no one that has deep knowledge of data structures of algorithms is lost), but I also don't know a good way to interview that finds out what we need t…

[deleted]

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

#372

Earlier quoted context omitted.

I just graduated, so I'm not dealing with constant internship interviews anymore, but at the time I absolutely hated it. My frustration isn't exactly like yours (my time is probably a lot less valuable). I feel that the questions are all geared at puzzle solvers. If you're a puzzle solver, you love answers. You love digging into the details. You love finding out the basic components of a system. I think these are the…

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.

If you can't handle simple data structures problems you need to stay far, far away from software architecture.

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

#373

Earlier quoted context omitted.

I was recently asked to identify pages in our 10 million line application that use a certain piece of business logic. It involved parsing the page and their nested subcontrols into a tree with by doing a modified BFS on the linked files, doing a modifed BFS on the tree to identify the related code behinds, parsing the C# from the codebehinds into a tree, and traversing the C# tree (again with a modified BFS) to find…

Right, but you used libraries to do it, right? You didn't actually need to know how BFS works, did you? 10 million lines of code fits in RAM pretty easily. You could use the worst algorithm in the world and still complete that whole task with just a few seconds of compute time. I think that's the point. You don't really need to know about BFS in most cases, because in most cases you can solve the problem with any old…

> Right, but you used libraries to do it, right? You didn't actually need to know how BFS works, did you?

For BFS? Almost never, no. Libraries are generally useful for reference implementations data structures and algorithms that work on collections; I have yet to find an algorithm that works well for graph problems or when you need to subtly tweak the data structure (for example, a binary tree that counts the number of elements on its left and right). The issue with libraries is that they are built for the general use case, and a lot of time in the real world it is non-trivial to transform your problem into the format that the library will expect, so you end up having to do this yourself.

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

#375

Earlier quoted context omitted.

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.

> And how you are keeping track of that and other such minutiae. What data structures are you using and why?

This is a good question, IMO, because it tests “I need to do this, which data structure would work well for it”, which does come up often in real life.

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

#376

Earlier quoted context omitted.

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.

Programming is exactly about handling such "minutia". It's a totally fair question.

As for pleasing the interviewers, of course it is about pleasing the interviewers. They're making the "buy" decision on the talents you're "selling". Of course the seller needs to please the buyer to close the sale. I don't know how it could work any other way.

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

#377

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…

I just graduated, so I'm not dealing with constant internship interviews anymore, but at the time I absolutely hated it. My frustration isn't exactly like yours (my time is probably a lot less valuable). I feel that the questions are all geared at puzzle solvers. If you're a puzzle solver, you love answers. You love digging into the details. You love finding out the basic components of a system. I think these are the…

I am like you. For me, the solution has been build something and show it off. Building a great and useful app rarely requires Herculean feats of logic and puzzle solving.

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

#378

Earlier quoted context omitted.

I just graduated, so I'm not dealing with constant internship interviews anymore, but at the time I absolutely hated it. My frustration isn't exactly like yours (my time is probably a lot less valuable). I feel that the questions are all geared at puzzle solvers. If you're a puzzle solver, you love answers. You love digging into the details. You love finding out the basic components of a system. I think these are the…

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.

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

#379

Earlier quoted context omitted.

I was recently asked to identify pages in our 10 million line application that use a certain piece of business logic. It involved parsing the page and their nested subcontrols into a tree with by doing a modified BFS on the linked files, doing a modifed BFS on the tree to identify the related code behinds, parsing the C# from the codebehinds into a tree, and traversing the C# tree (again with a modified BFS) to find…

Right, but you used libraries to do it, right? You didn't actually need to know how BFS works, did you? 10 million lines of code fits in RAM pretty easily. You could use the worst algorithm in the world and still complete that whole task with just a few seconds of compute time. I think that's the point. You don't really need to know about BFS in most cases, because in most cases you can solve the problem with any old…

I can tell you really don't know what you're talking about because you can't just "use libraries to do it". You can use a library to parse a given input, but you need to traverse the tree in a specific way. Here, I'll give you an example of the first step of the problem with proprietary info stripped out. https://gist.github.com/tohsa/2d906942f8712abdfc7df72128479c... You plain and simple need to know BFS to do these sorts of things. You're acting like its some act of algorithmic wizardry when its not.

It's not a question of speed. It's the fact that tree traversals are the best way to analyze parsed text. Although, it was quite resource intensive and we ended up distributing the workload among multiple computers so we could scan all pages at once. Luckily this was easy because pure functions are trivially parallelizable.

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

#380
post #127

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…

What does it mean for a company to be "fundamentally" evil or not? The "fix things on the inside" argument for going to working at a place that you think is harming people has always struck me as based upon a mostly unfalsifiable assumption: that the organization has the capacity to change and that you can actually bring about that change. This is especially unknowable until you've actually worked at an organization…

I've never seen 'fundamental evil' in real life. Just people who don't care, who care too much, or who are not clear headed. That's enough to go pretty deep into the pit without adding 'evil' to the mix.
Post reply on HN