搜公众号
推荐 原创 视频 Java开发 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库
Lambda在线 > 优知学院 > 最新阿里中间件面试题:线程池+线程锁+MQ实现+秒杀超卖

最新阿里中间件面试题:线程池+线程锁+MQ实现+秒杀超卖

优知学院 2019-01-10
举报

如果能答对完整其中80%,快找优妹去领奖品哦~


一面:主要问的基础知识


  1. java线程同步都有哪几种方式,Synchronized和ReentrantLock的区别

  2. ReentrantLock底层是怎么实现的,怎么实现的超时获取锁。

  3. cas的原理,变量要用哪个关键字修饰,volatile实现的原理,进而引申到了java虚拟机的内存模型。

  4. 介绍一下java虚拟机内存模型,然后继续讨论volatile。

  5. 线程池种类,哪四种 workqueue分别是什么

  6. 什么时候触发minor GC 什么时候触发full GC

  7. 聊点数据库,一般选什么样的字段做主键,有什么选取原则吗,用种子自增来做主键,为什么每次种子要加1,加2加3可以吗。

  8. sql优化有哪些思路

  9. 索引使用注意事项

  10. InnoDB数据模型,B+树具体说说都保存了什么,叶子节点保存了什么



二面:主要是围绕项目



1、介绍一下你的项目(主要是技术难点),请画出项目架构设计图和部署图?

2、dubbo负载均衡算法有哪些,如果让你实现一致性hash的dubbo负载均衡算法,你会怎么实现?

3、zookeeper实现的分布式锁的原理,以及redis具体怎么实现分布式锁?

4、限流是怎么实现的,hystrix介绍一下。

5、dubbo有哪些模块,底层通信的原理。

6、spring的ioc,aop是怎么实现的。

7、线上问题的解决思路,程序运行一段时间,突然内存溢出,重启后,过一段时间又内存溢出,怎么排查问题。



三面:主要问解决问题的思路



1、如果让你实现一个MQ,怎么样保证消息不丢失?

2、硬盘io速度会变慢,有什么解决办法吗?

3、mysql的innodb索引数据结构为什么是b+树,用hash来实现可以吗?

4、分布式事务的实现?

5、如何解决redis和mysql数据一致性?

6、常见的MySQL主从同步方案有哪些?优劣势比较过?

7、先谈秒杀的设计思路?

8、再谈谈秒杀如何防止超卖?




-end-



最新阿里中间件面试题:线程池+线程锁+MQ实现+秒杀超卖

回复【直通BAT】即可参考




版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《最新阿里中间件面试题:线程池+线程锁+MQ实现+秒杀超卖》的版权归原作者「优知学院」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

举报