假如 C++ 是一只箭,你会用它来射哪只雕?( 三 )


这说明音视频/多媒体开发是很重要的一份工作 , 而在对音视频或流媒体进行处理的时候 , 算法效率就是很重要的评价标准 。 这不就是 C++ 所擅长的场景嘛 。
所以呢 , 学了 C++ 还可以选择去做音视频开发的方向 。 这个方向更偏向于具体的场景 , 比如播放器 , 比如直播平台 , 比如音视频特效等 。 当然了 , C++ 更多的还是偏算法实现的方向 , 许多多媒体开发本身还是立足于平台 , 比如基于 Android、iOS 或者Windows , 来进行满足平台特性的开发 。
不过想要找这个方向的岗位 , 基本的音视频开发的理论知识得掌握吧 。 这里同样也包括了很多理论层面的知识 , 比如图像、音频、视频的采集、渲染、处理、传输等方面的问题 , 图像和音视频的加工、裁剪、编解码等处理 。
一些基本的处理库 , 用于图像处理的像 OpenGL、OpenCV等 , 用于视频编解码的x264、OpenH264、ffmpeg , 用于音视频处理的speexdsp、libfaac、opus 等库不也得熟悉熟悉吧 。
还有音视频传输的协议、直播推/拉流的协议 , 如 RTMP、RTSP 等也可以掌握掌握 。 哈哈不要被吓到 , 毕竟会 C++ 只是基本的编程能力 , 但是具体的岗位肯定有业务能力上的要求 。
假如 C++ 是一只箭,你会用它来射哪只雕?文章插图
游戏开发游戏开发也是 C++ 的可以进军领域之一 , 像很多游戏引擎都是基于 C++ 开发的 。 只不过游戏开发真的需要兴趣和热情 。 如果不是因为喜欢游戏 , 建议还是不要选择游戏开发的岗位 。
不是说游戏开发前景不好 , 而是说这件事如果没有足够的热情很难走得很远 , 并且因为方向不是很大众 , 到时候想换方向了 , 可选择性就不是很多 。
国内比较出名的游戏厂商就那么几家 , 但是投递的人却很多 。 这也导致这个行业的竞争很大 , 所以在招聘的时候会更看中你的游戏开发经历 。
如果是校招生 , 很少会有比较多的游戏开发经验 , 但是可以通过许多途径去弥补这一缺陷 , 比如参加游戏开发比赛 , 比如自己开发 demo 。 起码也得了解过或者用过一些游戏引擎 , 这样简历也会更加饱满一点 。
对于游戏开发的业务能力要求刚刚也提到过一点 , 大概包括游戏引擎的使用和了解 , 比如常见的 Cocosa2d、Unity3D 等 , 游戏引擎的实现原理和机制 , 还有面试时候基本都会问到的计算机图形学理论 。 计算图形学是游戏开发领域及其重要的理论基础 , 毕竟游戏离不开各种图像模型的渲染和处理 。
所以呢 , 如果你在大学期间有基础过一些图像学的工作 , 比如一些模型绘制、三维渲染的工作就可以去尝试一下游戏开发的岗位 。 我之前有个师兄在研究生阶段是做医学图像处理的 , 主要的工作就是对人体脏器和血管进行三维显示的 , 然后就去做了游戏开发 。 美滋滋 。
假如 C++ 是一只箭,你会用它来射哪只雕?文章插图
嵌入式开发上面几种岗位选择都是偏软件方向想的 , 而 C/C++ 还有一类非常大的就业方向 , 就是去做嵌入式 。 嵌入式本身可能是偏硬件一点 , 但是现在做个什么事 , 都是软硬不分家的 。
嵌入式的开发同样也会涉及到网络编程、并发编程等方面 。 通俗点解释可能就是 , 嵌入式代码是运行在别的小系统上 , 而不是传统意义的计算机上 。
所以嵌入式开发更适合原来专业是电信、微电子之类的专业 , 毕竟这个方向除了需要编程能力 , 还需要基本的电路理论素养 。
一般招聘嵌入式开发岗的公司大多是以硬件产品为主的互联网+公司 , 比如小米、华为等 。 进去公司很多都是在做物联网相关的工作 , 毕竟这是热点 。 当然也会有其它的业务方向 , 例如芯片、机器人等 。
假如 C++ 是一只箭,你会用它来射哪只雕?文章插图
总结说了这么多 , 有没有发现好像只会 C++是找不到工作的 。 不管是哪个岗位 , 在对C++基础的要求上 , 还会有额外的东西 。 这其实很好理解 , 毕竟 C++只是一门语言 , 只是一个工具 。
就好比你光有一把弓箭 , 是没办法射大雕的 。 你还需要许多额外的能力和知识储备 , 甚至还需要一点预判的意识 , 才能够在合适的时机以合适的力度射出那一箭 。
而 C++ , 只是那支射出的箭罢了 。 你越熟悉它 , 箭头便愈发锃亮 , 破坏力也就越强 。 并且同时 , 空中盘旋的也不只有一只大雕 , 你还需要选择机会最大的那一只 。
假如 C++ 是一只箭,你会用它来射哪只雕?文章插图