栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-11-07

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-11-07

阿里五面,终不能成

文章目录
    • 阿里五面,终不能成
  • 前言
  • 面试题目选优
  • 面试总结


前言

经常面试阿里和旗下子公司,和大家分享一下面试经历。

面试题目选优

1.缓存穿透,设计一个防止缓存穿透的解决方案,简单的就是存null值,但肯定会深究,可以结合布隆过滤器
2.设计分布式系统,里面又会问到流量分发到具体过滤器服务的方式,比如一致性hash算法,怎么调用?比如dubbo直连、等等细节会边说边问。
3.限流,设计一个侵入性最小的限流服务。
4.项目中碰到的问题,建议说框架本身问题,能提现个人能力,也避免问题太低级。
5.dubbo服务调用过程。
6.NIO、BIO区别,NIO解决了什么问题,Netty线程模型(源码拷问)。
7.限流标准(并发数? qps?并发数和qps关系?说出了3种限流方案和对应算法原理)。
8.dubbo调用端怎么在jvm中生成对应服务?dubbo服务端和调用端超时时间设置和区别、dubbo长连接。
9.mysql行锁最大并发数?
10.设计秒杀系统,异步方式,怎么优化?改为了同步的方式,异步和同步区别?
11.秒杀系统,会涉及到多个库表的更新,分布式事务怎么解决,我说的
消息最终一致性,异步?有没有更好的方案?同步TCC方式,TCC方式原理?


面试总结

1)多线程(ThreadLocal(问了父子线程怎么共享数据 interitable ThreadLocals)、lock和sync区别(问HashMap1.7、1.8区别时带出)、
AQS原理(执行过程源码,入队出队的细节)、CountDownLatch和CyclicBarrier的区别, volatile从指令重排序,内存屏障,聊到总线风暴)所占比重较大。

2)数据库(mysql索引(聚集索引、非聚集索引、索引结构(顺带会问各种树的特性)、执行计划、count1*区别、举例优化sql、MVCC和事务隔离级别的关系、间隙锁、行锁(和多线程混合问的,乐观锁悲观锁等)、唯一索引和普通索引的区别聊到了changeBuffer,聊了页分裂合页合并)比重较大。

3)jvm调优(可达性分析算法中根节点有哪些、cms和G1区别、怎样GC调优、怎样排查CPU彪高、内存彪高、逃逸分析)。

4)redis数据结构、跳跃表、redis qps能上多少,怎么知道的、sentinel和cluster区别和各自适用场景、redis cluster集群同步过程、redis单线程为什么快、多大叫大key、热key产生原因和后果以及怎么解决、本地缓存需要高时效性怎么办?

5)spring的作用、spring循环依赖怎么解决(说出三级缓存源码细节)、spring aop原理(动态代理)、spring bean生命周期(源码细节,以及各个位置的设计思路,有什么可扩展的)。

6)dubbo服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码。

7)项目中碰到的问题。

8)为什么换工作?

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/439707.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号