针对C/C++方向,后端开发工程师如何发展

Posted 王道在线

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了针对C/C++方向,后端开发工程师如何发展相关的知识,希望对你有一定的参考价值。

        针对已经在王道培训完毕后,进入各大企业,或者读研的道友们,如何进行下一步的提高,有不少道友咨询过这个问题,比如有些道友反馈,最近加班很厉害,但是只是查看日志,感觉技术水平没有什么提升,有些道友反馈读研没人管,也不知道学什么好,师哥师姐刚好搞的是其他方向,自己没法参考。等等,一系列问题,今天Luke老师从几个路线跟大家讲一下如何去进行个人技能提升!

       首先说明一个问题,你在公司里搞项目,或者在实验室里搞项目,个人技能不一定会得到提升的,因为很有可能你只是重复使用你以后的技能在做bug修改,功能开发。所以软件开发!=能力提升。那在工作中或者读研过程中如果进行个人能力提升呢,下面从四个方向跟大家一些建议,便于大家在以后的能力提升中进入快车道。 

       1、网络

       在今天万物互联的时代,说不定下一个风口就是物联网,其实物联网除了前端的复杂传感器外,通信才是王道,而目前电信通信都已经进入4G时代,语言,短信,上网全部走TCP/IP协议(以往是7号信令),所以在王道学成的同学可以学习《TCP/IP协议详解 卷1》,注意在学习的过程中,可以动手去实现一些东东,比如原有一篇进入微信部门的道友分享的,动手实现一个web服务器,详见http://lifeofzjs.com/blog/2015/05/16/how-to-write-a-server/,只有更熟悉传输层协议,网络层协议,才能写出更高性能的服务器。如果在公司里你的工作可以去挑选,建议挑选应用层协议设计,跟网络通信相关的工作,敢于承担,敢于尝试,才会有成长,到时候你设计完毕可以拿给你们公司的大神确认~,当然注意设计时参考业界成熟方案,或者你也可以给我一份帮你看看设计是否OK;你也可以研究libevent,掌握其如何封装在王道学习的各种网络接口,进程间通信接口,实现灵活高效的同步及异步。或者下载Nginx源码,编译搭建服务器,能够正常提供服务,然后走读nginx源码,你会收获颇丰!

       2、分布式及并行计算

       今天互联网用户数已经不计其数,小学生都有智能手表,所以未来谁能够以更低成本提供更强大的计算能力,那个公司必定可以长盛不衰,这也是目前阿里云,腾讯云不断努力开疆扩土的原因!针对在王道学习完毕后,在工作期间,如果你的工作内容有分布式及并行计算相关的,那么你可以选这方面的任务去做,如果没有,如何自学呢?首先最好搞一台为8G内存的PC,否则安装多个Linux的虚拟机,内存都不够~你可以下载LVS,安装在多个ubuntu上,搭建一个分布式服务器,看看如何让你的百度网盘或者搜索引擎同时运行在多台ubuntu之上;你也可以下载docker,看看如何在一台ubuntu上,启动多个docker,让每一个docker都运行一个你的百度网盘;当然想学习分布式框架,可以参考一下两个链接,https://timyang.net/distributed/service-architecture/和http://colobu.com/2016/09/05/benchmarks-of-popular-rpc-frameworks/,由于当前一些大公司采用的是分布式存储框架,单独每台机器分类进行独立的业务,通过代理服务器实现分流,所以掌握前面的网络更重要一些,精通网络,再学习分布式,或者修改分布式计算框架,自然易如反掌

      3、算法

       目前很火爆的机器学习,AI,还有AR,VR什么的,那么他们都是什么妖魔鬼怪呢,其实你想进入机器学习领域和AI领域,你需要提升你的算法能力,首先可以按照王道机试指南的算法,上面的要全部掌握,就以下两张图片,


有精力的同学可以继续学习算法导论,目前最火的阿尔法狗,还有腾讯的绝艺,全部都是多层神经网络算法实现,所以AI的基础是算法。如果有想搞AR,VR的同学,这个属于嵌入式方向,需要首先买一本 Linux驱动开发进行学习,当然要精通嵌入式开发,必须在继续学习深入理解Linux内核,由于我们这里就业面向的是服务器开发方向,所以这里就不再多讲啦


      4、存储

       BAT都有自己的大数据存储框架,当然他们基本都参考了业界的大数据框架,如Hadoop,Spark等等,由于这些很多都是Java的,所以对于学习C/C++的同学建议下载Redis,能够灵活使用即可,毕竟你不一定进去BAT,非BAT的互联网公司,90%以上都是用数据库,说不定买本mysql的数据库,提升你的SQL水平对于后面的工作更有意义,这个都很难说,也有可能你直接进了BAT,所以我把存储放在了最后,也就是你不掌握大数据框架根本影响不大,因为BAT都有自己的大数据框架,你进入了会用即可~针对C/C++的大数据框架发展情况详见https://www.zhihu.com/question/37016145。当然针对进入公司去开发数据库,或者大数据框架的同学,那么需要学习Linux的文件系统,比如你进华为高斯部搞数据库,腾讯微信搞Mysql数据库改造,去阿里修改它的TDDT等等。

        上面针对学习C/Linux/C++方向的道友,以后的学习方向进行了介绍,当然文章重在操作系统层面的,针对C++的一些学习提升,后面由罗老师来介绍,针对Java方向的,后面也会由兰老师写一篇。针对不明白的小伙伴可以留言或者加Luke老师微信进行交流

 

以上是关于针对C/C++方向,后端开发工程师如何发展的主要内容,如果未能解决你的问题,请参考以下文章

北京 电子商务(Java后端开发工程师)

Web后端开发工程师技能进阶路线图2018 版

发展方向

Java工程师必备书单

Java工程师必备书单

北京|滴滴出行后端开发工程师/架构师