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…
I interviewed at six top companies in Silicon Valley in six days
371–380 of 740 posts
Re: I interviewed at six top companies in Silicon Valley in six days
#372Earlier 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.
Re: I interviewed at six top companies in Silicon Valley in six days
#373Earlier 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…
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
#374Re: I interviewed at six top companies in Silicon Valley in six days
#375Earlier 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.
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
#376Earlier 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.
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
#377When 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…
Re: I interviewed at six top companies in Silicon Valley in six days
#378Earlier 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.
Re: I interviewed at six top companies in Silicon Valley in six days
#379Earlier 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…
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
#380Earlier 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…