编程语言只是个工具,后台开发工程师只会使用工具还不够,这篇文章我们来探讨下,成为一名符合BAT大厂要求的后台开发工程师需要掌握哪些技能呢?
目前大部分互联网服务器都是Linux系统,所以要学会使用Linux,光会使用还不够,程序员不同于一般系统使用者,你还要学习写简单的shell脚本做一些自动化工作,学习Linux系统各种命令使用sed、awk等等。
编译工具也要学一下,makefile、cmake这些工具能帮你构建程序,这些你要学习下原理,而不仅仅只是了解 IDE 下的一个「编译按钮」那么简单。

大部分的软件应用都需要和数据存储打交道,涉及到存储就要去学习各种数据库,比如关系型的数据库MySQL支持事务,内存数据库Redis这些,不可避免的都需要去学习。
如你所还有很多需要学习的内容,这里不再展开列举,有人看点赞的人多了再来写写~
归纳起来,需要学习 Linux、数据结构与算法、计算机网络、操作系统、计算机组成原理、网络编程、数据库、设计模式、中间件、分布式、搜索引擎、高并发、高可用、虚拟化技术、监控技术、测试技术...
看起来挺多的是不是,不用害怕,你已经掌握C++了,以上技术可以在项目或者工作中不断积累经验。
学习以上这些技术,最好的方式当然也是循序渐进看书,沉下心来慢慢看,量变会引起质变,我找来对应技术点的经典书籍,一并推荐给大家:
操作系统《现代操作系统》《操作系统:精髓与设计原理》《操作系统导论》计算机组成原理《深入理解计算机系统》《程序是怎样跑起来的》计算机网络《计算机网络:自顶向下方法》《网络是怎样连接的》《TCP/IP详解卷1:协议》《图解HTTP》《Wireshark网络分析就这么简单》数据结构与算法《啊哈算法》《大话数据结构》《算法图解》《算法导论》《编程珠玑》工作面试《剑指offer》《程序员代码面试指南》计算机编译原理《编译原理》《程序员的自我修养:链接、装载与库》数据库《数据库系统实现》关系型数据库 MySQL《MySQL必知必会》《高性能MySQL》《MySQL技术内幕》非关系型数据库 NoSQL《Redis 深度历险:核心原理与应用实践》《Redis 设计与实现》Linux系统Linux系统《鸟哥的Linux私房菜》《操作系统真象还原》Linux内核《深入理解Linux内核》《Linux内核源代码情景分析》《Linux内核设计与实现》网络编程《Unix网络编程》《Unix环境高级编程》《Linux高性能服务器编程》《Linux多线程服务器端编程》测试《测试驱动开发的艺术》重构
《重构:改善既有代码的设计》《代码整洁之道》中间件《Apache Kafka源码剖析》《RabbitMQ实战》架构和分布式《大型网站技术架构》《数据密集型应用系统设计》《微服务设计》《微服务架构设计模式》高性能《Web性能权威指南》设计模式《大话设计模式》《设计模式:可复用面向对象软件的基础》《Head First 设计模式》《设计模式之禅》软件设计《人月神话》《领域驱动设计模式、原理与实践》《领域驱动设计: 软件核心复杂性应对之道》虚拟化云原生《第一本Docker书》版本控制《Git版本控制管理》以上部分书单,私信回复「1024」可获取。
读者福利新的一年开始了,找来一些免费微信红包封面送给大家,每天可领!
领取方式:关注@程序员柠檬橙 后发送:【666】
或点击文末「了解更多」也可直接领取!
祝大家新年牛气冲天,转发文章牛气好运分享给更多小伙伴~
我是@程序员柠檬橙 关注我,学习更多编程知识!
若有帮助,点赞转发支持一下吧!