Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> How would you guys answer this one?

I've had it twice. The first time, with Google, they were genuinely interested to know how deep I could go, so I talked about DNS, TCP, SSL, HTTP etc, but I also talked about application event loops and keyboard drivers and interrupt handlers.

The second time, with Rackspace, I presumed they want the same, but they were a bit bewildered and wanted to keep it higher level (protocols only).



I sort of hope someday to be in an interview where they ask that question. I'm pretty sure I could go an hour straight on it. Possibly two. Obviously, they won't let me. But still, it ought to be fun... I'll probably get stopped somewhere around the CPU trying to figure out which layer of cache the kernel's event handler is in, if not before....


Come interview at Facebook for a Production Engineering position[1]. I bet you your interviewers will push you at least that far or I'll give you a free lunch[2]. Even if it's just for the interview experience.

[1] I work there and love it. My contact details on my user page. [2] I'll give you a free lunch either way. No purchase required. Void where prohibited.


Can you recommend how to learn this? I don't work with the web or networking, and would like to shore up that part of my knowledge. Are there any good books that gives the high-level overview of it all?


I find that the best way to learn it is to start poking at it. Fire up Wireshark, load google.com, and take a close look at the traffic. You'll see every packet going back and forth, and can try to figure out what each one of them is. Set up a proxy that can MITM the SSL connection, and look at the contents of the packets. Just setting that up will probably tell you a lot about how it all works, and you'll be in a better position to see the plaintexts of all of the handshaking traffic.


The first question has had a semi-famous answer from this post in 2011: https://plus.google.com/+JeanBaptisteQueru/posts/dfydM2Cnepe I'd be interested to know what if any books people recommend as well, though my own strategy is when encountering a black box, and desiring to learn about it, I learn about it using whatever resources I can find to make it transparent (often revealing many internal black boxes...). Occasionally online I'll find someone who made really good visual diagrams that help summarize a thing that I might not have found otherwise in a book, e.g. http://code.google.com/p/corkami/wiki/ELF101 or http://brendangregg.com/linuxperf.html




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: