C++程序员职业规划

后台/服务器

【后台开发】

  • 编程基本功扎实,掌握 C/C++/JAVA 等开发语言、常用算法和数据结构;
  • 熟悉 TCP/UDP 网络协议及相关编程、进程间通讯编程;
  • 了解 Python、Shell、Perl 等脚本语言;
  • 了解 MYSQL 及 SQL 语言、编程,了解 NoSQL, key-value 存储原理;
  • 全面、扎实的软件知识结构,掌握操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全等专业知识;
  • 了解分布式系统设计与开发、负载均衡技术,系统容灾设计,高可用系统等知识。

桌面客户端

【PC 客户端开发】

  • 计算机软件相关专业本科或以上学历,热爱编程,基础扎实,理解算法和数据结构相关知识;
  • 熟悉 windows 操作系统的内存管理、文件系统、进程线程调度;
  • 熟悉 MFC/windows 界面实现机制,熟练使用 VC,精通 C/C++,熟练使用 STL,以及 Windows 下网络编程经验;
  • 熟练掌握 Windows 客户端开发、调试,有 Windows 应用软件开发经验优先;
  • 对于创新及解决具有挑战性的问题充满激情,具有良好的算法基础及系统分析能力。

图形学/游戏/VR/AR

【游戏客户端开发】

  • 计算机科学/工程相关专业本科或以上学历,热爱编程,基础扎实,理解算法、数据结构、软件设计相关知识;
  • 至少掌握一种游戏开发常用的编程语言,具 C++/C# 编程经验优先;
  • 具游戏引擎(如 Unity、Unreal)使用经验者优先;
  • 了解某方面的游戏客户端技术(如图形、音频、动画、物理、人工智能、网络同步)者优先考虑;
  • 对于创新及解决具有挑战性的问题充满激情,有较强的学习能力、分析及解决问题能力,具备良好的团队合作意识;
  • 具阅读英文技术文档能力;
  • 热爱游戏。

测试开发

【测试开发】

  • 计算机或相关专业本科及以上学历;
  • 一至两年的 C/C++/Python 或其他计算机语言的编程经验;
  • 具备撰写测试计划、测试用例、以及实现性能和安全等测试的能力;
  • 具备实现自动化系统的能力;
  • 具备定位调查产品缺陷能力、以及代码级别调试缺陷的能力;
  • 工作主动积极,有责任心,具有良好的团队合作精神。

网络安全/逆向

【安全技术】

  • 热爱互联网,对操作系统和网络安全有狂热的追求,专业不限;
  • 熟悉漏洞挖掘、网络安全攻防技术,了解常见黑客攻击手法;
  • 掌握基本开发能力,熟练使用 C/C++ 语言;
  • 对数据库、操作系统、网络原理有较好掌握;
  • 具有软件逆向,网络安全攻防或安全系统开发经验者优先。

嵌入式/物联网

【嵌入式应用开发】

  • 有良好的编程基础,熟练掌握 C/C++ 语言;
  • 掌握操作系统、数据结构等软件开发必备知识;
  • 具备较强的沟通理解能力及良好的团队合作意识;
  • 有 Linux/Android 系统平台的开发经验者优先。

音视频/流媒体/SDK

【音视频编解码】

  1. 硕士及以上学历,计算机、信号处理、数学、信息类及相关专业和方向;
  2. 视频编解码基础扎实,熟常用的 HEVC 或 H264,有较好的数字信号处理基础;
  3. 掌握 C/C++,代码能力强, 熟悉一种汇编语言尤佳;
  4. 较强的英文文献阅读能力;
  5. 学习能力强,具有团队协作精神,有较强的抗压能力。

计算机视觉/机器学习

【计算机视觉研究】

  • 计算机、应用数学、模式识别、人工智能、自控、统计学、运筹学、生物信息、物理学/量子计算、神经科学、社会学/心理学等专业,图像处理、模式识别、机器学习相关研究方向,本科及以上,博士优先;
  • 熟练掌握计算机视觉和图像处理相关的基本算法及应用;
  • 较强的算法实现能力,熟练掌握 C/C++ 编程,熟悉 Shell/Python/Matlab 至少一种编程语言;
  • 在计算机视觉、模式识别等学术会议或者期刊上发表论文、相关国际比赛获奖、及有相关专利者优先。

以上转自GitHub - huihut/interview: C/C++ 技术面试基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。This repository is a summary of the basic knowledge of recruiting job seekers and beginners in the direction of C/C++ technology, including language, program library, data structure, algorithm, system, network, link loading library, interview experience, recruitment, recommendation, etc.

        本人工作两年,从事嵌入式软件开发,使用的语言是C++,感觉C++在嵌入式领域处于一个不上不下的位置,在这两年中都是做业务,什么新东西都没有学习到,这个感受是在我最近找工作中才体会到的,都是一面被刷了,感觉自身知识储备太低,没有自己的知识体系和对一些知识的深入了解,对自己打击很大,经过思考,是时候对自己做一下职业规划了。

        看网上其他博主所说,最好Linux服务器开发,其次游戏开发,最后桌面软件开发,本人是对桌面软件开发更感兴趣的,就目前我的工作内容可能跟Linux服务器更接近,所以我还是选择Linux服务器方向吧。

你可能感兴趣的:(笔记,面试,开发语言)