前言:后台开发工程师主流使用的编程语言有C++、Java、PHP以及目前慢慢流行的Golang等。小编就将以C++的角度,讲讲如何学习和准备后台开发的岗位。
一、语言基础
无论是C++开发还是Java开发,对于一个码农而言,最重要的就是对于编程语言的熟悉。同样,无论从事哪种类型的岗位,首当其冲的就是要掌握好语言基础。
C++是一门博大精深的编程语言,不仅拥有继承于C语言的过程化程序设计思想,还包含有面对对象(OOP)的设计理念。强大而又复杂。相对来说,C++的学习成本较高,语言里面的坑较多。语言基础的学习路线如下:
1 语法基础
重点掌握:(务必熟悉底层机制原理)
指针和引用的概念指针与内存关系程序编译过程static、const、#define的用法和区别C和C++区别内存模型内存中的栈和堆分配
2 面对对象基础
(务必熟悉底层机制原理)
面向对象理解析构函数构造函数拷贝构造多态纯虚函数和虚函数虚函数实现机制虚函数表访问限定符 public、private、protected继承原理、虚继承、菱形继承静态绑定和动态绑定new/delete和malloc/free重载、重写和隐藏
3 语法进阶
(务必熟悉底层机制原理)
智能指针左值、右值引用和move语义类型转换方式常用的设计模式线程安全的单例模式内存溢出和内存泄漏C++11新特性静态链接库和动态链接库
4 STL标准模板库
(务必能进行源码剖析)
迭代器、空间配置器理解常用容器特点、用法以及底层实现vector、list、deque、set、map、unorderedmap