拼多多-服务端秋招-二面

刚刚面完,真是酣畅淋漓地写题,就一个白板,啥提示没有,摁写。

第一道题,写一段死锁的代码,然后想尽可能多的方法解决死锁。
第二道题,写一个 HashMap,至少写到拉链法解决哈希冲突。
第三道题,手写堆排序。

20点到21点25,写代码,爽!
全部评论
拼多多的ide真是一坨勾石
4 回复 分享
发布于 2024-08-27 23:57 广东
题目都跟我一模一样,昨天面完,酣畅淋漓
2 回复 分享
发布于 2024-08-29 19:00 北京
跟我实习一面的是一模一样的三道题!上来就是 class HashMap{},写吧
2 回复 分享
发布于 2024-08-28 10:25 天津
太硬了哥
2 回复 分享
发布于 2024-08-27 22:09 浙江
恭喜
1 回复 分享
发布于 2024-08-28 23:56 黑龙江
oc了吗 啥时候开啊
点赞 回复 分享
发布于 2024-11-16 19:04 北京
有后续了吗楼主
点赞 回复 分享
发布于 2024-10-07 10:35 山西
我也是写题,题目还很难懂,直接挂了
点赞 回复 分享
发布于 2024-09-26 10:41 浙江
我写的是除了拉链的另一种hashMap 也是恶心到家了
点赞 回复 分享
发布于 2024-09-26 00:05 江苏
能用自己的idea吗
点赞 回复 分享
发布于 2024-09-06 18:39 湖北
多多这么猛吗
点赞 回复 分享
发布于 2024-09-04 16:55 安徽
什么gb玩意
点赞 回复 分享
发布于 2024-09-02 14:52 北京
真无语这能看出啥来
点赞 回复 分享
发布于 2024-09-02 04:00 浙江
想问一下你是什么时候笔试的呀?都二面了,这么快
点赞 回复 分享
发布于 2024-08-31 17:01 河北
没问项目八股吗
点赞 回复 分享
发布于 2024-08-30 11:36 广西
太强了
点赞 回复 分享
发布于 2024-08-28 20:07 上海
nb
点赞 回复 分享
发布于 2024-08-28 17:55 北京
点赞 回复 分享
发布于 2024-08-28 15:26 上海
实习一面也是手撕HashMap
点赞 回复 分享
发布于 2024-08-28 13:19 浙江
太强了
点赞 回复 分享
发布于 2024-08-28 09:58 广东

相关推荐

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倍的速度进行扩容。
如果再来一次,你还会选择...
点赞 评论 收藏
分享
评论
35
138
分享

创作者周榜

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