支付宝三面(java)
2017-11-01 本文已影响0人
白马王朗
支付宝三面:
1.线程安全类都用过?
答曰:current包下用过concurrentHashMap。
问道:怎么保证安全的?
答曰:这个Map基于Segment数组实现,而Segment数组是继承自
ReentrentLock,所以这里是一个分段锁,保证操作安全性;
问道:ReentrentLock和Synchronized有什么区别?
答曰:先把Synchronized的用法讲了一遍,然后引出ReentrentLock的使用方
法(是不是感觉没说?自己搜索去吧);
面试官:ok。
2.Full GC排查过程?
答曰:没有实操过。。。。
3.Spring事务传播特性都有?
答曰:requiredNew。。。(记不太清了,下来看了下,好几个)
4.FutureTask的get()方法内部如何实现?
答曰:基于AQS实现。
问道:AQS怎么实现的。
答曰:AQS内部维护一个int变量。。。(使劲背)
5.给你一条慢Sql,怎么优化?
答曰:分析sql是否有查询条件或者order by ,如果有,是否都成功走索引,如果没有索引,根据查询条件适当添加索引,比如:多条件查询,往往同时使用这些条件,就可以建立联合索引。。。(把你知道的,全部交给他)
问道:哪些情况下索引失效?
答曰:比如,该字段是varchar类型,你在写sql的时候没有加引号,导致sql不能成功走索引。存在空(NULL)字段时候,不能走索引,就这么多吧;
相关文章:http://www.cnblogs.com/binyue/p/4058931.html