A few weeks ago a senior engineer at work sent me a copy of the list of technical questions he asks candidates during an interview. I quickly realized that I didn’t know, or couldn’t reliably give, a competent answer to most of the questions on his list. I would probably fail a technical interview for my own job if he gave it to me. Luckily for me, he didn’t, because I was transferred in from a different team. However, in order to learn more and grow as an engineer, I decided that I am going to pick one question, spend time figuring out the answer, and write a blog post about it. I am calling this series of posts: “Senior Engineer Interview Questions”.
I realize that one can easily Google the answer to each question and find a wealth of much better written posts or articles answering that question. But I am a firm believer that researching a topic and then writing about it in my own words helps me truly understand the topic. It also helps me remember what I learned.
Without further ado, the first question in this new series is:
What happens on the third layer of the OSI model?
The OSI Model is a seven layer conceptual model created by the International Organization for Standardization. The seven layer abstraction helps people think about how different computer system communicate with each other. On a practical level, it helps engineers debug problems with the network performance of their application.
The third layer of the model is called the “Network Layer”. This layer is where packets are assembled from frames below and disassembled from segments above it. It is also where logical addressing, commonly IP addressing, is done. Forwarding decisions for packets to other networks are decided based on IP address information at this layer. An example of a device that operates at this level is a router.
The Network Layer sits below the “Transport Layer” and above “Data Link Layer”. The Transport Layer handles transport protocols such as TCP and UDP. The Data Link Layer facilitates data between devices on the same network using MAC Addresses.