很荣幸能够接到ali和tw两家公司的面试,这两家公司都是知名企业,也都是很有技术实力的公司,其面试的难度也是早有所耳闻。但是本着明知山有虎偏向虎山行的原则,我还是决定上这一趟上,看看到底有多难。
  阿里面试篇
  面试官是大概晚上八点左右打电话过来的,然后就开始了一个小时的电话面试。首先是自我介绍,我就简单的介绍了自己的教育经历和工作经历。之后面试官问了为什么转行做java开发,我说是兴趣所在。然后是英语能力的询问。接着就是技术面试开始了,问了我关于java内存模型是否了解,我balabala回答一通,接着又问内存回收,当我说到minoGC 和major GC ,full? GC 之后又问我majorGC与FullGC的区别等。这个可惜没有答上来,看来这方面还是得继续加强。又问了spring源码和mabatis源码等,以及一些设计模式的问题。最后还问了关于简历上项目的问题,比如微服务dubbo框架的源码等,自己在项目上解决问题最有印象的一次是什么灯。
  tw面试篇
  面试官也是大概八点打电话过来,首先是一个自我介绍,接着就是英语面试,跟着就是我对于tw是否了解,我说了解,这个公司是技术驱动公司,是提出敏捷开发的公司等等。进入技术面试,问了java内存模型,spring源码中如何实现ioc的,其中问了如何实现循环依赖在下确实没有看过这块源码,还有jdk1.8中对于hashmap的优化,spring bean的作用域等等。最后给发了homework,全英文的三道,任选一道,三天完成。自己最后也是花了三天时间完成了,但是并没有通过。
  总结篇
  1.英语非常重要。ali和tw都是国际公司,如果技术人员英语好是一个很大的加分项,随着国际化越来越大,英语作为国际语言仍然是高端人才的必备技能;
  2.基础是王道。很多软件和插件以及框架,会用是一种层次,但是知道怎么实现就是更深的层次,要是能手写简单的一个那就是高手了,像这些大公司很多都是自己研究产品的,对于基础知识的考查是非常重要的。所以在以后的工作中对于基础的学习要重视。
  3.深入探究。不仅仅限于了解和知道,要往更深层面的知识去钻研。只有深耕才能学的扎实,比如虚拟机就值得深入学习。
  4.设计模式。上面提到,tw的家庭作业,面试没有通过,原因就是包命名不规范而且没有采用设计模式。设计模式在我刚接触的时候感觉用处不大,但是学了spring和mybatis的源码之后才发现,框架中基本都是设计模式套设计模式。如果不懂设计模式,根本就看不懂源码。当然了优秀的软件设计必然是满足六大原则的。
  5.源码学习。学习源码是一个开发人员提升自我的重要途径。通过学习源码能提高自己的软件设计能力和编码技术,学习源码能够使我们深刻理解设计模式,在什么环境下使用什么样的设计模式等,至少将mybatis和spring源码学习通透。
  6.博客。两家公司都提及了是否有博客的问题。博客,不仅能记录自己的所学所感,也能通过分享加强自己的记忆和理解,同时还可以与其他开发人员进行交流,确实是提升自己的非常好的手段。
  最后,还是希望自己能够知不足而补不足!
      上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8052),我们将立即处理。
 
 
 
 
 
 
      了解更多课程内容及课程安排,可咨询QQ 2852509883 或致电客服 400-821-0951(工作日9:00-17:30)
【看这里】技术交流、拓展人脉、领取福利欢迎加入博为峰网校大课堂>>>