That's part of the point of the question - which part you go into detail on is a pretty good indication where your strengths lie. Someone who spends a lot of time on DNS and SYN/ACK is probably a low-level networking guru, and the rest of the interview should be structured accordingly. Someone who immediately jumps into HTTP requests, HTML parsing, and stylesheet application is probably a web developer, and the rest of the interview should be structured accordingly. Someone who talks about the enter key firing off an interrupt that the keyboard device driver handles and puts into a message queue for the windowing system's event loop to handle is a low-level desktop OS person. Someone who talks about the browser retrieving the event from the window loop, dispatching it the urlbar's hwnd, and kicking off an HTTP request is a Windows application programmer.
The advantage of this over just looking at someone's resume is that you can tease out areas of strength beyond someone's particular work experience, so that if eg. you get someone who's been stuck doing Win32 programming his whole life but has managed to teach himself a bunch of web technologies on his own time, he can talk intelligently about the browser's style rendering. It can also identify areas of cross-training, eg. the bulk of my professional experience is in web development, but I know enough about how the other layers of the stack work to write this comment.
At least in my line of work, the big gist of that question is: "Can this person summarize a technical issue in a comprehensible way for the audience? e.g. So that it could be passed through various sales teams and project managers, but is still sensible when it lands in the client engineer's inbox?"
The correct answer starts along the lines of "How hard should I geek out?"
What if I can go from matrix scanning algorithm used by keyboard controllers firmware, usb descriptors used (hierarchy, order, meaning of fields, direction), kernel (usb driver, keyboard driver), system (windows keyboard event), program (event loop, logic, tons of stuff here to decide what to do), back to system (dsn query, cache or network driver), network(can start on 4th osi layer and go all the way to 1) .... up to the part how mighty Google cluster identifies you even when you are not logged in and browse in private mode with no cookies, concluded by the statement that clicking enter begins your adventure of being a product Google sells? Every step of the way from sub 10 millisecond (usb polling, in reality nothing happens when you press enter :P) up to three months in the future (Googles earning report).
edit: Doh, finally clicked on github link, and its just what I wrote, but crowd sourced.
It isn't entirely unconceivable that a site may use browser fingerprinting to track you even when not signed in by associating your unique browser fingerprint to your account.
browser fingerprinting is old school and almost outdated by now
All Google needs is few hours of your online activity to associate a fresh newly installed system / browser / ip with a trace of crumbs you usually leave on the network, your 'online routine' - often visited pages, order of visits, time of day, time stamps, all thanks to ever present adsense. Not to mention everything you type in the Chrome address/search bar is reported back to the mothership one letter+timestamp at a time in the name of instant search/autosuggestions/autocomplete (keystroke dynamics), Google knows most common mistakes we make when entering urls/words (limited stylometry), Google has a whole warehouse of stylometry data inside gmail.
Everyone is doing it, Google, FB, Amazon all have acres of server farms grinding such data. Google even offers free DNS servers just to collect more of it. Small companies offer free url shorteners, image hosting, all great sources (who you share with, how popular you are, how far it reaches, for how long). Six degrees of separation etc, everyone wants to know your interests, ip, os, browser, email, phone numbers, address, friends, contacts, social graph influence. The more data sources the easier to correlate and aggregate. Just an example of visible usage - Amazon will give you different price depending on who it 'thinks' you are.
associate a fresh newly installed system / browser / ip
with a trace of crumbs you usually leave on the network
Again, I totally agree this is possible, but I haven't seen any evidence that they're doing it. If they were doing this they'd be using it for something, but it's not visible in any of the public products. For example, the company in the article you linked to, Drawbridge, talks about cross-device tracking as something they could sell to advertisers.
Everyone is doing it, Google, FB, Amazon all have acres
of server farms grinding such data.
"Everyone is doing it" is very different from "everyone is in a position to do it". If you have some evidence that a big reputable company, like the three you mention here, actually is "identifying you even when you are not logged in and browse in private mode with no cookies" I would love to see it.
Google even offers free DNS servers just to
collect more of it.
The privacy policy for Google's DNS [1] says "Google Public DNS does not permanently store personally identifiable information." Do you think they're not following the policy?
Amazon will give you different price depending on who
it 'thinks' you are.
Really? Some looking turns up Bezos saying "We've never tested and we never will test prices based on customer demographics." [2] (Even then, dynamic pricing is way less invasive than trying to connect User-A to User-A-In-Incognito-Mode.)
> That's part of the point of the question - which part you go into detail on is a pretty good indication where your strengths lie. Someone who spends a lot of time on DNS and SYN/ACK is probably a low-level networking guru, and the rest of the interview should be structured accordingly.
Hmm, interesting, I had not thought of it that way. I'd probably start talking about the debouncing logic in the keyboard microcontroller, but I'd not want to be pegged as an embedded systems guy, because I could talk about all the other layers as well. If I run into this question I think I'd just ask what level of detail and which areas the interviewer would like to focus on.
I started thinking about the sensory transduction in the right pinky that culminates in the prediction of a class of visual gestalt in the temporoparietal junction.
> Someone who talks about the enter key firing off an interrupt that the keyboard device driver handles and puts into a message queue for the windowing system's event loop to handle is a low-level desktop OS person.
The advantage of this over just looking at someone's resume is that you can tease out areas of strength beyond someone's particular work experience, so that if eg. you get someone who's been stuck doing Win32 programming his whole life but has managed to teach himself a bunch of web technologies on his own time, he can talk intelligently about the browser's style rendering. It can also identify areas of cross-training, eg. the bulk of my professional experience is in web development, but I know enough about how the other layers of the stack work to write this comment.