7 ms·
How many ping pong balls would it take to fill a 747? Why do you ask? What problem are you trying to solve? We want to understand your thought process I'd th
by okareaman 5y ago
How many ping pong balls would it take to fill a 747?
Why do you ask? What problem are you trying to solve?
We want to understand your thought process
I'd think it was stupid to fill a 747 with ping pong balls and think about something else
- hef19898 5y agoAlso, you need pilots. And never mind ping pong balls are highly flammable and thus dangerous goods. Maybe they want to burn down a 747?
- Hokusai 5y agoThe problem is that it is impossible to give a good answer without context. Did it matter a 2% error? There are cost limits? Maybe you don't even need to know the number of ping pong balls but it would be faster to transport them by ship....
- s0rce 5y agoIsn't the context an interview, ie. give a decent order of magnitude estimate with back of the envelope methods.
- Hokusai 5y agoOh, yes. It's about having a shared culture more than intelligence or knowledge. I know what I will answer if I wanted the job, that does not mean that it's a good answer, it just means that I have the background to know what are they looking for.
- RHSeeger 5y agoProbably, but to be fair, when a client asks "can you put a button here that sends an alert email when it's clicked?"... a reasonable first question may very well be "what is it you're hoping to accomplish here... so we can tell if such a button is really the right answer". In many cases, the button isn't the right answer. And being the kind of person that digs to find out what the problem trying to be solved actually is... can be very important.
- BizarroLand 5y agoIf you dissolve the ping pong balls in acetone first I can fit as many as you have available into a 747 with plenty of room left over for a machine to reconstitute them on the other side.
- tharkun__ 5y agoIn an interview, stopping at this might just make you not get the job. If you're lucky the interviewer will laugh and ask the appropriate followup question. It goes something like this: Haha, awesome answer. I agree with you from a business perspective it seems stupid at first. Now I can't come up with a good reason to do this, but let's say I as your Product person have convinced you with enough good reasons that it is indeed a valuable task to fill this 747 with as many ping pong balls as you can. What would you do? If you keep it at "I refuse to answer this question", you're out. If you laugh and maybe talk about your experience with Product people asking for stupid stuff all the time and then you ask some/all/other questions like these back: Is this a 747 in it's "raw" state, i.e. no seats, no overhead compartments etc, basically empty fuselage? Am I supposed to fill the wings as well (i.e. the kerosine storage areas? Is the aircraft supposed to be able to fly after this? Do I have to care about the flammability of ping pong balls? Btw. how much do ping pong balls weigh and how big are they again, just to be sure we're talking about the same thing I'm thinking of here? And the list goes on. This is just the stuff I could come up with in a minute without being in a high pressure interview situation :) One of my bosses once told me why he likes me working for him: You don't say "can't be done" you just ask back "How much can this cost?"
- swiley 5y agoYeah, unfortunately you get asked to do some pretty silly stuff all the time and being able to cope with that is a critical skill.
- tharkun__ 5y agoActually I find this a fun thought experiment that can show if you are just a code monkey or a software developer. Let's say the answer is that it's still supposed to fly (working software you are adding a feature to), so also no stuffing ping pong balls into wings and such. Ignore fire hazards and such (no edge cases for now, build an MVP). Now a plane fuselage is basically a cylinder. At one end I assume full size but there's suddenly a wall where the cockpit and such is. The other end is more "fun" because the cylinder becomes more narrow. In any case now we are probably gonna have to find a 3D bin packing algorithm for packing spheres into a cylinder, potentially its already implemented or we might need to implement it from some research paper we find but in any case it is probably a solved problem (reinvent the wheel in-house or use a library and be done with it? Is the library good enough? Is it supported or some dude in a basement wrote and abandoned it?). Just like in physics where we ignore some forces sometimes for easier calculations for example we can probably cut the narrowing cylinder into sections of one ping ponf ball width and assume constant diameter for those. The difference this make in the end either doesn't matter (80/20 rule of software development, don't gold plate it, make it good enough) or we assume that any extra balls we "miscalculated" can fit into the nooks and crannies we have ignored anyway because a plane fuselage is not a perfectly smooth tube anyway. Never mind the landing gear and such.
- datad 5y agoAn unladen 747?
- 908B64B197 5y ago> I'd think it was stupid to fill a 747 with ping pong balls and think about something else This man never heard of a Fermi estimate, or encountered one in a problem set.
- jstx1 5y agoIt's possible to know what a Fermi problem is and still think that they're bad interview questions.
- hintymad 5y agoI'm not sure I buy this type of attack. How is this different from calculating yield of a bomb as Fermi did? It's back-of-envelope calculation that physicists do all the time. Ping Pong in a Boeing is merely a setup with the least context. This is like criticizing a math teacher for asking elementary students to calculate how long it takes to fill a swimming pool when water is flowing in and out of the pool at the same time. Yeah, the setup sounds ridiculous, but you know what, that's the setup that a student understands, and we see similar scenarios in real world: a company earns and spends at the same time, a queuing system has incoming traffic and completed tasks, a factory has incoming jobs and outgoing completed products... So, what's wrong with the question again? Frankly, the fictional Feynman in the article sounds confrontational and arrogant. Take the manhole question for an example, all the counter questions are either nit picking, or rejecting the value of industrial design. Of course there is a reason for choosing a round shape for manhole cover. Of course there is a trade-off among different shapes. Please note, I'm not saying the manhole question is good for interview, but it does not mean that we need to be mean and resort to cheap attacks to make a point.
- rileymat2 5y agoThere is an interesting point in there about reverse engineering stuff, like you sometimes see in evolutionary biology and such.
- derekp7 5y agoThis is fine if the question relates to something that the candidate is familiar with. But I have personally never set foot in a 747, much less be able to come up with any estimate of the dimensions in order to estimate volume. Then there is the formula to determine the packing volume of ping pong balls. Just like the question of how much water dumps out of the Amazon river per day. Yes, I can write down a formula with a bunch of variables, but there is no way I could justify my guess of what the values of those variables are without some research ahead of time. And in reality, who wants a developer that just starts banging out code without researching the problem domain space first? In Fermi's case he already knew the inputs such as air resistance, weight of the paper, and of course knew all the relevant math formulas because that was part of his education and job.
- deanCommie 5y agoThe real problem with that question isn't that it's stupid. Everyone knows it's stupid, it's testing your ability to come up with an estimate in a domain you're not too familiar with using "napkin math". That's a legitimate skill and asset in software engineering. The real problem is that the ability to come up with a good napkin math estimate for a technical problem doesn't correlate with the ability to actually do the job to solve the problem. Ability to estimate doesn't imply engineering/programming skill. You still have to evaluate that part somehow (coding, take home test, github contributions, etc). It also tells you nothing about the candidate's ability to work with others, under pressure, collaborate in a team, and all sorts of other "behavioural" interview questions. Once you spent enough time to evaluate someone's behavioural skills, and also their technical skills, you don't have any time left in an hour interview to evaluate their napkin math skills.
- flavius29663 5y agoWhich is why companies started moving into other questions that have no relation to your job, like designing youtube. There is such a slim chance that you'll end up designing youtube at your tenure there, in a team of 2...that it's probably more likely to fill a jet with balls. Yet somehow people are not bothered by the design youtube question the same way they are about balls in a plane. It's true that the youtube version has technologies that are somewhat related to what you'll be doing, but in practice you won't have the opportunity to choose that many technologies for a single product, you'll be a cog in the machine anyway.
- thinkharderdev 5y agoYeah, I think in general people lump Fermi estimation problems in with "brain teaser" questions (which I think really are silly) because they are both technical(ish) interview questions that have nothing to do (superficially) with software engineering.
- RHSeeger 5y ago> The real problem is that the ability to come up with a good napkin math estimate for a technical problem doesn't correlate with the ability to actually do the job to solve the problem. I don't think this is true at all. There have been many times where I've estimated numbers to come up with a "scale" number ... which was important in other ways. How many servers are we likely to need? How many connections per second are we likely to see? How much memory is this likely to take up. Depending on the context in which you need to know the answer, estimating a value can be extremely useful. It can point you towards the right "group" of solutions that you should consider.
- jstx1 5y ago> I'd think it was stupid to fill a 747 with ping pong balls and think about something else This is fine as long as you understand that it's equivalent to walking out of the interview right then and there.
- pedja 5y agoUsefulness of the question aside, dismissing it as stupid is at the very least, shortsighted[1]. [1] - https://www.iusmentis.com/patents/priorart/donaldduck/ https://www.iusmentis.com/patents/priorart/donaldduck/
- conjecTech 5y agoI don't get the derision for these kinds of problems. And I think it's unlikely Feynman would have found this unhelpful. These are commonly referred to as Fermi problems. Fermi was a physicist of Feynman's generation - they were probably standing together at Trinity when Fermi did the famous yield approximation. The other physicists held this ability in such esteem they gave it a name and remembered him for it. The question is meant to gauge whether you can create a simple model of a system that is completely foreign to you, but for which you are familiar with the fundamental rules governing it. The absurdity of it serves to remove bias. You don't have to worry about whether or not the candidate happens to have experience filling airplanes with ping pong balls. So much of effective programming is creating a model for the processes we are trying to automate. Coming up with effective abstractions uses many of the same skills.
- nickff 5y agoAn interesting little tid-bit: I've read that Feynman was sitting in a truck at Trinity, and I think he was alone. Feynman calculated that the truck's windscreen would absorb enough of the bomb's UV emissions to obviate the need for additional eye protection. The same source (which I cannot currently locate) said that everyone else was wearing welding masks/goggles.
- deleted 5y ago[deleted]
- AnotherGoodName 5y agoFeynman wouldn't dismiss that question. He'd overthink it. Someone once asked Feynman which way a top spinning sprinkler would spin if it was underwater and water was sucked through it instead of pushed out of it. He got into back and forth debates with other students. He ended up using the universities cooling pond for the cyclotron to actually run the experiment. https://en.wikipedia.org/wiki/Feynman_sprinkler https://en.wikipedia.org/wiki/Feynman_sprinkler So if you asked Feynman "How many ping pong balls would it take to fill a 747?" you wouldn't receive a "Why do you ask? What problem are you trying to solve?". Instead you'd find him trying to acquire a large 747 and a whole lot of ping pong balls in order to validate his initial guess.
- wolpoli 5y agoThe correct answer really depends on what role the candidate is trying to get. An engineering person would come up with the thought process to their estimate. A business person might start asking questions about the business needs for trying to fill a 747 with ping pong balls. But someone trying to get an engineering role should think twice before trying to sound smart and replying in an out of line manner.
- falcor84 5y ago>We want to understand your thought process That's one reason, but from my personal experience interviewing, an even bigger signal is a candidate's attitude to a challenge. I've found that the best candidates tend to be those who 'own' the challenge such that they clearly get excited about solving it themselves, rather than just to please the interviewer. >Why do you ask? This is a particularly interesting question, as I'd say it's asked by the best and the worst and the best performers, the best looking to solve the underlying problem, and the worst looking to shirk responsibility.
- specialist 5y agoWhen asked how I'd do some contrived text processing task, I replied "I'd look at the wiki page for grep and futz until something worked." (Today I'd probably start with 'tldr' command.) Like I've done my entire career. Most of our job is mygyvering crap. Esp for scrubbing data. "Well, ya, that'd work. And probably what I'd do too." Next interviewer really grilled me about parsing and spam detection. For a UI job. When I explained some of the grammars I did write, for a hobby project, this "bar raiser" dismissed the effort by saying "well, that's nothing, lex/yacc did all the work." (To my overlasting shame, I sarcastically replied "Ya, and my compiler writes all my code too.") Next interviewer, the engineering manager, grilled me, repeatedly, about how I'd choose between two options, using his current dilemma as the example. (Because apparently I was interviewing to replace him.) I related my prior experiences, eg satisficing. Not good enough. Try both options? Nope. Take a vote? Naw, that'd be too adversarial. Flip a coin? Oh, please, that's not rational. I didn't get the job.
- rdtwo 5y agoThis could be a mass or a volume problem, actually there are some other things that could limit the problem statement but those are the obvious ones. But the problem is too general to solve. It really just depends on what you want to do with the ping pong balls and the airplane after you filled the airplane. That’s the critical piece of information that’s missing that should be provided. Otherwise you end up with a bunch of solutions that technically meet the problem parameters but don’t actually solve a real problem