学完C/C++语法,相信很多朋友都会一头雾水。我应该学什么?其实无非就是:1、网络编程;2、操作系统;3、数据库;4、数据结构和基本算法;掌握这些基础知识就像我们的内功一样。必须修炼内功。框架千变万化,但这些共同的底层知识几乎没有变化。了解这些知识可以帮助我们更快地学习一门知识,更好地理解计算机的运行机制。当然在面试的时候也经常会被问到,尤其是应届毕业生,也经常有朋友问计算机基础知识是什么?学习顺序?推荐书籍?一、网络编程我们使用的程序99%都离不开网络。作为一个程序员,我觉得了解计算机网络是很有必要的。该课程一般在大学课程中开设。其实大家可能会有这样的疑问,一台电脑如何向另一台电脑发送消息呢?例如:1.两台电脑互不连接,消息怎么发给他?2.世界上有那么多台电脑,我怎样才能找到一台具有那个特点的电脑呢?有人说我们可以通过MAC或者IP来唯一标识,但是疑惑又来了。世界那么大,电脑那么多。有了这个标识,我们怎么才能找到呢?遍历所有计算机?3.多个程序同时向一台计算机发送消息。计算机如何准确地将这些消息发送给这些不同的程序呢?4、发送的信息丢失了怎么办?总之,很多问题,看了电脑网络后,一下子就明白了。所以在这里,我强烈推荐大家学习一下。面试中,计算机网络也是高频考点。这里我大致总结一下面试必学的一些协议和高频考点:1.http协议,包括:封装格式,常用响应码,不同版本的区别,常用请求方式,存在哪些安全隐患,什么是astatelessprotocol等。2.建立HTTPS连接的详细过程,哪里用到对称加密,哪里用到非对称加密,你知道加密算法(比如RSA)等吗?3、TCP协议:三次握手、四次挥手、如何保证可靠传输、流量控制、拥塞控制、滑动窗口等4、UDP广播组播5、DNS、ICMP、ARP、DHCP、LWIP这几个协议写在上面,我觉得还是比较重要的,尤其是在面试的时候。推荐书籍:《计算机网络系统方法(原书第4版)》、《TCP/IP详解》三册**
