2019 年互联网秋招面试经验分享_阿里巴巴

2018年互联网秋招面试经验分享

自己总结归纳各大公司java面试要点以及悉心梳理相应博客

阿里巴巴

一面

  1. 分库分表
  2. 数据库中间件
  3. MyCAT是一个强大的数据库中间件,不仅仅可以用作读写分离,以及分表分库、容灾管理,而且可以用于多租户应用开发、云平台基础设施
  4. 高并发请求处理
  5. 高流量限流
  6. 多线程
  7. concurrentHashMap
  8. CAS
  9. 乐观锁
  10. mysql limit分页如何保证可靠性
  11. http是否需要多次建立tcp连接?

解析 https://blog.csdn.net/huangyuhuangyu/article/details/78220005

  1. 如果RPC的注册中心挂了怎么办?
  2. RPC两端如何进行负载均衡?
  3. MQ推拉模式,优缺点
  4. ActiveMQ是一个消息中间件,对于消费者而言有两种方式从消息中间件获取消息
  5. Push方式:由消息中间件主动地将消息推送给消费者;
  6. Pull方式:由消费者主动向消息中间件拉取消息采用Push方式,可以尽可能快地将消息发送给消费者,而采用Pull方式,会增加消息的延迟,即消息到达消费者的时间有点长但是,Push方式会有一个坏处:如果消费者的处理消息的能力很弱(一条消息需要很长的时间处理),而消息中间件不断地向消费者Push消息,消费者的缓冲区可能会溢出。
  7. MySQL数据库索引那些?
  8. 组合索引怎么用?
  9. 在对表需要进行查询或者排序操作时,可以对表中某个或者某几个字段添加索引,对一个字段添加索引就是单个索引,对多个字段添加索引时就是组合索引。从前往后依次使用生效,如果中间某个索引没有使用,那么断点前面的索引部分起作用,断点后面的索引没有起作用;
  10. mysql存储引擎
  11. 事务隔离级别
  12. 不可重复度和幻读,怎么避免,底层怎么实现(行锁表锁)

解析 https://blog.csdn.net/gaoshan_820822/article/details/4582561

  1. 事务四个特性
  2. i++和++i满足原子性么
  3. 类加载机制 三种加载器(双亲委派) 三种加载器怎么协同工作? 加载过程? 类初始化五种情况
  4. Java容器层次结构
  5. Object类的方法 12
  6. map怎么实现hashcode和equals,为什么重写equals必须重写hashcode(扯回HashMap的put操作。源码)
  7. 同步机制synchronized 重入锁
  8. synchronized底层实现原理:(monitor)字节码层面 同步方法和同步代码块不一样!

解析 https://www.cnblogs.com/paddix/p/5367116.html

  1. 对象锁是用来控制实例方法之间的同步,类锁是用来控制静态方法(或静态变量互斥体)之间的同步。
  2. J.U.C体系结构(java.util.concurrent)

解析 https://blog.csdn.net/hp910315/article/details/50963095

  1. 什么是Spring IOC和AOP的实现原理
  2. Spring事务管理方式

https://blog.csdn.net/bao19901210/article/details/41724355

https://blog.csdn.net/chinacr07/article/details/78817449

  1. SpringMVC是什么 原理
  2. 什么是servlet 生命周期 一个项目model可以有多个servlet么
  3. Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序

解析 https://www.cnblogs.com/whgk/p/6399262.html

  1. 设计模式 项目中用过哪些 工厂模式 单例在项目中怎么应用 懒汉饿汉(各写一个)
  2. 面向对象–举例理解
  3. 数据结构–设计实现KV结构,查找算法,树
  4. 网线断了tcp连接情况
  5. java 中static理解,final理解
  6. 主从同步
  7. treeSet,红黑树
  8. JVM,GC垃圾回收机制,垃圾收集器
  9. threadLocal
  10. 分布式事务 2pc
  11. Java内存模型
  12. 堆和栈
  13. concurrenthashmap在1.8和1.7里面有什么区别
  14. 线程有自己的空间吗,如果有,有多大 线程池 Fork/Join跟线程池有什么区别

解析 https://segmentfault.com/a/1190000008140126

  1. 讲一下迪杰斯特拉算法的流程 (小甲鱼)
  2. 讲一下弗洛伊德算法的流程讲一下弗洛伊德算法的流程

解析 https://blog.csdn.net/longshengguoji/article/details/10756003

  1. java的线程安全queue需要注意的点

解析
https://blog.csdn.net/madun/article/details/20313269#commentBox
https://www.ibm.com/developerworks/cn/java/j-jtp04186/
http://yanxuxin.iteye.com/blog/586943

  1. 加锁需要注意什么 锁优化的思路和方法

解析 http://www.importnew.com/21353.html

  1. java无锁原理

解析 http://www.hao124.net/article/52

  1. 数据库索引了解原理么?
    答:从b+树说b+和b比的优势,又提到了innodb和myisam之间聚簇索引和非聚簇索引之间的区别,优缺点,实际上还可以扯扯hash,联合索引,前缀匹配啥的
  2. java相关的框架了解哪些 spring,springboot,springcloud,mybatis
  3. spring了解些啥?ioc,aop的原理,ioc的好处
  4. 大量日志去重怎么弄
  5. 大量整数排序 bitmap
  6. 死锁的原因,如何避免

解析 https://blog.csdn.net/ls5718/article/details/51896159

  1. 现代操作系统有完全解决死锁问题吗

解析 http://www.cnblogs.com/shuaihanhungry/p/5671402.html

  1. 如何找出服务器负载过高的原因

解析 https://blog.csdn.net/yuanlin65/article/details/52663224

  1. 找出文件中出现次数TOPK的字符串 优先级队列最小堆

解析 https://blog.csdn.net/L_kanglin/article/details/70500286

  1. 判断一个字符串集合是否能连接成环,首尾字符相同则认为可以相连,如abc,cde,ea

解析 https://blog.csdn.net/Yan456jie/article/details/51206096
http://thinkerou.com/2016-06/interview-is-circle-string/

  1. 常见的GC算法 OOM出现在什么时候

解析 https://www.cnblogs.com/baizhanshi/p/6704731.html

  1. 针对日访问量上亿做出一些优化

解析 https://blog.csdn.net/yang_best/article/details/50893785
https://blog.csdn.net/u012373815/article/details/71435926
https://blog.csdn.net/sun_wangdong/article/details/51137008

  1. 内存管理方式
  2. 常见的设计模式及应用场景

解析 https://blog.csdn.net/hguisu/article/details/5713164#commentBox

  1. .100亿元素排序

解析
https://blog.csdn.net/nigelyq/article/details/52766879

你可能感兴趣的:(java面试)