面试官:我们只想要这样的C++工程师!现在你该知道要学什么了吧

最近好多小伙伴来找就就说,我想找 xxx 方向的工作,我怎么学习?我也不知道这个岗位的招聘要求是啥?

这个很正常哈,主要是咱们平时很少去关注企业的招聘要求,所以不知道怎么学,更不知道要学哪些内容。

所以就就分析了大量公司的校园招聘,根据招聘要求给大家总结出了每个方向的学习路径。

今天先奉上一篇关于C++方向,如果你有想了解其他语言,欢迎给我留言~~

一、什么是C++研发工程师呢?

C++是C语言的超集,底层、上流随意发挥。

性能方面上,有着无可替代的优势特别是对于很多游戏开发公司来说,C++尤其适合作为后端服务的开发语言。

一些对于并发性能要求较高的业务上C++也有绝对的优势

因此大部分公司的核心业务都是用C++进行开发,C++工程师掌握着公司最核心最重要的业务体系,有着十分重要的地位。

 

二、C++研发工程师可以从事哪些岗位呢?

    ✿ C++服务器程序员:流媒体后台,游戏后台,高性能服务器后台

    ✿ 应用开发工程师windows /linux c++:QT和MFC,偏前端

    ✿ C++游戏开发:游戏方向,熟悉游戏引擎cocos2dx等

    ✿ C++逆向开发工程师:网络安全,黑客攻防,**等

    ✿ 智能硬件和可穿戴设备:C/C++,Linux平台,VR/AR,软硬兼施等

    ✿ 图像处理:机器视觉,医学图像,遥感图像,人像

等等...

 

三、我想成为一名C/C++工程师,需要掌握哪些内容?

▶ 1、玩转C语言

        ✿ 数据类型、流程控制、函数、指针

        ✿ 内存布局、结构体、共用体、文件操作

        ✿ 小项目:可以自己设计一个通讯录

        主要是二级指针,结构体,文件的操作

▶ 2、C++入门

    1)C++对C的扩展

        ✿ C++关键字、命名空间、引用

        ✿ C/C++混合编程、函数扩展

    2)C++基础

        ✿ 面向对象编程思想、类的封装

        ✿ 构造函数、析构函数、静态成员

        ✿ 对象管理、友元函数与友元类

        ✿ 操作符重载、继承与多继承、多态

        ✿ 虚函数与抽象类、函数模板与类模板

        ✿ 智能指针

        ✿ 输入输出流、异常处理

    3)数据结构

        ✿ 算法基础、顺序存储、链式存储

        ✿ 循环链表、双向链表、栈(顺序&链式)

        ✿ 队列(顺序&链式)、树的概念 & 遍历

        ✿ 二叉树、平衡树,搜索树、红黑树

        ✿ 各种排序算法

▶ 3、C++进阶

    1)STL

        ✿ 序列式容器:堆栈容器、双向链表容器

        ✿ 关联式容器:STL算法详解

    2)设计模式和UML

        ✿ 设计模式概念、面向对象设计原则

        ✿ 单例模式、工厂模式、UML应用

    3)小项目:贪吃蛇

        ✿ 对常用数据结构链表的使用,类额使用

        ✿ 项目开发流程的熟悉

▶ 4.1、初始Linux

        ✿ Linux操作系统的介绍、Linux目录和路径

        ✿ Linux文件权限、Linux常用命令

        ✿ VIM编辑器、websever的环境搭建

▶ 4.2、深入理解Linux

    1)基本操作:运维操作、文件I/O 操作

    2)系统编程

        ✿ 进程控制原理、进程间通信、Linux信号处理

        ✿ 进程间关系、守护进程、线程控制原理、线程间同步

    3)网络编程

        ✿ 网络编程协议(TCP/IP、UDP)、Socket套接字原理

        ✿ 高并发服务器、异步I/O、Libevent

    4)小项目:web服务器

        ✿ 多进程、多线程、进程间通信

        ✿ 多任务编程、网络数据通信过程

        ✿ B/S、C/S 网络概念

▶ 5、数据库知识

        ✿ oracle

        ✿ mysql

        ✿ MongoDB

▶ 6、桌面应用开发方向

        ✿ Qt常用的控件

        ✿ Qt绘图与文件操作

        ✿ Qt界面编程实战案例

        ✿ MFC对话框与常用空间

        ✿ MFC界面编程

▶ 7、分布式云平台开发

        ✿ 分布式文件存储服务器和缓存服务器

        ✿ 深入理解nginx

        ✿ 负载均衡反向代理

        ✿ git

今天要说的就这么多啦;

就就把每个模块掌握的知识点都列出来了;

大家可以对照着这个查漏补缺;

还有什么其他问题都可以在讨论区进行提问!

如果你想成为一名优秀的程序员,那么——程序员编程俱乐部值得点击进入】!

涉及到:C语言、C++、windows编程、网络编程、QT界面开发、Linux编程、游戏编程、黑客等等......

程序员编程入门资料:

程序员​推荐学习书籍:

带你一个活跃、高逼格、高层次的程序员编程学习殿堂;编程入门只是顺带,思维的提高才有价值!