阿里技术一面:

第一步先自我介绍?

介绍自己的项目经验和个人的擅长点,面试官主要考察你的表达能力和语言精简能力。

第二步:项目中做了什么,难点在哪里?

主要是想了解参与过技术难度最大的项目难点,技术难点在哪里,你是怎么来解决的,考察项目经验(技术难度)。

第三步:开始切入技术面试正题:

  1. Java的线程池说一下,各个参数的作用,如何进行的?
  2. 同步与异步区别?
  3. HashMap的实现原理,HashMap是如何解决hash冲突的问题?
  4. Redis讲一下,项目使用场景,以及对应的算法?
  5. 分布式系统的全局id如何实现?用zookeeper如何实现的呢,机器号+时间戳即可?
  6. 分布式锁的方案,redis和zookeeper那个好,如果是集群部署,高并发情况下哪个性能更好?
  7. kafka了解么,了解哪些消息队列?
  8. 乐观锁,悲观锁?
  9. IO和NIO的却别,以及NIO的原理,有了解过mina?
  10. JVM内存模型,JVM加载原理,回收算法了解?

第四步: 你是想做业务还是研究?

主要