最近好多同学来找就就说,我想找 xxx 方向的工作,我怎么学习呀?我也不知道这个岗位的招聘要求是啥?
这个很正常哈,主要是咱们平时很少去关注企业的招聘要求,所以不知道怎么学,更不知道要学哪些内容。所以就就分析了大量公司的校园招聘,根据招聘要求给大家总结出了每个方向的学习路径。
今天先奉上一篇关于C++方向的,java,Python,PHP,前端,测试这些方向的文章随后也会出来,欢迎大家关注呀~~
一、什么是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
今天要说的就这么多啦
就就把每个模块掌握的知识点都列出来了
大家可以对照着这个查漏补缺呀
还有什么其他问题都可以在讨论区进行提问呀
就就一定会给你满意的答复~