1. 前言
给最近正在准备秋招的同学或者是想转行,目标岗位是C++后端开发工程师,这个岗位对开发者的要求也比较高,需要的基础知识非常多,刚刚开始准备的时候,感觉也是不知从何入手,现在经过了一段时间的学习,感觉比刚开始的时候好了一些,但是在很多方面还有欠缺,所以写下这篇文章,给你们进行一个总结,也希望能帮助到你们在这条路上不断前行的人。
2. 服务器开发与后台开发的联系和区别
服务器是一种高性能的计算机,相对于普通的个人电脑,它的性能往往更强,但是功能也更加单一。服务器开发,就是在服务器上面开发应用程序。服务器开发包括两部分,一是服务器上基础应用的开发,例如搜索引擎等,二是对业务流程在服务器上的相关应用开发。一般来说,企业里招第二类比较多。从业务的角度来看,服务器中的应用程序会接收来自客户端的业务请求,将其所需的数据处理以后,返回给客户端。后台开发不像前台开发一样,有清晰的可视化界面,它在整个业务中往往处于幕后的位置,所以被称为后台开发。下面这张图可以大致体现后台开发的流程:
这张图是客户端和服务器一种最简单的描述,但是这里面有很多问题如果真的研究起来就会很复杂,涉及很多基础知识。
1. 客户端的请求如何表示?对它的回答又如何表示?
2. 服务器和客户端之间的连接该如何建立呢?
3. 服务器和数据库之间又怎么进行交互?
4. 图中一台服务器只面向一台客户端,可是现实当中服务器通常需要接收多个客户端的请求。那么怎么分配这些请求?如果有非常多的客户端向服务器发送请求,服务器怎么样才能保证性能?
以上是服务器开发的一些基本问题,要解决这些问题,就要学习非常多的基础知识。带着这些问题,可以让我们把知识点串起来,对Linux下的服务器开发有一个更好的理解。
3. 涉及知识点
C/C++Linux后台服务器开发高级进阶免费学习链接:C/C++Linux服务器开发高级架构师/Linux后台架构师-进阶学习视频
3.1 编程语言
既然是C++后台开发,那么首先我们要掌握C++语言。C++的知识浩如烟海,而且包含了很多不同的思想,例如,它即继承了C面向过程的语法,又包含了面向对象的思想,要想精通真的很难。我的想法是将C++分成多个组成部分,然后分别学习。学习C++之后,简单总结了一些要点:
-
基础数据类型和运算符:C++的基础数据类型,如int,double。要机制它们的分别占用的内存大小,以及它们之间的转换规则。其中尤其要掌握指针和引用。
-
基础语法:基础的条件语句,顺序语句,循环语句,是必须要掌握的。
-
C++关键字:C++中包含了很多关键字,例如static,const,extern等