作为C++软件开发工程师,你该学会这些技能!
C++是很多顶级架构师的最爱。
因为C++是一个兼具性能和抽象模型结合体,除了能够保证性能之外,还能用当今最流行的面向对象编程模型,而且生态系统由于这些年的积累,建设的也非常完善,所以在高级工程师这个级别C++受到的推崇程度依然非常高,很多架构师没事就喜欢拿C++的东西做研究,甚至还建立长期的学习计划。那么做一名C++软件开发工程师需要学什么呢?
基础加强+核心提升+综合实战=大厂程序员成长秘籍
基础加强阶段介绍:
本阶段从Linux系统基本操作与使用出发,从零开始将扎实C语言与C++语言基础,夯实计算机程序设计核心思想及基本数据结构思想。学习完本阶段课程内容,能够灵活选择相应编程语言,设计相应数据结构,对数据进行处理。能够运用基础算法的思想完成各种规模项目的结构化与工程化设计与实现。
阶段任务
C语言程序设计、C语言入门基础、数学运算、程序流程控制方法、函数、数组与预处理命令、复杂结构与指针、工程化编程、项目实战、简易测试框架、算法数据结构、基本线性结构、基本非线性结构、字符串匹配、递归函数转非递归函数、森林与并查集、平衡二叉查找树、C++程序设计、C++语言基础语法、封装、继承与多重继承、多态与虚函数、模板基础与变参模板、常见设计模式及应用、面试笔试算法(上)、编码能力提升、基本解题技巧、常见简单算法、二分查找与特殊情况、搜索、Linux操作系统基础、环境搭建、Linux操作系统基本概念、Linux基本命令、Shell编程基础
核心提升阶段介绍
本阶段基于第一阶段基础知识与技能,在Linux系统基础上进行应用开发,从IO输入输出到系统级接口掌握,再到进程的掌握,对于多进程和多线程之下任务处理机制的特点和应用场合充分了解,并结合网络编程、面试与笔试算法,完善、丰富知识体系,提升自身在开发人群中的核心竞争力,为真实项目开发奠定核心技术与能力。
阶段任务
Linux系统编程、文件与目录编程、多进程与多线程编程、进程与线程管理与信号、进程间通信及同步、Linux系统级IO使用、项目实战、服务器集群监控系统、Linux网络编程基础、TCP网络通信剖析、Socket网络编程接口、网络基本通信架构TCP与UDP、基于CS模型的TCP客户端与服务端设计与实现、UDP编程、P2P模型、HTTP与BS模型、项目实战、基于邮件的作业收发系统、面试笔试算法(下)、面试笔试真题、背包问题与动态规划、图论算法、其他数据结构与算法、项目实战、自制编程语言
综合实战实战一 C++高并发服务器
阶段介绍
本阶段课程基于扎实的系统编程和网络编程功底,主要基于非阻塞IO,异步IO,Epoll,PthreadPool等技术,从简单的多进程,多线程模型入手,逐步学习并实现主流的反应堆和主从反应堆模式,最终实现一个具备C10K并发连接和处理能力的分布式服务器。
阶段任务
高并发服务器开发、并发编程模型、基于UDP的主从反应堆和线程池足球游戏设计与实现、基于CS架构的聊天室设计模型、自定义报文的网络文件传输设计与实现、基于P2P架构的通信模型、分布式服务器架构、项目实战基于TCP的主从反应堆实现分布式服务器监控系统
综合实战实战二 客户端应用开发器
阶段介绍
本实战主要基于稳定发行版本的跨平台图形界面Qt完成高效率应用开发,从界面开发开始完成项目需求设计,掌握Qt的信号和槽的特殊对象间通信与调用机制,用Qt进行数据存储和恢复,应用配置设置保存与恢复,应用Qt完成TCP/IP的各种网络服务功能,并可以使用Qt对多媒体数据进行使用,完成各种客户端复杂应用需求;并且,通过对数据库相关内容的学习,可以熟练应用数据库进行数据存储和处理,从而掌握完整的数据处理生态体系。
阶段任务
Qt界面开发基础、界面设计基础概念、Qt环境搭建、Qt基础控件、Qt信号与槽、Qt页面布局、Qt动画与多窗口、Qt进阶框架、Qt多媒体处理框架、Qt图表框架、Qt网络框架、Qt绘图机制、Qt网页技术、数据库、SQL概述与MySQL安装、创建和管理表、表约束、增删改查、处理事务、项目实战、车载中控台界面开发
综合实战实战三 音视频编解码与传输
阶段介绍
本实战从音视频基础知识出发,全面了解整个音视频处理技术的模型和层次结构,了解音视频处理的采集和渲染内容,重点对主流音视频处理工具FFmpeg展开学习,掌握视频处理的剪裁,缩放,旋转,叠加和音频处理的重采样,去噪,回音消除,混音等基本操作,并且对音视频编解码技术进行深度研究。另外,还可选择以市场主流音视频网络处理框架WebRTC为基础,使用RTSP,RTMP等相关音视频传输协议的传输处理方向。
阶段任务
流媒体技术基础、流媒体技术分类、音视频技术模型及层次框架、音视频采集基础、音视频渲染与常见播放器、音视频编解码处理、音视频格式与压缩方法、音频格式处理(PCM,G72x)、视频格式处理(H264,H265)、音视频数据格式封装(mp4, flv, ts,mp3等)、音视频传输处理(选)、媒体服务器搭建(Live555)、数据传输控制、信令数据处理、数据传输安全、拉流、推流协议、音视频处理常见框架、FFMPEG、WebRTC(选)、OpenCV(选)、OpenGL(选)
综合实战实战四 物联网终端开发与云服务
阶段介绍
本实战从物联网系统中“物端”应用开发出发,主要学习市场主流的工业级微处理器Cortex-M,从基础入门到片内外资源的开发,并结合常用的传感器实现数据的采集;然后进入物联网的“互联”部门的学习,主要介绍和讲解市场主流的短距离无线通信技术,包括zigbee、蓝牙、WiFi、移动通信模块、NB-IoT等,完成数据的基本传输;最后学习物联网云平台的基本搭建和使用,构建整个物联网网络拓扑。
阶段任务
STM32单片机应用开发、STM32入门基础、定时器、中断与优先级、USART串行通信、同步串行接口总线、数模转换与模数转换、软件更新IAP在线升级、低功耗处理、常用传感器、物联网云平台与无线通信、短距离无线通信技术、物联网云平台通信协议、市场主流物联网平台、物联网系统主流框架应用开发、项目实战、智能物联网平台
综合实战实战五 ROS机器人与自主导航
阶段介绍
本实战从ROS机器人系统基本概念、基本使用出发,到简单控制与感知,再到智能移动与导航,无缝对接了市场主流的服务型机器人以及工业机器人相关理论与实践。
阶段任务
ROS机器人系统基础、走进ROS、ROS基础、仿真与可视化、项目实战、家庭智能交互机器人、ROS机器人系统应用开发、机器人驱动与控制、机器人运动、相机标定、深度图像、语音交互、路径规划、SLAM地图构建、自主导航
选修类
阶段任务
树莓派综合运用、RTOS实时系统编程、OpenCV数字图像处理、Python语言与机器学习、工程基础实践
课程设置的严谨,只为培养符合大厂需求的程序员。
C++在图形、音视频处理,通信,游戏,后端服务方面应用比较广泛,发展前景很不错。有对C++/C语言感兴趣的同学就赶快学习起来吧,既然选择要学C++/C语言现在就去做,现在永远比未来早。时不等人,抓紧时间开始学习之旅吧。学习没有捷径,希望大家都能少走一些弯路,在学习C++/C语言的道路上一往无前,学有所成