疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

从学习方面深谈如何进入国内一流互联网公司6


 

      反正,这玩意儿LZ是半斤八两的水平,基本的优化是没有问题的,但稍微复杂一些的就不行了。
      所以,这一部分足够成为你的优势,体现出你的差异性。
4)消息服务
        除了Linux和数据库以外,消息服务也是当今互联网公司里,必不可少的一个组件。
        常见的消息组件比如rabbitMQ、activeMq,包括一些其它的开源消息组件,比如rocketMq。这里面任何一个,如果你可以精通其原理的话,也会成为你有力的竞争条件。
        其实消息服务的重点,无非就是如何保证最终一致性、消息的顺序,包括消息事务等等这一类的问题。
        虽然LZ本人对此不是很了解,但LZ很确定,这一部分如果你可以有自己独到的见解的话,一定会大大增加你的成功率。
5)缓存服务
        说了消息服务以后,相信缓存服务大家也一定不陌生了。
        常见的缓存比如memcached、redis这两个,如果你能搞清楚其中一个的话,也会给你加分许多。毕竟现在的互联网应用,缓存也是必不可少的了,因此如果你能完全hold住缓存这一部分,那么你的差异性也就有了。
        在缓存服务当中,有几个问题也是比较常见的,比如缓存满了怎么办,缓存的实时性如何处理,内存结构如何规划,分布式的情况下如何处理增删节点时缓存的命中问题等等。
6)负载均衡器
        负载均衡器,这是最后一个可选要求了。
        常见的负载均衡器就两种,一种是软负载均衡,比如nginx、Apache、lvs这一类的。另外一种则是硬件负载均衡,常见的主要就是F5。
        这两种方式各有优劣,其中硬件负载均衡如要用于简单应用、大访问量的场景,而软件复杂均衡则主要用于复杂应用,较小访问量的场景。当然了,两者还有一个不得不考虑的区别是,硬件复杂均衡一般都是非常贵的,而软负载均衡则基本上没有任何成本。
        在负载均衡器方面,也有一些问题是比较常见的。比如如何保持会话,如何做流量控制,负载均衡策略都有哪几种,如何检查后端服务器的健康状态等等。
7)小结
        好了,到这里,可选要求就说的差不多了。
        细心的猿友会发现,这6个要求其实对应的就是Java后端开发中,最常接触到的一些东西。比如spring、mybatis框架和数据库,这基本上是个Java程序员都接触过吧。
        其余四个包括Linux服务器、消息服务、缓存服务以及负载均衡器,也是一样的,大家在实际工作当中,应该或多或少都接触过这几个东西。
        但是真正能对其中一个非常了解精通的人,相信并不会太多。也正因为如此,如果你做到了,才可以体现出你的差异性,这或许会是你拿下offer的重要筹码之一。
        未完待续。。。。。。