目录

C程序员的职业生涯规划

C++程序员的职业生涯规划

一、C++ 服务器程序员(流媒体后台,游戏后台,高性能服务器后台)

精通

C++

STL

等,熟悉设计模式;

熟练掌握一门脚本语言

(Lua, , Perl

)

对多线程环境编程有一定的理解,能独立完成服务器端模块的开发、维护和优化;

熟练掌握

的开发维护、性能优化;

精通

C++

编程,

3

年以上服务器开发经验;

有手机游戏或者

PC

网游开发经验,有过完整手游开发经验者优先;

精通

Socket

协议,了解分布式负载和集群类型的服务器框架结构;

精通数据库设计;

熟悉

Python

Lua

语言。

1

、一年以上服务器开发经验,熟悉

C++

语言

;

2

、熟悉

TCP/IP

协议,熟悉网络编程

;

3

、熟悉标准

SQL

语言,熟悉

Mysql

更佳

;

4

、熟悉

linux

,熟练掌握

linux

基本操作命令

;

  1. 2

年以上

C++

游戏服务器开发方面的工作经验;

TCP

协议相关的开发有全面的认知;

对多线程的开发相关的问题有全面的认知;

有完整的

C++

手游服务器开发经验的优先考虑;

Linux

平台相关开发经验的优先考虑;

3

年以上网络游戏后台开发经验;

精通

Linux

,具备扎实的

Linux

环境编程能力;

精通

C++

编程语言并具备丰富的面向对象编程经验;

精通网络编程并有高并发系统的开发经验;

熟悉

MYSQL

或其他大型数据库,能够快速根据需求完成高性能数据库设计;

1

、本科以上学历,计算机、通信等相关专业;

2

3

年以上

Unix/Linux

C/C++

开发经验,

熟悉常用的 、 ,熟练使用

STL

等标准库;

3

、熟悉

Unix/Linux

下常用 设计方法,熟悉流媒体网络协议和格式,包括

rtmp

rtsp

sip

协议,以及

mp4

ts

流媒体格式封装;

4

熟悉

Unix/Linux

操作系统原理、常用工具,

熟悉

Mysql/

等数据库管理、开发,

SQL

调优;

5

、全面的软件知识结构

(

操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全

)

6

、有大容量通信系统和大型互联网后台开发经验者优先。

1

计算机相关专业,精通

C++

语言;熟悉常用数据结构和算法;

2

)熟悉

Socket

、精通

TCP/IP

协议及编程;

3

)具备编写

Shell

Makefile

能力,熟练使用

Linux

基本命令;

4

)熟悉

Linux

操作系统及其环境下的网络通信编程(进程、线程、内存管理、消息机制等);

5

)熟悉音视频封装及编解码技术,了解主流的多媒体标准,例如

TS

MP4

封装、

H.264

H.265

FLV

MPEG2

MP3

ACC

编码等;

6

)熟悉

HTTP/RTP/RTSP/RTMP/HLS

等流媒体传输协议,音视频解码模块与流媒体协议的对接处理

;

7

)具备广电行业项目管理经验的,有

cdn

开发经验者优先;

1

、本科及以上学学历,熟悉

C/C++

语言,

3

年以上流媒体系统开发经验

2

、熟悉常见多媒体数据解码格式,熟悉

H264

RTMP

、视频切片、音频同步等方面技术;

3

、熟悉

TCP/IP

协议,熟悉多媒体相关协议(

HTTP

RTSP

RTMP

RTP/RTCP

P2P

SIP

等);

4

、深刻理解互联网视频播放原理,对

ffmpeg

等框架有实际的使用经验;

5

、有视频直播、点播、视频会议、监控安防等方面经验优先

6

、熟悉

Nginx/Squid

模块开发优先考虑,有

FMS

等流媒体服务器搭建经验、

P2P

系统研发经验、知名优秀的视频产品服务端设计和研发经验优先考虑

二、应用开发工程师windows /linuxc++ (QT 和MFC,偏前端)

1

3

年以上

Visual C++

开发经验

2

、熟练掌握

C

C++

ATL

COM

等编程技术。

3

、熟练掌握

Windows

系统编程,熟悉窗口、网络和多线程技术。

两年以上的 或

windows

平台

QT

应用软件开发经验

.

熟悉

QT

跨平台框架,

QT

图形库和相应的开发工具。至少参加过一个完整的

QT

项目。

具备数据结构、面向对象、多线程和内存管理的基础和经验

掌握

window/wince

开发环境

熟悉通用的代码管理工具,例如

SVN,

1

2

年以上

C++

开发经验;

2

、在

Windows

开发平台下的客户端开发有丰富的经验,熟知

windows

操作系统原理;

3

、熟悉

windows api

调用,熟悉

MFC

类,

STL

标准库,

boost

库等等;

4

、熟悉

windows

消息体系,熟悉常用的数据结构与算法,独立研究的能力;

5

、熟练使用

MFC

异常类对

windows

结构化进行捕捉,能快速定位发布版本程序的异常,帮助组内成员快速定位崩溃,内存泄露,

GDI

资源泄露,能使用远程调试定位问题;

6

、尤其擅长利用各种调试,日志记录,分析工具对

windows

下客户端开发的代码进行调试,

BUG

查找,问题原因查找,

BUG

修复;

7

、有以下调试工具使用经验的:

spx++

bugtrap

crashreport

log4plus

gflags

bondcheck

,有逆向工程

ollydbg

等调试的优先。

本科或以上学历,计算机、通讯相关专业优先;

1

年以上

C++ / Qt

开发经验;

Linux

Windows

下的跨平台

Qt

开发经验;

socket

编程经验,能编写

TCP

UDP

或串口通信程序;

工作积极主动,具备团队合作精神及良好沟通能力;

有 工具使用经验者优先。

1

、本科或以上学历,计算机、通讯相关专业优先;

2

3

年以上

C++

实际项目经验;

3

、熟悉

C++ STL

,对

C++ 11/14

标准有一定了解;

4

、熟练掌握

socket

编程,能编写复杂的

TCP

UDP

或串口通信程序;

5

、掌握

Windows

平台下的图形界面程序开发,熟悉

MFC

GDI/GDI+;

6

、熟练编写多线程程序;

7

、熟练使用

Git

8

、熟练使用

MySQL Connector

9

、工作积极主动,具备团队合作精神及良好沟通能力;

10

、有

Qt

实际项目经验者优先;有

DirectX

开发经验者优先;有流媒体相关开发经验者优先。

扎实的计算机专业功底,较好掌握基本的数据结构和算法,具有良好的文档编写能力;

熟练掌握

Windows/Linux/Mac

平台下的

C/C++

语言开发和调试技巧,有跨平台开发经验者优先;

精通

MFC

QT

开发,熟悉

GDI/GDI+/OpenGL/DirectX

等技术并有相关项目经验者优先;

三、C++ 游戏开发(游戏方向,熟悉游戏引擎cocos2dx 等)

1

、熟悉

Win32API,

熟悉

WIN32/VS

开发平台,熟悉

C++

开发库

(STL/MFC/Qt

)

,熟悉常用数据结构和算法;

2

、精通

C++

编程,精通网络编程,熟悉游戏服务器端架构和客户端代码、熟悉数据库开发;

3

、了解网狐平台并有成功开发经验者优先;

4

、有

COCOS2DX

开发经验者优先;

1

2

年以上网络游戏服务器开发经验

,

完整经历过大型休闲网络游戏的开发过程者尤佳

;

2

3

年以上实际项目中

C++

开发经验

,

深刻理解面向对象设计和开发思想

;

3

、精通

Linux

操作系统下的

C/C++

软件开发

;

熟悉基础的数据结构和主流数据算法,了解棋牌算法等优先。

4

、精通分布式系统设计原理

,

熟悉

TCP/IP

网络模型

,

熟悉网络异步通讯

;

5

、具有

C/S

结构软件系统的设计及开发经验;

6

、熟悉数据库设计与

SQL

语言

,

精通

MySql

数据库尤佳

;

7

、熟悉

MQ

等开源技术尤佳

;

8

、熟悉

protocolbuffer

json

等协议;

9

、熟悉主流软件开发流程

,

Scrum

等 开发团队管理经验者尤佳

;

有很强的沟通协调能力。

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

1

、学历本科以上;

2

、熟练掌握

C/C++

,有两年以上的相关开发经验;

3

、精通汇编语言,有较强的程序反汇编技术和逆向分析能力;

4

、熟悉

PE

文件格式,熟练掌握

SoftIce

IDAPro

OllyDebug

WinDBG

等调试、逆向工具。

两年以上相关的项目开发经验

,

热爱软件开发

;

熟悉

X86

汇编、

C/C++

语言

;

熟悉

PE

文件格式

;

熟练使用

OD

WinDbg

IDA Pro

等调试、逆向工具

;

熟悉病毒、木马、恶意软件的工作原理;

了解常用加解密算法;

1

3

年以上的嵌入式软件开发经验;

2

、熟练掌握汇编及

C

语言编程;

3

、熟悉

ARM

PPC

CPU

工作原理;至少熟悉一种系列单片机编程。

4

、熟悉

Linux

VxWorks

Threadx

等操作系统原理;

5

、具有逆向分析算法或通信协议数据经验者优先考虑。

6

、具有打印机主板开发经验者优先

1

、本科及以上学历,计算机、电子或通信等相关专业,一年以上相关工作经验;

2

、熟悉

windows

平台下反汇编,熟悉

X86

arm

汇编指令;

3

、熟练掌握软件逆向静态分析、动态调试、代码跟踪等技术;

4

、熟练使用

OllyDBG

IDAPro

GDB

等逆向工具;

5

、熟悉反跟踪调试技术、脱壳技术;

6

、了解各种通用加解密算法;

7

、有

andriod

反汇编经验优先。

五、智能硬件 和可穿戴设备( 智能硬件VR/C++,)

1

、计算机科学、数学、电子工程或相关专业学士文凭;

2

5

年以上软件开发经验,

2

年以上 开发项目经验,熟悉

引擎架构设计者优先;

3

、熟悉网络编程和多线程编程;

4

熟练掌握

C/C++

,具有

3

年以上的

C/C++

软件开发工作经验;

5

3D

图形引擎开发相关经验;

6

、对物理引擎有深入研究,并在游戏等实际应用中有过相关实践;

7

、对图形学知识有深入了解,熟练使用

DirectX

OpenGL

Metal,

并有相关作品。

8

、具有一定的英语水平,能够阅读外国学术文档。

9

Oculus Rift

Samsung Gear

,或

HTC Vive

开发经验者优先。

六、嵌入式软件工程师(C/C++,Linux 平台,软硬兼施)

熟悉交叉编译的原理,熟练构造

/

使用交叉编译工具链

熟悉

Linux

x86

arm

)的内核裁减,配置,编译和部署

熟悉

Linux

根文件系统的组成,并能够配置,编译,使用

buzybox

等工具按照实际要求裁减,构造根文件系统

熟练运用

C/C++

语言进行

Linux

下应用程序编程

熟悉

Linux

下的多进程

/

多线程编程,理解进程

/

线程间同步

/

通信的概念和方法

了解

Linux

下内核模块的编程的原理和方法,能够修改

/

添加内核中的驱动程序

了解

Uboot / GRUB / LILO

bootloader

的配置,编译和部署

了解

Socket

编程

4

附加能力(非必需要求):

Linux

内核实时性评估和 经验

了解汽车电子相关通讯协议

CAN/LIN/UDS/CCP/XCP

了解

EtherCAT

协议,有相关开发

/

测试经验

2

、三年以上嵌入式

Linux

驱动开发经验,有独立开发经验和能力;

3

、熟练操作

Linux

系统,熟悉

C/C++

语言,熟悉相关的编译和调试技术更佳;

4

、精通

linux

平台相关驱动开发技术并有相关经验;

5

、精通

bootloader

移植、内核剪裁等技术。

七、音视频解码(协议优化)

1

、熟悉音视频编解码处理算法,有相关领域一年以上工作经验;

2

、熟悉

ffmpeg

体系结构,能够移植和优化该系统到移动客户端;

3

、熟悉

RTMP

HLS

等流媒体直播协议(或者相关协议);熟悉

vlc

或者

ffplay

mplayer

架构者优先;

4

、熟悉

TCP/IP

Socket

网络编程;

5

、熟悉

C/C++

开发语言;

6

、熟悉

WINDOWS PC

客户端软件开发

数学、声音处理、计算机、信号处理、通信工程相关专业硕士两年以上相关领域工作经验。

有较好的数学基础,较强的音频信号处理或算法开发能力

精通

C

语言编程或

matlab

语言,能编程实现音频处理算法。

较强的论文检索、英文专业文献阅读能力

较强的人际沟通及协作能力。

具备以下开发经验之一者优先考虑

理解音频处理技术

,

进行过音频压缩、回声消除、语音增强识别等算法的研究和实现

熟悉通用音频格式文件(

mp3,wma,aac,ogg,ape,flacac3,dolby DTS

等)

进行过上述某类音频处理算法在

DSP

x86

FPGA

ARM

等硬件平台上的开发、移植和优化。

2

、对

VOIP

有深入研究并有相关经验,熟悉

VOIP

服务器开发(有

asterisk

源码开发

/

优化经验),有

android

ios

底层开发经验更佳;

3

、具备良好的数学功底,精通

C

语言,熟悉

ARM

的体系结构及相关的汇编;

4

、熟悉音视频编码(如

WebRTC

speex

Opus

H264

MPEG

等)有音频

/

语音

codec

算法优化及开发经验,对语言增强算法有深刻认识和独到见解。

a)

扎实的计算机、网络基础知识,有网络模拟、多媒体传输开发经验

b)

丰富的视频处理或者图像处理经验

c)

丰富的 、人脸识别方面经验

1

、计算机

数字信号处理相关专业毕业

2

、有

4

年以上的视频频相关算法开发经验,熟悉视频、图像特效及优化技术;

3

、精通

C/C++

,熟悉基本的数字图像与视频处理算法原理,熟悉

/OpenGL

4

、熟悉基于

GPU

的算法设计与优化和并行优化经验者优先;

5

、熟悉

H.264

等视频编解码标准和

FFMPEG

者优先;

6

、熟悉

rtmp

等流媒体传输协议者优先。

通信、自动化、图像处理、模式识别、视频处理、信号与信息处理及相关专业;

较强的数学背景

对智能视频处理有一定了解,熟悉人脸识别、目标检测和跟踪、行为分析等相关技术,有相关项目实战经验者优先考虑;

熟练掌握

matlab

C/C++

,有良好的编程习惯;具备视频处理、图像处理、模式识别,

DSP

开发等相关知识,且编程实现能力快。

熟练阅读相关英文论文和专利,并能快速编程实现;

沟通交流能力强,具有良好的团队合作精神,工作积极主动。

有以下经验之一者优先:有手机、相机等设备的画质调节经验;有手机、照相机、平板电视、投影仪等数码显示设备中图像处理模块的研发经验;有图像信号处理器(

ISP

)的研发经验。

1

、信号处理

/

模式识别

/

图像处理专业本科

/

硕士以上学历;

2

有不少于

1

年的视频智能分析算法设计开发工作经验;

3

、能熟练应用

c/c++

程序开发;

4

能用 、统计学习或其他主流智能分析技术解决特定目标识别或行为分析问题;

5

熟练掌握

OpenCV

中图像

/

视频算法;

6

能熟练阅读英文算法及其他技术文档;

八、图像处理(机器视觉,医学图像,遥感图像,人像(美颜)等)

图像处理相关算法的设计

(

如图像跟踪定位

)

开发与调试。

信息电子或计算机相关专业,本科以上学历。

具有良好的 理论基础。

具有良好的模式识别

/

机器学习理论基础。

熟悉

c/c

等相关编程语言。

本科或硕士以上学历,计算机、电子工程、自动化等相关专业

具备图像、视觉和模式识别方面良好的理论基础,熟练掌握图像处理的一些基本操作(直方图,积分图像,交点检测,特征点提取,缩放,二值化等);

熟练使用

C/C++

OpenCV

Matlab

,并有一定的开发测试经验;

熟悉图像处理基本

(

边缘检测,区域提取,

低通滤波,特征提取

)

熟悉机器学习算法

(

例如

LR, SVM, ANN

)

和深度学习算法

CNN

等;

熟悉

opencv

,具有运动

标检测、特征提取、物体识别相关开发经验者优先;

OCR

字检测等相关研究或项

经验;

熟悉

linux

开发环境,熟悉

C/C++/Python

等任

有良好的沟通能

,责任

强,善于协助与分享;

可熟练阅读在线英

技术

站、技术标准者优先。

1

、计算机科学,

机器视觉,

机器学习等相关专业或方向硕士及其以上学历;

2

、机器视觉,

图像处理方面两年以上工作经验;

3

、精通

C\C++,

熟悉

linux

下的编程,

熟悉

OpenCV

良好的代码习惯;

4

、在机器学习,

贝叶斯滤波,

机器视觉,图像处理领域有深厚的功底;

5

、熟悉

ROS

SLAM

TLD

等相关系统和技术的优先考虑。

笔者就近几年的互联网发展发展,通过在各大就业招聘网站上检索到C++职位的相关要求,归纳总结出几大发展方向。给正在成长的C++程序员一条指引,当然也只是个人整理,仅供参考

**原文转载自:

转自:http://m.blog.csdn.net/article/details?id=51242829**