questions asked during network engineer interview

Michael Thomas mike at mtcc.com
Tue Jul 14 20:08:38 UTC 2020


On 7/14/20 12:32 PM, William Herrin wrote:
> On Tue, Jul 14, 2020 at 12:17 PM Michael Thomas <mike at mtcc.com> wrote:
>> On 7/14/20 12:09 PM, William Herrin wrote:
>>> On Mon, Jul 13, 2020 at 3:12 PM Mehmet Akcin <mehmet at akcin.net> wrote:
>>>> I am hosting a live show a few times a month about internet infrastructure and today's topics were, your favorite questions asked network engineers - you can watch the recording here
>>>>
>>>> https://www.youtube.com/watch?v=o3pvikTrF0M
>>>>
>>>> if you have suggestions on topics to cover helping network operations engineering that you want to see in here, please feel free to contact me off-list, and let's create unique content that can be helpful to others.
>>> "What happens when you type www.google.com in your browser bar and hit
>>> enter?" is one of my favorite questions. Half the field of computing
>>> happens next. Keyboard interrupts fire. Bits are poked in dram, sram,
>>> maybe even tcam. Packets are sent. Fonts are composed into pixels.
>>> There's a crazy amount you can talk about and the right answer is:
>>> string things together in order for 5 or 10 minutes without getting
>>> anything horribly wrong.
>> Oh, I thought this was a trick question of whether it takes you directly
>> to google, or does a search.
> That's a good start. First thing the browser does decide whether
> that's a URL or a search question. How does it decide? And then what
> happens?
>
> I will prompt you to keep talking. After all, I'm rooting for you to
> succeed so that I can hire you.
>
Heh. Ok, it has some heuristic which looks for things that appear to be 
a url, or a fragment of a url and if it looks like it's a URL will make 
a canonical representation of url. it's an interesting question whether 
it chooses http or https or both in a happy-eyeballs kind of way and i 
don't know the answer to that. for search, i creates a canonical url to 
google which obeys its query engine's API/parameters.

In both cases, a library routine will be called which knows how to do a 
HTTP(S) GET method which will in turn queries DNS for the host part of 
the url which may use port 53/UPD or the new fangled DoH which I'm 
uncertain whether it runs on plain old 80/443 or something new. Once the 
IP address is fetched, it might literally do Happy Eyeballs to determine 
whether the host is reachable by IPv6 (assuming there was a AAAA record 
for the host), which of course involves connecting a TCP (or now 
QUIC/UDP) socket and performing the three-way handshake to initiate a 
connection, or whatever the QUIC equivalent is since they are trying to 
jam all of the TCP and TLS handshakes into as few exchanges as possible. 
In both cases, a TLS is spun up doing PFS(? I know IPsec does), 
cert-exchange from the server to the client but extremely rarely client 
to server where signatures are created and verified.

I could keep going down the stack but I'll warn you ahead of time that I 
get dodgy at the PHY layer and fancy MAC stuff -- I'm not actually a 
network engineer, so things like VLAN's and 802.1x don't roll off my 
tongue, so you can probably stop this interview now :)

Mike




More information about the NANOG mailing list