阿里面试题(一)

(以下面试题均搜集于各个招聘网站的面试经历题目)

1.如何防止网络抖动产生的重复建单?

答:原因:你这种情况应该是客户端请求发过去了,服务器写到数据库了,返回完成状态的时候网断了,这时客户端没有收到反馈以为订单没有生成,再点击下单,这时网络好了,结果生成了两个。

解决办法:(1).待支付订单如果正在支付,就把这边订单锁定,变更为一个中间状态,这样就不会重复去支付这笔订单了(前端将提交按钮第一次点击提交时变成disable状态,直到后台返回状态后提交按钮恢复状态)

                (2).可以修改后台代码使用线程池来避免重复提交,用sychronized就会是有重复的数据产生,如果加上则不会产生重复数据,达到预期效果。前台重复提交第二次时,然后通过查询后台返回一个状态,前台提示“不能重复提交”

                  (3).通过查询数据库这条订单的关键字段信息,看是否有重复订单,若有则前台重复提交时返回前台“不可重复提交”

2.如何度过服务器启动后的连接风暴?

3.jvm GC原理?

参考:blog.csdn.net/lzxadsl/art…

4.类加载机制?

参考:blog.csdn.net/fgets/artic…

5.JVM优化?

参考:blog.csdn.net/kefengwang/…

6.说说对KAFAKA的理解?

现代的互联网分布式系统,只要稍微大一些,就一定逃不开3类中间件:远程调用(RPC)框架、消息队列、数据库访问中间件。Kafka 是消息队列中间件的代表产品,用 Scala 语言实现.

参考:www.cnblogs.com/yangxiaoyi/…

7.说一下多线程的实现,同步,异步,优化?

答:  同步就是一件事,一件事情一件事的做。

异步就是,做一件事情,不引响做其他事情。

多线程有两种实现方法,分别是继承Thread类与实现Runnable接口;

同步的实现方面有两种,分别是synchronized,wait与notify

多线程优化参考:blog.csdn.net/luofenghan/…

8.说一下线程池?线程池里面的线程的状态有哪些?

线程池作用:简单说,频繁地创建和关闭线程是非常耗CPU资源的,线程池可以减少开销

理解线程池参考:www.cnblogs.com/aspirant/p/…

线程池状态:blog.csdn.net/l_kanglin/a…

9.数据结构有哪些?

答:blog.csdn.net/gzl0524/art…

10.hashmap和hashtable的区别?hashmap的数据结构?hash的具体实现?

答:blog.csdn.net/fujiakai/ar…

11.设计模式有了解哪些?谈一下单例模式,工厂模式,代理模式

答:顺便说一下spring的aop是基于代理模式的,可以实现日志记录功能等

12.集合的分类和各自原理?

答:blog.csdn.net/qq_35124535…

13.分布式和集群区别?

答:集群是个物理形态,分布式是个工作方式

参考:huangyongxing310.iteye.com/blog/231786…

14.数据库的锁

答:

      锁机制有两个层面。

      一种是代码层次上的,如java中的同步锁,典型的就是同步关键字synchronized,这里我不在做过多的讲解,

感兴趣的可以参考:www.cnblogs.com/xiohao/p/41…

      另外一种是数据库层次上的,比较典型的就是悲观锁和乐观锁。就是悲观锁(传统的物理锁)和乐观锁。

15.java中事务介绍

答:blog.csdn.net/sinat_33536…

16.jvm内存管理机制?

答:www.cnblogs.com/newyunhe/ar…

17.Concurrent包的熟悉

18.数据库的各种锁的机制

答:blog.csdn.net/lexang1/art…

19.索引的类型和各自实现

答:www.cnblogs.com/barrywxx/p/…

20.高并发理解和解决办法

答:blog.csdn.net/systemzyf/a…

21.数据库的优化?

答:最好不要设置null值,避免sql语句中进行计算,避免In,导致全表扫描

22.分布式下线程同步怎样处理问题?

答:www.fx361.com/page/2017/0…

23.如何处理并发和同步?

答:betakoli.iteye.com/blog/225709…

pa:答案来自于网上搜索结果,可以参考~

更多面试题我已经录制好了一些面试视频,下图的资料都是我精心录制视频,感兴趣的可以加群:697579751免费获取。希望能够在你接下来即将应对的的面试过程中能够尽到一份绵薄之力:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏有趣的Python

Scrapy分布式爬虫打造搜索引擎-(五)爬虫与反爬虫的战争Python分布式爬虫打造搜索引擎

Python分布式爬虫打造搜索引擎 基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站 五、爬虫与反爬虫 1. 基...

4474
来自专栏大史住在大前端

一统江湖的大前端(4)shell.js——穿上马甲我照样认识你

码农界存在着无数条鄙视链,linux使用者对windows的鄙视便是其中之一,cli使用者对GUI用户的嘲讽也是如此,在这样一个讲究逼格的时代,如果你的桌面上没...

1665
来自专栏BestSDK

Python开发必备的6个库,有了它事半功倍!

01 Python 必备之 PyPy PyPy 主要用于何处? 如果你需要更快的 Python 应用程序,最简单的实现的方法就是通过 PyPy ,Python ...

3938
来自专栏编程

6款好用的C语言编译器推荐

一些刚开始接触C语言编译的网友想下载一款C语言编译器来使用,不过,网络上有不少C语言编译器相关的软件,让人很难抉择。那么,C语言编译器哪个好?今天的文章里,我给...

7238
来自专栏along的开发之旅

Android逆向分析概述

学习逆向的初衷是想系统学习Android下的hook技术和工具, 想系统学习Android的hook技术和工具是因为Android移动性能实战这本书. 这本书里...

1363
来自专栏逸鹏说道

bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序

bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序 也许单页程序(Single Pa...

3115
来自专栏程序猿DD

优雅处理你的Java异常

来源:https://my.oschina.net/c5ms/blog/1827907

1912
来自专栏北京马哥教育

Python 开发者的 6 个必备库

https://www.oschina.net/translate/6-essential-libraries-for-every-python-develop...

1646
来自专栏along的开发之旅

Android逆向分析概述

学习逆向的初衷是想系统学习Android下的hook技术和工具, 想系统学习Android的hook技术和工具是因为Android移动性能实战这本书. 这本书里...

6014
来自专栏北京马哥教育

Python 开发者的 6 个必备库

来自:开源中国 协作翻译 链接: https://www.oschina.net/translate/6-essential-libraries-for-e...

4647

扫码关注云+社区