Architecture

So here you are, in the final chapter of this site, and you have come very far. I have taught you about everything from Big O, to heaps, and everything in between. Hopefully, you have done all of the practice problems, and you understand the mistakes you made. What I have shown you is the vast majority of what you will see on programming interviews, so you probably feel pretty confident.

As per usual, you know nothing Jim Fire. This final chapter will cover databases, how the internet works, and many other important topics in the world of computing. As I can not cover everything that has to do with computing, I will also be writing a blog, where I will discuss various topics that are confusing for average programmers. You may make requesuts of me, and I may listen. But more on that later.

A Look Ahead

Terminology

What is latency, a router, throughput, DNS, and more!

How the internet works

This is one of the most improtant topics that I will cover, for many reasons. First of all, you want to be a programmer, and while that will never happen, you use the internet every day. So, even if you didn't want to be a programmer, you should probably understand how it works.

Secondly, it will come up in interviews. Either directly, or indirectly you will need to know how the internet works. I will cover everything, from the sockets in your computer, to the ISPs selling your data.

Distributed Computing

A brief and rough introduction to what it is, some of its advantages and some of the forms it can take.

Server

Client side versus server side rendering, what a server is, what a client is, NoSQl versus SQL, and UX versus UI.

System Design