阿里面试题(一)

(以下面试题均搜集于各个招聘网站的面试经历题目)                                              
1.如何防止网络抖动产生的重复建单?
答:原因:你这种情况应该是客户端请求发过去了,服务器写到数据库了,返回完成状态的时候网断了,这时客户端没有收到反馈以为订单没有生成,再点击下单,这时网络好了,结果生成了两个。
解决办法:(1).待支付订单如果正在支付,就把这边订单锁定,变更为一个中间状态,这样就不会重复去支付这笔订单了(前端将提交按钮第一次点击提交时变成disable状态,直到后台返回状态后提交按钮恢复状态)
                 (2).可以修改后台代码使用线程池来避免重复提交,用sychronized就会是有重复的数据产生,如果加上则不会产生重复数据,达到预期效果。前台重复提交第二次时,然后通过查询后台返回一个状态,前台提示“不能重复提交”
                  (3).通过查询数据库这条订单的关键字段信息,看是否有重复订单,若有则前台重复提交时返回前台“不可重复提交”

2.如何度过服务器启动后的连接风暴?
3.jvm GC原理?
参考:http://blog.csdn.net/lzxadsl/article/details/50159939
4.类加载机制?
参考:http://blog.csdn.net/fgets/article/details/52934178
5.JVM优化?
参考:http://blog.csdn.net/kefengwang/article/details/54378235
6.说说对KAFAKA的理解?
现代的互联网分布式系统,只要稍微大一些,就一定逃不开3类中间件:远程调用(RPC)框架、消息队列、数据库访问中间件。Kafka 是消息队列中间件的代表产品,用 Scala 语言实现.
参考:https://www.cnblogs.com/yangxiaoyi/p/7359236.html
7.说一下多线程的实现,同步,异步,优化?
     答:  同步就是一件事,一件事情一件事的做。
            异步就是,做一件事情,不引响做其他事情。

多线程有两种实现方法,分别是继承Thread类与实现Runnable接口;
同步的实现方面有两种,分别是synchronized,waitnotify
多线程优化参考:http://blog.csdn.net/luofenghan/article/details/78596950
8.说一下线程池?线程池里面的线程的状态有哪些?
线程池作用:简单说,频繁地创建和关闭线程是非常耗CPU资源的,线程池可以减少开销
理解线程池参考:https://www.cnblogs.com/aspirant/p/6920418.html
线程池状态:http://blog.csdn.net/l_kanglin/article/details/57411851
9.数据结构有哪些?
答:http://blog.csdn.net/gzl0524/article/details/78929154
10.hashmap和hashtable的区别?hashmap的数据结构?hash的具体实现?
答:http://blog.csdn.net/fujiakai/article/details/51585767
11.设计模式有了解哪些?谈一下单例模式,工厂模式,代理模式
答:顺便说一下spring的aop是基于代理模式的,可以实现日志记录功能等
12.集合的分类和各自原理?
答:http://blog.csdn.net/qq_35124535/article/details/66971650
13.分布式和集群区别?
答:集群是个物理形态,分布式是个工作方式
参考:http://huangyongxing310.iteye.com/blog/2317865
14.数据库的锁
答:
      锁机制有两个层面。
       一种是代码层次上的,如java中的同步锁,典型的就是同步关键字synchronized,这里我不在做过多的讲解,
       感兴趣的可以参考:http://www.cnblogs.com/xiohao/p/4151408.html
       另外一种是数据库层次上的,比较典型的就是悲观锁和乐观锁。就是悲观锁(传统的物理锁)和乐观锁。
15.java中事务介绍
答:http://blog.csdn.net/sinat_33536912/article/details/51200630
16.jvm内存管理机制?
答:https://www.cnblogs.com/newyunhe/articles/5001056.html
17.Concurrent包的熟悉
18.数据库的各种锁的机制
答:http://blog.csdn.net/lexang1/article/details/52248686
19.索引的类型和各自实现
答:https://www.cnblogs.com/barrywxx/p/4351901.html
20.高并发理解和解决办法
答:http://blog.csdn.net/systemzyf/article/details/70258041
21.数据库的优化?
答:最好不要设置null值,避免sql语句中进行计算,避免In,导致全表扫描
22.分布式下线程同步怎样处理问题?
答:http://www.fx361.com/page/2017/0309/1098261.shtml
23.如何处理并发和同步?
答:http://betakoli.iteye.com/blog/2257095
文章转自: https://blog.csdn.net/gzl0524/article/details/79195940
本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » 阿里面试题(一)

欢迎加入「极客文库」,成为原创作者从这里开始!

立即加入 了解更多