10 ms·
It depends on the company, but most of the FAANG company (and others that try to imitate them) interviews come down to how quickly you can get the optimal solut
by dntrkv 7y ago
It depends on the company, but most of the FAANG company (and others that try to imitate them) interviews come down to how quickly you can get the optimal solution on the board. It has very little to do with how well you can code day to day.
Most interviews have 4 sessions broken up in the following manner:
1 hour: coding
1 hour: coding
1 hour: lunch
1 hour: system design
1 hour: cross-functional
In my experience though, the first two are the ones that really make or break candidates, if you don't pass both, you're not getting hired. And yes, most of those interviews just test your knowledge of how quickly you can figure out the right data structure and algo for the question at hand. And even if you know all of the data structures and the applications of each, it can be incredibly difficult to solve the problems in the allotted time.
The other funny thing is that your previous experience doesn't do anything for you other than maybe getting to skip the technical phone screen. Everyone goes through the same process. e.g. https://twitter.com/mxcl/status/608682016205344768?lang=en https://twitter.com/mxcl/status/608682016205344768?lang=en
On the bright side, it does look like many companies are now realizing this isn't a great way to evaluate someone's ability and are beginning to incorporate more practical exercises.
- mevile 7y agoWhere I work we give people real problems to solve during interviews. We have a great team that gets a lot of work done. In hiring we put emphasis on practical expertise with the tech we use and the problems we face and not academic puzzles. There's immense value in having a strong computer science background and I feel we've had success being able to get a sense in our candidates where they stand without the standard whiteboard hell other companies put their candidates through.
- abalone 7y agoCan you give an example problem? I wonder how rigorous non-algo challenges can be inside of an hour. Or how you would “get a sense” of CS fundamentals without algo tests.
- IanCal 7y agoI can do one quickly. I need to take affiliations from papers and work out which organisation(s) they're talking about. How would you solve this problem, assuming the affiliations are already extracted for you? What are the top level concerns, how do you break that problem down, how might your problems scale, etc. There's a lot of questions I'd expect to get to, and this should be something done along with the team kind of like we're all working on the problem together. I find it useful to see how well people can talk through the problem, it can lead easily into questions about licensing and rights of reuse, types of errors, etc. If they suggest an approach they've used before, can they explain likely failure cases / benefits? Are there workarounds, detection methods? For example, if you're doing text classification then tfidf+svm is a solid first thing to try, and there's easy ways that can fail which we could talk about. There's a lot of that you can cover in an hour, and it tests whether someone can explain a potential solution to the team effectively, just as they would have to on a day-to-day basis. We can bring up specific types of problems that we face within it, what we've tried, and we can constrain the problem more or lead someone to starting points if it's a bit overwhelming. edit - I guess this would fall under some data science fundamentals, but the approach I think works for CS fundamentals. What data structures could you use? What are the tradeoffs? It's not about finding the one optimal solution, but about how to proceed.
- abalone 7y ago> For example, if you're doing text classification then tfidf+svm is a solid first thing to try This is screening for specific domain knowledge (text processing) not general programming aptitude. That's ok if you want specific kinds of prior knowledge on Day 1 but it is not a way to hire generally smart people. > I guess this would fall under some data science fundamentals, but the approach I think works for CS fundamentals. What data structures could you use? What are the tradeoffs? It's not about finding the one optimal solution, but about how to proceed. This is exactly how most algorithm interview questions work. I'm trying to understand what the OP meant by "real problems" not "academic puzzles". It sounded like they avoided hard algorithms yet "got a sense" of CS fundamentals somehow.
- 7y ago
- spraak 7y agoI wish the usage of FAANG would die. Firstly it exlcudes obvious others like Uber, Microsoft, etc. Secondly, and purely aesthetically, it sounds silly. I hereby propose we call such companies the Big N, and I'm definitely open to other ideas.
- JudgeWapner 7y agoMore generally, why do we have such a fetish for acronyms in general? Is it some kind of insider feeling to know a "code" for a thing?
- spraak 7y agoAn insider feeling is a strong likelihood
- nothrabannosir 7y agoPattern recognition and aversion to repetitive behaviour on a micro level. Ironically oblivious to the repetition on a macro level that is most of our entire lives, but that’s another story :)
- arethuza 7y agoBrevity.
- xenihn 7y agoDo Uber and Microsoft pay as much as Facebook/Apple/Google/Netflix/Amazon? The acronym exists for a reason. I think Amazon only makes the list because of how well their stock performs, but it still deserves to be on there because of that. The only large company I can think of that matches or even exceeds the offers those companies give out is (surprisingly) Snap. If we go smaller, Airbnb and Pinterest are up there too, but they don't have nearly as many employees or open positions.
- spraak 7y agoIt's wildly misused if the reason that it exists is pay. Even the parent to my comment is talking about interview process; I doubt that varies much from any of the "FANG" companies vs. Microsoft, Uber, etc.
- eridius 7y agoI wish people would stop quoting that tweet. mxcl doesn't know how to work at a big company. He failed miserably at Apple as a result, and he would have done equally as badly at Google. The success of Homebrew has more to do with product fit than actual technical ability.
- hello_moto 7y ago> The other funny thing is that your previous experience doesn't do anything for you other than maybe getting to skip the technical phone screen. Everyone goes through the same process You could also argue that this is fair chance between those who just came to the field. > On the bright side, it does look like many companies are now realizing this isn't a great way to evaluate someone's ability and are beginning to incorporate more practical exercises. It's the other way around: many more companies are incorporating Leetcode style interviews as their first "filters" either via online test or quick on-site. Here's what happened: it used to be the case that only these FAANG companies have the resources and the know-how to either create these "trick" questions or picked a few from their favourite Algorithms book "exercise" part. These days thanks to many "algo" challenge websites (like InterviewCake.com) that not only provides questions but also correct, detailed, and optimized answers, it is getting easier for employers to just pick a random ones and use that as interview materials.
- gameguy43 7y agoThis is the first time I've heard this characterization of Interview Cake as making the Google-style whiteboard coding interview accessible to small(er) companies. It /might/ be /somewhat/ true. But I'm skeptical. Anecdotally, when I started Interview Cake 6 years ago it was already true that most small companies my friends and I interviewed with were using these sorts of data structures and algorithms questions. The handful of exceptions were mostly companies that were outside the "scene" (usually because they weren't in SF or NY).
- hello_moto 7y agoI live in a hi-tech city outside SF/NYC and I can confirm that many companies in my area filter candidates using questions straight from leetcode. This was not the case 5-6 years ago.
- ggambetta 7y ago> most of those interviews just test your knowledge of how quickly you can figure out the right data structure and algo for the question at hand Not sure that's true. Just a few days ago someone was commenting here how they were a frontend developer with a few years of experience, yet they didn't know what a for loop was. These interviews aren't about how quickly you can figure out the right data structure, they're about separating developers from "developers".
- throwaway2016a 7y agoA simple fizz buzz will solve for that. No need to put in algorithm questions.
- ggambetta 7y agoFizzBuzz establishes a minimum baseline, but you need more than the ability to write FizzBuzz to be able to work at a FAANG.
- drngdds 7y agoSure, but there's a huge difficulty range between Fizzbuzz and that "come up with a dynamic programming algorithm on the spot" crap that Google and friends like to do. (And that range includes problems that are actually relevant rather than algorithms class homework.)
- ggambetta 7y agoYep, agreed. Fair enough.
- Fins 7y agoDo you really need to be able to "invert a binary tree" to move a button in gmail to an even less convenient location? It's not even that you need to know all those things to work at many positions in FANGs. It's about making sure that someone who can do that does not, God forbid, go somewhere else and does something actually useful for the humanity.