专业编程基础技术教程

网站首页 > 基础教程 正文

C++开发工程师可以分为几层?开课吧

ccvgpt 2024-11-03 13:21:15 基础教程 11 ℃

一般来说C++开发工程师分为初级、中级和高级,那如果对C++开发工程师进行分层,可以分为几层呢?

第0层:掌握基本的C++语法,会写一些基本的if-else,for循环,switch-case等。可以简单地使用C++的IDE,把书上的代码一行一行敲上去,会点击Run按钮运行程序,可以输出helloworld。

C++开发工程师可以分为几层?开课吧

第1层:熟悉C++大多数语法,了解面向过程与面向对象编程思想,了解封装、继承、多态的合法使用,了解指针、函数指针、回调函数、异常处理、文件操作、STL的使用,可以解决简单的编译链接报错问题。但缺乏独立思考的能力,甚至都不知道如何提问,一般面向百度编程,熟练掌握Ctrl+C和Ctrl+V操作,只要程序达到过预期的结果就已满足,可以简单的做出个Demo。

第2层:熟练掌握C++大多数语法,熟练背诵大多数C++面经。了解C++11、C++14、C++17甚至是C++20的新特性,面试技术单点时没什么问题,说起来头头是道,但做起来一塌糊涂,没有从0到1做公司级项目的能力,着重于完成某项子功能,没有设计图纸的能力,可以在现有框架上增删改,代码可读性、可扩展性、边界条件处理、程序性能、编码规范等问题往往不太考虑。

第3层:读过一些经典C++书籍,对STL、BOOST等经典库可以熟练使用,看过部分经典库的部分源码,了解基本原理,掌握常见的设计模式,掌握C++的好多奇技淫巧,对代码有洁癖,按照编码规范编程,会对边界条件做详尽处理,代码可读性较高。写代码时经常炫技,代码骚气逼人,自认为可以碾压大多数人。然而炫技通常会导致开发周期长,代码膨胀,后期维护难,其他普罗大众通常看不懂这种炫技的代码。

第4层:重剑无锋,大巧不工,不再炫技开发,简单合理的能够完成需求就好。熟练掌握操作系统,编译原理,掌握编译与链接的大多数知识,了解编译器背后的故事,熟练使用各种调试工具,各种性能分析工具,了解内存对齐,知道如何调试内存泄漏问题,如何调试死锁问题,深入理解CPUCache、文件系统、进程与线程、TCP/IP、内存模型等知识,参与开发过系统级的项目开发。动手能力强,接到需求后有自己的想法,可以快速给到实现方案。了解C++的各种方案优缺点,常见的坑以及各种避坑方法。

第5层:从0到1设计开发过系统级、高性能的项目,并被一定数量级的用户使用过。不再着重于技术单点的实现方案,完全领悟并灵活使用各种设计模式,更着重于整体架构的设计,即设计那一张工程图纸,给出整体的解决方案,追求设计更合理的架构,着重于模块划分是否清晰,着重于高内聚低耦合,着重于系统的健壮性,灵活可扩展性,可以应对大规模需求的迭代与变更。

第6层:混迹于国内国际各种C++开发者大会,各种演讲,分享自己的开发心得,分享架构设计方案,受众生膜拜。

关于C++的关键知识点

C++ 引用的本质是什么?

深入解析C++研发工程师

Tags:

最近发表
标签列表