Earlier quoted context omitted.
A simple fizz buzz will solve for that. No need to put in algorithm questions.
FizzBuzz establishes a minimum baseline, but you need more than the ability to write FizzBuzz to be able to work at a FAANG.
Big O Notation – Using not-boring math to measure code’s efficiency
91–100 of 100 posts
Re: Big O Notation – Using not-boring math to measure code’s efficiency
#92Earlier quoted context omitted.
What's with this gatekeeping attitude? Big-O notation is a useful tool in a programmer's belt, knowing the math behind it in details is less useful. What's the problem? It's the same thing as not needing to know how an engine works to be able to use a car
That is not my point. Big-O notation is a mathematical notation. By using it, you are using math. It's the same as using a car and saying you are not using a car.
Re: Big O Notation – Using not-boring math to measure code’s efficiency
#93Earlier quoted context omitted.
Can 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.
I 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 k…
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.
Re: Big O Notation – Using not-boring math to measure code’s efficiency
#94Earlier quoted context omitted.
I 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 k…
> 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 funda…
Not really, the domain knowledge here is much more the bibliometrics stuff, which we don't need usually. What I do need is someone who knows that they can't just take any data source they find and throw the latest deep learning hotness at it and call it a day because the F score is over some random threshold.
You can absolutely use this to hire generally smart people, what you are right about is I won't be hiring people who are generally smart but have no basic understanding of any of the types of solutions they'll need to work on and with. Based on team size and where we are, that's completely fine for me right now.
I think this helps find people that:
1. Are able to talk through a problem
2. Understand the kinds of issues they may face, and discuss how to go with that (including business level work, when to / not to use humans, etc)
3. Have experience working on the kinds of problems they are going to face
The tfidf+svm example was not intended as "ah yes, they said the algorithm I wanted" but as a springboard into a further discussion. Maybe they talk about word vectors, whatever, can they explain what the pros and cons are? Where might it fail, or more importantly what would they want to test? Where do we get training data, how long might that take for reasonable quality, how do you measure that, etc.
> This is exactly how most algorithm interview questions work.
The puzzles I think they're talking about are "here is a theoretical problem, find the optimal solution". Like "you have X eggs and need to find the highest floor you can drop them from without them breaking" or the classic "implement a doubly linked list with a single pointer" despite the fact _almost nobody_ would actually implement that.
I'm talking about giving an actual issue they're likely to face and talking through it. Maybe that's "how would you implement user flow for X, given that we've got institutional customers with multiple clients" or "we need to do rate limiting and have X servers, how would you go about that?". For the latter that might go into a discussion on what the problems are with different approaches in complexity, what the cost is of letting someone exceed their rate, of cutting someone off early, etc. Those aren't really my field so maybe the questions are a bit off, but the point is can they contribute to a discussion on the way forwards on a problem which represents something they will realistically face.
Re: Big O Notation – Using not-boring math to measure code’s efficiency
#95Earlier quoted context omitted.
FizzBuzz establishes a minimum baseline, but you need more than the ability to write FizzBuzz to be able to work at a FAANG.
Sure, 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.)
Re: Big O Notation – Using not-boring math to measure code’s efficiency
#96Earlier quoted context omitted.
A simple fizz buzz will solve for that. No need to put in algorithm questions.
FizzBuzz establishes a minimum baseline, but you need more than the ability to write FizzBuzz to be able to work at a FAANG.
Re: Big O Notation – Using not-boring math to measure code’s efficiency
#97Earlier quoted context omitted.
I work at Google. I think it's half true. I would not have passed the Google interview if I had not prepared. After 3 years, I have completely forgotten most of the prep. I couldn't even implement a binary search right now. That said, I do have an innate ability for problem solving. I know another person, who has prepared significantly more than me (multiple months full-time) but still wasn't able to get an on-site i…
I get the sentiment but come on. I seriously doubt you cannot even implement a binary search right now.
Re: Big O Notation – Using not-boring math to measure code’s efficiency
#98I've noticed there are SO many of these "coding interview prep" courses lately. Like, obviously it's a hot job market, but there's just so many and of a certain vibe that it seems like some are selling a dream. There's a common narrative too, that it's all about algorithm question prep and it's a "game" you can win. One youtuber who recently landed a ~$275K TC gig said it's not about being "intelligent" it's about pr…
> I've noticed there are SO many of these "coding interview prep" courses lately. Like, obviously it's a hot job market, but there's just so many and of a certain vibe that it seems like some are selling a dream. It's akin to the Fitness world. There are tons of people selling proteins whey, their fitness apps, fitness set "reps", etc. Can't blame them, they're selling what people want.
Re: Big O Notation – Using not-boring math to measure code’s efficiency
#99Earlier quoted context omitted.
FizzBuzz establishes a minimum baseline, but you need more than the ability to write FizzBuzz to be able to work at a FAANG.
Do 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.
In my experience, all the questions I was asked were fair game - all of them were about implementing a toy version of a real-life feature (simplified for the time constraints of the interview). All of them felt like "yeah, a competent engineer should be able to do this".
Re: Big O Notation – Using not-boring math to measure code’s efficiency
#100Earlier quoted context omitted.
Do 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.
I've never been asked to "invert a binary tree" while interviewing at Google, or anything of the sort; later, as an interviewer myself, these kind of questions were forbidden. Everyone knows they're stupid, and they've been forbidden for a long time. I'm starting to believe this is either a persistent myth, or something the other companies, but not Google, does. In my experience, all the questions I was asked were fa…
There's no question that a competent, well-rounded programmer should know about these algorithms' existence and when to use them. But whether testing if said programmer can implement them from scratch during an interview... that's a million dollar question whether these questions provide optimal outcomes. Anecdotally, yeah, sure, I did these things. In S/370 assembler at that. But did I use 90% of them since then(and that was when Apple was the only FAANG in existence)? No. So I think the feeling is that this kind of interview tests not so much how good, or experienced, or what not, you are at programming but rather how desperate you are to work at that kind of company to spend a good amount of time memorizing algos and data structures you've learned and forgotten years ago.