java是一门历史悠久的编程语言,可以毫无争议的说,java是最主流的编程语言之一.全球有1200万以上的java程序猿以及海量的设备,还有无所不能的java生态圈.
我所知道的诸如阿里,京东,百度,腾讯,美团,去哪儿等互联网公司,基本都是以java为首要编程语言的.即使在最新的云计算领域,java仍然是AWS,google app engine等平台上,使用最多的编程语言,甚至在微软的Azure云上,java也已微弱劣势排在前三,所以,在这些大公司的面试中,基本都会以java为切入点,考评一个面试者的基本能力.
应聘初级,中级java工程师,通常只要求扎实的java和计算机科学基础,掌握主流开源框架的使用,java高级工程师或者技术专家,则往往全面考察java io/nio,并发,虚拟机等,不仅仅是了解,更要求对底层源代码层面的掌握,并对分布式,安全,性能等领域能力有进一步的要求.
我在oracle已经工作了近七年,负责过北京java核心类库,国际化,分发服务等技术团队的组建,面试过从初级到非常资深的java开发工程师.由于java组工作任务的特点,我非常重视面试者的计算机科学基础和编程语言的理解深度,我甚至不要求面试者非要精通java,如果对c/c++等其他语言能过掌握的非常系统和深入,也符合需求的.
工作多年以及在面试中,我经常能体会到,有些面试者确实是努力工作,但坦白说表现出的能力水平不足以通过面试,通常有两方面的原因;
"知其然不知其所以然"做了多年技术,开发了很多业务应用,但似乎并未思考过种种技术背后的逻辑,坦白说,我并不放心吧具有一定深度的任务交给他.更重要的是我并不确定他未来的技术能力成长潜力有多大.团队所从事的是公司核心产品,工作于基础技术领域,我们不需要那些"差不多"或"还行"的代码.而是需要达到一定水平的高质量设计与实现.我相信很多其他团队的要求会更多,更高.
原文地址:https://www.cnblogs.com/lanbofei/p/9023460.html