So during this interview I was asked the following, and I am certain I was floundering. 

  • DNS
  • Subnetting
  • Log collection

What could a principle engineer ask about networking, the questions started out as follows:

  1. How does a webpage get rendered or how do you get to a webpage from your local machine to the server that renders the content?
  2. If you have a network of x how would you subdivide the network? 
  3. You have to collection logs from x number of computers how would you go about it?

So on to what I suspect should be the solution or an appropriate answer

How does a webpage get rendered?

Technically -

  • Open a browser
  • Type in the address to the address bar
  • Request is sent to the server hosting the content
  • Files are streamed over and rendered in the browser.

A little deeper

How does the browser know where the server is?

- Domain Name System or DNS, think of this like the address book for the internet.  

One could certainly go on from here like types of entries in DNS, A Recordds, CNAMEs etc...

Subnetting

Subnetting is all about sub dividing a network.  So IP Address is broken up into 4 8 byte sections.  

 SubnetNotes.png

Recently had the pleasure of going through a round of interviews for a Software Engineer role at Microsoft, I was not selected.  Found a few weaknesses, I have all the experience in the world, demonstrating all of that experience in an multi-hour interview is the key.  

Two things I overlooked in my preparation, I was more concerned about inadequate dev experience.  I have worked on and off as a range of developer and admin roles and as such I assumed that experience would come through.  So the basics in a cloud world this should not be excluded. 

I was asked questions around the following: 

  1.   Basic Networking:  CIDR notation, Subnetting, DNS
  2.   Development focused on Trees, binary and otherwise traversing these structures all on a whiteboard  

The basics of networking, is somehting if you have not done in a long time and don't do on a daily basis, I was reaching back 10+ years for my knowledge on networking.  Definitely next time around I will certainly give this stuff a review.  

Communicating effectively and portraying confidence in your ability to find a solution, is where I give myself the biggest dings.  When I was going through the interview as daunting as it was I lost focus, and felt a little lost at the whiteboard. 

This is going to be a series of posts on these topics.  

Starting with the basic networking, then onto dev and communicating on a whiteboard