面试经验分享平台

将近几年的名企精品面试汇总、筛选、整理,再分享给大家
经验详情
Java传统IT转互联网面试经验分享

    传统IT外企干了8年,两年前转互联网的,面的和被面的都不少。

  这几天项目空档期,闲的蛋疼,随手写的, 不喜勿拍。

  1. 算法基础

  写java的基本上都是做应用系统的,用到算法的机会几乎没有,所以一般不会考。但是如果工作年限比较长,保不齐面试官怀疑你的编程能力,故意要考考,所以快排、堆排、逆转链表、遍历二叉树之类的基础还是复习复习吧。

  如果面的是bat核心部门,担心碰见装逼人士的话,也可以提前复习下《编程之美》之类的。

  2. java基础

  hashmap面试官最喜欢考,一定要搞明白原理。

  treemap知道就可以,应该没人闲的蛋疼考红黑树。

  threadlocal面试官也喜欢考,要搞明白原理

  反射、动态代理、ioc、aop复习下吧,几乎必考

  nio、aio几乎都会问,抽空写写例程,知道netty mina

  class loader: 知道双亲委派,如果知道tomcat、jetty class loader异同更佳

  3. gc

  gc很多面试官都喜欢考

  面试前背熟各种gc算法的区别,理解原理。

  G1很多面试官自己都不明白,没时间就不用管。

  4. 高并发

  传统IT一般接触不到高并发,不过没关系按下面说的做,应付面试问题不大

  把java.util.concurrent下面所有的包和类通读一遍,理解原理、记住核心代码、写例程,网上有很多concurrent相关类原理解析的文章,对着文章看源代码理解起来问题不大。

  有些类代码很复杂比如aqs,看不明白就算了,也不用太花功夫,记住原理即可,因为大部分面试官也不明白。

  一定要写例程,例程最好跟你的业务能扯上一点点关系,这样面试的时候就是你实际项目里面的代码了。

  面试官喜欢考的类有:ConcurrentHashMap、读写锁、Condition、线程池、Barrier、CountDownLatch、Callable、BlockingQueue

  5. hdfs和mr

  传统IT一般也接触不到,如果不想准备就算了,如果想准备的话,就在自己的开发机上撘3个linux虚机, 按照网上的教程自己一步一步撘一个hadoop环境出来,然后找几个实际业务中生成出来的log,写几个mr程序处理一下。

  面试的时候就可以很谦虚的说,实际项目里面用过,但是用的不多

  6. application server

  websphere、weblogic、jboss之类的就不用准备了,应该没人问你这些啦。

  有时间的话,看看tomcat和jetty的源代码,重点看线程模型和io,这将是一个很好的加分项

  7.  数据库

  oracle、sybase、db2不会有人关心了,如果之前没用过mysql的话,找本介绍innodb原理的书好好通读一遍吧。

  理解myisam和innodb的区别

  理解关系型数据库索引的原理,理解一些简单的索引优化的原则。

  面试官很喜欢给出一堆where子句,考索引、复合索引什么情况下起作用

  8. 缓存

  一致性哈希很多面试官喜欢考,提前准备下吧。

  9. ssh框架

  这些没搞过就没搞过吧,这种框架层面的东西,对于一个有经验的java码农,学起来也就是分分钟的事情。

  不过你也可以说这些我没用过,但是我知道原理,然后说一堆动态代理、cglib的原理出来,也是加分。

  希望这些对传统IT想转互联网的朋友有帮助。