阿里大佬谈:开发一到三年的程序员怎么在小公司拿到30K?( 五 )

第二你需要有全面的互联网主流技术相关知识 。 从底层说起 , 你起码得深入了解mysql , redis , mongodb , nginx , tomcat , rpc , jms等方面的知识 。 你要问需要了解到什么程度 , 我可以给你说个大慨 。 首先对于MySQL , 你要知道常见的参数设置 , 存储引擎怎么去选择 , 还需要了解常见的索引引擎 , 知道怎么去选择 。 知道怎么去设计表 , 怎么优化sql , 怎么根据执行计划去调优 。

高级的你需要去做分库分表的设计和优化 , 一般互联网企业的数据库都是读写分离 , 还会垂直与水平拆分 , 所以这个也有经验的成分在里面 。 然后redis , mongodb都是需要了解原理 , 需要会调整参数的 , 而nginx和tomcat几乎都是JAVA互联网方面必配 , 其实很阿里的技术栈选择有点关系 。 至于rpc相关的就多的去 , 必须各种网络协议 , 序列化技术 , SOA等等 , 你要有一个深入的理解 。 现在应用比较广的rpc框架 , 在国内就是dubbo了 , 可以自行搜索 。 至于jms相关的起码得了解原理吧 , 一般情况下不是专门开发中间件系统和支撑系统的不需要了解太多细节 , 国内企业常用的主要是activeMQ和kafka 。 你能对我说的都研究的比较深入 , 阿里p7都不是太大问题的 , 当然这个还需要看你的架构能力方面的面试表现了 。

推荐阅读