码农的世界

C++学习 | 面试官:我们只想要这样的C++工程师

2019-08-19  本文已影响0人  Android开发架构师

 聘要求是什么?

这个很正常哈,主要是咱们平时很少去关注企业的招聘要求,所以不知道怎么学,更不知道要学哪些内容从哪学起。所以就就分析了大量公司的校园招聘,根据招聘要求给大家总结出了每个方向的学习路径。

特此一篇关于C++方向的文章随后也会出来,欢迎大家关注呀~~

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

C++是最贴近底层编程语言。

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

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

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

 二、我想成为一名C/C++工程师,该学习哪些内容呢?

 1、学会C语言

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

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

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

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

2、C++入门

1)C++对C的扩展

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

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

2)C++基础

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

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

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

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

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

智能指针

输入输出流、异常处理

3)数据结构

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

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

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

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

各种排序算法

3、C++进阶

1)STL

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

关联式容器:STL算法详解

2)设计模式和UML

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

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

 4、Linux

4.1、初始Linux

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

Linux文件权限、Linux常用命令

VIM编辑器、websever的环境搭建

 4.2 数据库与中间件专栏

 4.3分布式专栏

 4.4工程化管理专栏

4.5网络IO服务专栏

 4.6 Linux系统专栏

4.7系统组件专栏

 4.8性能与测试专栏

4.9专家辅导专栏

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

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

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

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

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

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

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

今天要说的就这么多啦

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

大家如果需要学习交流或者想要获取资料的可以私信我。

文章小部分内容来源:网络

上一篇下一篇

猜你喜欢

热点阅读