阿里面试主要及经常问到技术点:

数据结构,多线程,jvm,优化,消息框架,分布式,缓存等以及你使用过的框架且第一轮的基础很重要,通过会后录取可能性就相对高了!

金九银十已经到来,在这也讲一些Java程序员面试常问架构面试专题和答案,希望那些有需要朋友能在今年第一波招聘潮找到一个自己满意顺心的工作!

一面(主要是jvm,并发,锁,数据结构等基础)

  1. 自我介绍(说说自己的擅长及拿手的技术)
  2. 说说treemap和HashMap的区别?HashMap和ConcurrentHashMap的区别?
  3. HashMap底层如何实现(JDK1.8有所改动)?
  4. 说说Hash的一致算法?
  5. 你知道的GC算法和回收策略有哪些?GC的机制是什么?
  6. 垃圾回收器的基本原理?是否可以立即回收内存?怎么样主动的通知JVM进行垃圾回收?
  7. 双亲委派模型机制
  8. 线程池创建的几个核心构造参数是什么?
  9. 乐观锁和悲观锁?可重入锁和Synchronized?
  10. 他们都是可重入锁吗?哪个效率更高?
  11. CountDownLaunch和Cylicbarrior的区别以及分别是在哪样场景下使用的?
  12. Http和Https的区别以及Https加密的方式?
  13. 以后的职业规划和想法

二面(主要是数据库,协议,Spring等)

  1. 自我介绍,聊下自己认为做得很好的项目!
  2. InnoDB支持的四种事务隔离级别名称是什么? 之间的区别是什么?MySQL隔离级别是什么?
  3. 说说事务的特性?讲讲对慢查询的分析?
  4. 你理解的BTree机制?
  5. 有哪些MySQL常用的优化方法?
  6. Http请求过程,DNS解析的过程?
  7. 三次握手和四次握手的过程?
  8. B+树索引和Hash索引之间的区别?
  9. Spring IOC如何管理Bean之间的依赖关系,怎么样避免循环依赖?
  10. SpringBean创建过程中的设计模式?
  11. 说说AOP的实现原理?
  12. Tomcat的基本架构是什么?

三面(主要是缓存,高并发,分布式)

  1. 自己项目中的总结的并发经验
  2. 说说MySQL的锁并发?加锁的机制是什么?
  3. 高并发场景下如何防止死锁,保证数据的一致性?
  4. 集群和负载均衡的算法与实现?
  5. 说说分库与分表设计?
  6. 分库分表带来的分布式困境与对应之策有哪些?
  7. Redis和Setnx命令使如何实现分布式锁的?
  8. 使用Redis怎么进行异步队列?会有什么缺点?
  9. 缓存击穿的概念和解决方案?
  10. Redis的数据结构? 线程模型? Redis的数据淘汰机制?
  11. Redis的数据一致性问题
  12. MQ底层原理的实现?
  13. 阻塞队列不用Java提供的该怎么实现?
  14. 讲讲负载均衡的原理?
  15. 如何实现高并发环境下的削峰、限流?

四面(主要项目入手)

  1. 讲讲项目中用到的中间件(Dubbo/MQ/Zookeeper/Redis/Kafka)?
  2. 什么情况下会造成雪崩?该怎么避免这种情况?
  3. 高并发架构的设计思路?
  4. 以前的项目中遇到的问题和解决策略?
  5. 生活中遇到过哪些挫折?最后怎么解决的?

BAT面试Java岗常问题锦集

BAT最全Java面试168题汇总:并发编程+JVM+Spring+分布式+缓存等!点击此处

总结

一线互联网公司都比较注重实际的项目中解决问题的能力,另外面试点主要围绕JVM、多线程相关、基础知识的底层原理、处理高并发的能力。这里也不扯什么面试技巧了,轻松发挥就好,祝大家金九银十季能有个高薪满意的工作!

最后针对于上面的面试问到的知识点我总结出了互联网公司java程序员面试涉及到的绝大部分面试题及答案做成了文档(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习