我用 LinuxLinuxLinux学习之路

学完了C++语法之后该学什么??(网络基础篇)

2020-05-26  本文已影响0人  7ee72f98ad17

在学完了C/C++语法之后,我相信很多朋友都会比较迷茫,到底应该学什么?其实总结起来无非就是:

1、网络编程;

2、操作系统;

3、数据库;

4、数据结构与基础算法;

掌握这些基础知识,就像我们的内功,如果在未来想要走的更远,这些内功是必须要修炼的。框架千变万化,而这些通用的底层知识,却是几乎不变的,了解了这些知识,可以帮助我们更快着学习一门知识,更加懂得计算机的运行机制。当然,在面试中也经常会被问到,特别是对于应届生,也有朋友经常问的计算机基础知识究竟是指啥?学习顺序?推荐书籍?

一、网络编程

在我们用的程序中,99% 都离不开网络,作为一个程序员,我觉得了解计算机网络是必须的,在大学的课程中,一般也都会开设这一门课。其实大家或许有这种疑问,一台电脑是怎么把消息发给另外一台电脑的呢?例如:

1、两台电脑啥线路也没有相连,怎么就能把消息发送给他呢?

2、世界上的电脑那么多,咋就能找到那台特点的电脑呢?有人说我们可以 MAC 或者 IP 来唯一标识啊,可是,疑惑又来了,世界那么大,电脑那么多,有了这个标识,我们该怎么找到他呢?遍历所有电脑?

3、多个程序同时发消息给一台电脑,电脑是如何准确把这些消息拿给这些不同程序的呢?

4、发送的消息丢失了怎么办?

总之,一大堆疑问,看了计算机网络之后,才豁然开朗。

所以这里,我是强烈建议大家学一下的,在面试中,计算机网络也是高频考点,这里我大致总结一下一些必学协议以及面试高频考点

1、http协议,包括:封装格式,常见响应码,不同版本的区别,常见请求方法,存在哪些安全隐患,啥是无状态协议等。

2、https建立连接的详细过程,哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解?

3、TCP协议:三次握手、四次挥手、如何保证可靠传输、流量控制、拥塞控制、滑动窗口等等。

4、UDP 广播  多播

5、DNS、ICMP、ARP、DHCP、LWIP

上面写的这些协议,我觉得是比较重要的,特别是在面试中。

推荐书籍:《计算机网络系统方法(原书第4版)》、《TCP/IP详解》三卷

上一篇下一篇

猜你喜欢

热点阅读