美团日常实习

被面试官拷打懵了,上来直接都不问项目,直接说咱们来点八股吧,
问我jdk1.8之前hashmap插入时为啥使用头插法(我说为了提升插入效率他说不是)还让我解释hashmap因为头插法出现死循环是怎么出现的(这个以前看过一次已经忘了)
mysql里面脏读和不可重复读作比较(我记得通常应该是不可重复读和幻读进行比较吗)
spring里面是怎么知道这个bean是单例的(我说beandefinition里面有个属性标志这个bean是否是否是单例的,面试官好像不满意)
jvm中怎么消除STW(我说不可能消除只有可能减少,例如cms和g1回收器就这么做的,感觉面试官不是很满意)现在脑子很懵被拷打傻了只记得这么多
juc中线程池四个拒绝策略,并且出了三个场景问应该用什么拒绝策略(就感觉这个答的还行)

手撕:二分查找
话说美团的面试官不是喜欢问项目吗,我还特意准备了好久,唉,感觉要挂了 #如何判断面试是否凉了# #第一次面试# #你收到了团子的OC了吗# #美团求职进展汇总# #牛客解忧铺#
全部评论
佬手撕题目是什么呀,就直接二分查找解决了吗
1 回复 分享
发布于 2024-09-09 19:24 四川
base 哪里呀
点赞 回复 分享
发布于 2024-10-01 20:07 广东
有没有手撕sql鸭
点赞 回复 分享
发布于 2024-09-23 22:08 浙江
就只有这些问题吗,我又感觉我行了hhh
点赞 回复 分享
发布于 2024-09-18 15:31 四川
多久通知过的啊
点赞 回复 分享
发布于 2024-09-14 12:39 安徽
所以jdk1.8之前hashmap插入时为啥使用头插法,这个答案是啥呀
点赞 回复 分享
发布于 2024-09-12 18:54 江西
过了吗
点赞 回复 分享
发布于 2024-09-11 00:15 陕西
stw这个怎么回答,蹲一下
点赞 回复 分享
发布于 2024-09-10 12:24 贵州
bg是211吗?
点赞 回复 分享
发布于 2024-09-10 10:37 内蒙古

相关推荐

08-16 22:28
门头沟学院 Java
put添加元素的流程1 首先会去借助哈希值计算桶索引的值,运算函数为(n-1)&hash值进行与计算。:计算哈希值,jdk7之前是直接引用哈希值计算,而jdk8开始则借助哈希扰动的算法,原理呢就是将原哈希值向右移动16位,异或运算哈希值,将高位哈希值与地位哈希值都可以很好的参与到计算当中,减少哈希冲突的概率2 判断该桶索引位置是否为空,如果为空直接进行存放Node节点。如果不为空,需要遍历链表或者红黑树,去判断是否存在相同的key,如果不同则插入,相同则覆盖。:8开始为尾插,8之前为头插(多线程扩容可能会导致链表出现死循环的问题)插入新节点后3对数组的元素进行计数,当数组当中的元素数量大于负载因子与容量的乘积时,会触发扩容机制,两倍的扩容速度,扩容过程当中存在对元素桶索引的重新分配问题:在jdk7之前会使用(2n-1)&hash重新算一遍桶索引的位置(n为原数组长度):但是在jdk8开始,将(2n-1)&hash进行拆分,拆成(n-1)&hash+n&hash=原索引位置+n&hash,在判断过程当中呢,实现对n&hash的计算即可,判断计算是否为零,为零则保留原索引,不为零则在原索引的基础之上加上旧数组长度,接着移动就简单了,将原先的链表拆分为两个临时链表,后续直接一次性挂载即可。4判断是否需要树化,先判断链表长度,在链表长度达到8的条件下,判断数组长度是否达到64,达到就将链表树化,没达到64就以2倍的速度进行扩容。
如果再来一次,你还会选择...
点赞 评论 收藏
分享
评论
10
82
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务