Hacker News new | ask | show | jobs
by ohthehugemanate 2853 days ago
"what happens when you type api.example.com and press enter?"

This has been one of my interview questions for years. Take a minute to speak your answer aloud. Do it now, I'll wait.

It requires walking through several layers and subsystems. Really a great question for exposing how the candidate models a complex system. The best part, as an interviewer, is seeing how deep the candidate goes down the potentially infinite rabbit hole.

The most entertaining answer I've received started with the electrical contact in your ENTER key sending the key code through USB. He briefly digressed into the pinout of PS/2 vs USB, and continued in that fashion.

7 comments

there's at least one collaboratively edited doc about this standard interview Q; see https://github.com/alex/what-happens-when
Interestingly enough this only ever attempts to answer the technical part but doesn't consider the electrophysiology and psychology of it. What happens in your brain when you start typing each letter? And in your arms and fingers? And your memory? What if you have dyslexia? Or Parkinson's? Or dementia? What if your primary language is Swahili? And so on.

This question can truly be incredibly interesting.

Yeah, I could have sworn I saw an alternate version of this what-happens-when wiki which spent more time describing "your brain sends signals which are interpreted as follows …"

But I didn't come up with it in a quick Web search and thought maybe I had dreamed it.

Awesome, thanks for posting this
>"what happens when you type api.example.com and press enter?"

That's easy.

Bash checks all the directories as listed in my $PATH, doesn't find it and then prints "api.example.com: command not found" on the screen.

If you want me to tell you how a bluetooth keyboard works you're going to need to pay more than a sysadmin's salary.

Please don't take offense, but there are plenty of people in the world, who know the intricacies of Bluetooth, know the intricacies of how a keyboard send signals, may even know the pin out of PS/2 and USB, yet make no where near what people holding the title "Site Reliability Engineer" or "DevOps Engineer" do.

There are some poorly paid electrical engineers in the world. There are overpaid under educated sysadmins in the world as well.

wouldn't it check for aliases and functions first?
Type in what? A text editor? Bash? A browser? An app?

I could see myself getting started on a big tangent, and the Interviewer listening politely, then responding with "you're over thinking it; a new line is inserted and the cursor moves to the next line."

I think I would appreciate the tangent and see where it went, time allowing, as it still offers insight into your thought processes and depth of knowledge. If the tangent goes to far afield, you can always guide it back with additional leading questions...
Come on, the question is clearly about a browser
I don't see anything clear about it being a browser. If you want to ask silly questions like this, expect silly responses. There is a zillion ways to answer this question, I imagine the idea here is just to see a persons thought process, and not being 100% accurate.
This has become my least favorite question to answer, partly because the rabbit hole is too deep for a limited amount of time, and mostly because it has so little to do with the job I'm interviewing for. It also feels so tedious, having answered it so many times before. The hardest part about answering this question is not sounding or looking like I just want it to be over, already.

> Really a great question for exposing how the candidate models a complex system.

The question could do that, if the interviewer is sufficiently interactive and asks the candidate to explore or explain, but I have yet to experience it. Every single time I've answered the question, the interviewer just sits and listens.

Am I really exposing how I model anything when I'm giving what's now a pretty rote answer, colored by years of reading postings about it?

When I had to answer a question like that, I'd give a bit of detail about each stage and then ask if the interviewer if they wanted me to talk in more depth or go on to the next stage.
Holy shit. The most detail I know is the calculation of IPaddr from physical address.
A former boss of mine was like that. It's fascinating to hear him speak.