One time an interviewer asked me "how would you go about counting the ridges of a US quarter?"
I rattled off some ideas about counting the ridges in an arc and then multiplying to get total ridges but the interviewer kept prodding and eventually ended the question and said he was looking for me to say "google it" (I didn't realize it was a known, fixed number).
I just rolled my eyes and laughed and said "Huh, good one, but how would you go about counting the ridges of a foreign coin assuming it's freshly minted and the number of ridges is unknown?" The interviewer shifted uncomfortably and just said "yeah, I'd probably do something like what you said - count the ridges in an arc and multiply..."
(i.e. "if you are going to give me bogus lateral thinking puzzles to test my competence I'm going to fire them back to see how you handle them")
Years ago Zynga asked me how would I design a vending machine for blind people which was annoying because I asked it immediately back and clearly they hadn't even thought about it themselves. But then I brought up Ian Bogost and it was a hard stop basically, lol.
edit: Is it health? Like health tracking / indication? Not all games require it but maybe in the right context this would be the most important. This is snarky but I think you could run with it (health being the most important "number").
response to your edit: Your interpretation of the question makes a little more sense. He was talking about a specific number, not a concept\variable that is common in games. For Zynga I'd probably say energy or money or something, although any tracked resource that determines loss, victory or progression would work for your version.
Edit: doing any "technical" work prior to doing research is a display of technical INcompetence.
Who is this “we”?
If I ask you "How can you attempt to get the answer to this in under a minute" or "what's the first thing you would do" and you don't say "search for existing solution" (it doesn't have to be Google), you fail. You don't have to read my mind; I want to know where YOUR mind goes first. And if it goes to anything more complicated than "I'll try to look it up" you just simply fail; I can't afford to have you wasting any more of my business' time.
Which answer is better? Which were they looking for? Who knows.
Renting a bus and filling it with golf balls is significantly more effort intensive than calculating, but it might give interesting, real world insights if the values differ.
For the purpose of running a business, the choice, to my mind, hinges on how much your revenue / customer satisfaction / product depends on the real world intelligence such an endeavour might bring. The situation illustrated is contrived, so it's hard to contrive an answer to that question.
There's hybridized approaches. Here's a 3D/AV interactive developer's contribution to your approach list:
I've used lidars and depth cameras as a hammer quite a bit over the last year, so I'd do thus - Realsense D435 capture the inside of a bus. Use meshlab to align and stitch all your pointsets. Perform reconstruction on it so you get a 3d mesh. Use your tool of choice to perform a physics simulation on golf balls (I'd probably use Unity3d, because customers love simulations they can play with.)
Run your simulation a ton of times with epsilon changes to initial conditions. Maybe even do it with an evolutionary algorithm that tries to maximize the count!
Either way, report back with a distribution. Also capture frames every once in a while so you can give them a timelapse. God customers love timelapses.
I was interviewing during the time covid started and everyone started working from home. I was interviewing with a company. I had a call with recruiter then with a hiring manager. I also got a project to work on over weekend.
Then got response something like, we really like you, but currently our hiring is suspended, we will let you know when it is back up.
Like, why did you wasted my time if you knew that I can't proceed to the on-site interview and you won't do it remotely?
Its sort of like companies doing subconscious window shopping...absolutely infuriating stuff
In this case, it sounds like the mood was right in the room for it to be taken well candidly.
Memorizing is not knowing.
The bigger the company the more variability in experiences.
So you make a decision with imperfect information. But it doesn’t really matter because even if you have perfect information through the interview that’s still an imperfect measure of how the job will be.
It’s all stochastic so the only way to get a good outcome is to iterate—guess, evaluate, try again until you find something you like.
Dunno if that was representative of Google or big companies in general but it turned me off forever.
I recently interviewed at both Apple and Amazon. None of the interviewers or recruiters at either company tried to sell me on the job and I left both interviews not wanting to work there. My theory is that Apple and Amazon don't spend time trying to sell the company because they already have more than enough willing applicants for each position. Is the same true for other large tech companies?
At least based on what I read about them (and their approach to their customers) google does seem slightly autistic (in a sense) as a company.
Don't know the policy at Google but lunch is usually intentionally supposed to be a break from the interview process. Having somebody grilling the candidate while they are trying to eat defeats that purpose.
> "I am 59 years old, I've been working with code since I was 21 and worked out how to program a significant embedded application on an Intel 8085 CPU using nothing but the manufacturer's data sheets and a simple hex keyboard and display breadboard target."
At a FAANG, nearly everybody has similar stories, so that's not particularly distinguishing.
I did about 20+ technical interviews at Google/Facebook over the last 2 years.
Overall, the interviewers were competent. Sometimes you could tell that they didn't really enjoy interviewing people but it was ok. I only had one interviewer I'd consider bad (gave confused advice to lead me to his solution), but maybe it was just a personality mismatch.
I had better experience with more senior interviewers too, and I found Facebook better than Google (although similar), on every respects (choice of questions, team matching process, more interesting projects...).
My main complaint is that I've found the whole process random. Right now I'm in the team matching phase at Google, but not sure it'll go through (and it's not the best time).
That seems like a huge number of interviews. Are you counting each interviewer as a distinct interview? Even then, that seems like a lot for 2 years!
I've had great interviews with a company, and then I've had one where the person was looking for me to say 'base64" (which I wasn't actually aware of at the time!) even though I was explaining the same exact concept from the same company. The whole process is capricious.
This is also one indication that the person is an inexperienced interviewer and their whole line of questioning is focused on tripping up the candidate into making mistakes. A good interviewer thinks along with you, helps you and is fairly satisfied if you articulate a concept "well enough".
Well this is the typical behavior towards those who cannot interview properly and has to introduce pedantic point scoring to bring people down. It would take an experience of resentment, denial or some sort of impactful rejection from the interviewer to be at the point to certainly enjoy this ego trip as an interviewer at somewhere like Amazon.
Now it seems everyone and the whole tech industry thinks they're Amazon, Microsoft or Google by asking about implementing efficient algorithms, libraries or the like yet they continue to use the slowest languages, spinning up multiple VMs or clusters at higher runtime costs and choosing Electron for software development. Unless they are also contributing to writing a production grade compiler or systems software, companies who ask these data structures and algorithms questions are doing it simply 'because of reasons'.
One thing that shocked me in discussions is that apparently interviewing incoming candidates at FAANGs has now become a mandatory performance review objective.
This is going to produce a lot of interviewers who really don't know what they are doing and don't care.
I don't know what idiot came up with this brain-damaged scheme to totally sabotage interviewing and what moron actually propagated it between companies, but I hope they die a horrible, slow, painful death.
unsurprisingly, he didn’t seem enthusiastic, couldn’t manage to say “yes” when i asked if he liked google, and didn’t know python.
That data structures and algorithm book and course is the root of so much distasteful smugness in the tech world, it's really bizarre.
[Edit]: It's almost like it was the first course we found very difficult so we should that imprint of challenge on everyone else.
I had a similar experience at Apple where my experience lined up well with the position. I felt like the interviewers were hostile - repeatedly asking weirdly pointed questions about hashing too!
To be honest, I don't think money is a good reason enough to tolerate that kind environment, I'd rather work in a smaller company paying less and build a small business on the side to increase your passive revenue streams.
Maybe things will change with faang going remote because of COVID (given one perk of small companies was their flexibility) but it looks like your salary at big companies will also scale according to your location, so I'm not too hopeful.
If you're not throwing the keyword you're a 12-year-old fanboy of in the question, you can go eat a carrot for all I care.
Google and Facebook seem to be a bit more of a consistent experience, but interviews are done generically and not by the team that would hire you.
I failed my Google interview as well but at least it went better simply because the interviewer wasn't a no show.
To be fair, it also sounds like you were conflating popular hash functions like md5 with the general concept of a hashing data structure and underlying function. Knowing that modulus operation is one approach and knowing common approaches for dealing with collisions are part of that. See: https://www.geeksforgeeks.org/hashing-data-structure/
Yes, expecting them to know that is reasonable. Expecting them to regurgitate that factoid unprompted is bullshit.
Don't inquire on a topic and expect a canidate speaking in generalities and off the cuff to overlap with your toy facts.
I'm fighting the urge to rant in the comments here on how to competently conduct a useful technical interview; but I'm more and more convinced it's a competitive advantage.
The initial interview itself was pretty straight forward, but it seemed like every answer I gave was "wrong" because the interviewer was looking for key phrases instead of understanding of the concepts. We talked about hashing, and when he asked if I knew what hashing was I said sure, its a one-way function to create a unique identifier. He asked me to elaborate, so I sorta... talked more? I remember feeling confused because I'm not sure what else he wanted me to say. Eventually he ended the question, said he was looking for me to say hashing is for "fingerprinting"
We moved on, he asked me for an example of a hash function. I said md5 or sha. He pressed further, asked about collisions and eventually cut off the line of questioning telling me he was looking for an example like the modulus function. Questioning lead further to reaching into linked-lists and the like.
Having never sat through this kind of interview I was left with a really salty taste for the process. If any they were looking for was me to rattle off some pre-determined key words then what good is the interview for? I incorrectly assumed he was gauging my familiarity with the subject rather than repeating my 2nd year university coarse which introduced shit like data structures and algorithms.
His smugness in the way he concluded each topic was just a giant turn off of ever seeking further work with companies like Amazon (giant & highly competitive software conglomerates). I feel like everyone is trying to one up or appear to be king shit in some way, it left a bad taste. (For the record, I did a couple interviews of this style before totally writing the experience off. Others were better, but this experience always stuck with me)