首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
offers快到碗里来
2019-03-11 16:00
已编辑
门头沟学院 Java
关注
已关注
取消关注
面试中的hashmap要讲到什么程度才能让面试官满意?
比如说插入过程,要详细讲红黑树的变化过程吗,还是说只要讲一下判断当前node是链表还是红黑树,然后直接插入
提示
全部评论
推荐
最新
楼层
幕兮
贵州大学 Java
比如HashMap与HashTable的区别,HashMap的默认容量、扩容因子、扩容机制、底层的数据结构,以及HashMap底层在Java7与Java8中的区别,为何要将数组+链表改为数组+链表+红黑树,最后还要说一下HashMap线程不安全的场景,由此会延伸至线程安全的ConcurrentHashMap,然后就要讲ConcurrentHashMap的底层结构,以及ConcurrentHashMap在Java7与Java8中是如何保证线程安全的,由此又会延伸至CAS算法……总之面试都是环环相扣的,不会只问你单个知识点。
点赞
回复
分享
发布于 2019-03-11 16:13
sanli
安徽工程大学 Java
有多少说多少啊,假如面试官叫我介绍hashmap,我会从它的构造开始说,说到容量会被处理成2的n次方,分析一下为什么是2的n次方,然后说put、get过程,还有resize以及resize后的数据迁移是怎么迁的,比对一下1.7和1.8的不同,大概这些
点赞
回复
分享
发布于 2019-03-11 16:11
昵称好难找到
快手_技术专家
知道用法,原理,加上自己的理解。一些很细节的东西没必要死抠,记得住就更好了
点赞
回复
分享
发布于 2019-03-11 16:11
Bigmonster
哈尔滨理工大学 Java
按我理解的话,如果你对红黑树熟的话可以讲一下红黑树,不熟就用链表长度超过8就转成红黑树一带而过,作为一个90%以上的面试都要考的知识点,你如果知道并且会写get,put的源码,基本上应该算是掌握了
点赞
回复
分享
发布于 2019-03-11 16:06
幕兮
贵州大学 Java
大概说一下HashMap的面试过程吧,以下用A代表面试官,B代表应聘者。 A:您应聘的是Java岗位是吧,使用过Java的集合框架吗? B:使用过,比如ArrayList、HashMap、HashSet……巴拉巴拉…… A:说说您对HashMap的理解? B:HashMap是常用的Java集合之一,是基于哈希表的Map接口的实现。设计目标是尽量实现哈希表O(1)级别的增删改查效果,默认容量是16,扩容因子……底层结构是……巴拉巴拉…… A:说到HashMap的底层结构,您知道Java7与Java8中的HashMap有何区别吗? B:知道,Java7的HashMap底层数据结构是数组+链表实现,而Java8是数组+链表+红黑树实现……巴拉巴拉…… A:为什么要加入红黑树呢? B:因为在某些极端情况下,会导致大量元素都存放在同一个桶(数组索引是链表的表头)的链表中,此时的HashMap 就相当于一个单链表,假设链表中的元素个数为n个,则其操作时间复杂度就变成了O(n),此时就完全失去了哈希表的优势。 A:HashMap与HashTable的有何区别知道吗? B:知道,HashMap与HashTable主要区别为不支持同步和允许null作为key和value…… A:说说HashMap线程不安全的场景? B:1、多线程同时put时可能会丢失值。2、多线程扩容时会出现环状结构,造成死循环……巴拉巴拉…… A:如何解决HashMap的线程不安全? B:使用 Collections 的 synchronizedMap() 对其进行包装,或是直接使用线程安全的ConcurrentHashMap……巴拉巴拉…… A:说说这两种方式的区别? B:使用synchronizedMap包装在同步时会锁住整张表,而ConcurrentHashMap会使用自身的同步机制,比如分段锁或是CAS…… A:说说您对ConcurrentHashMap的理解? B:ConcurrentHashMap 在 JDK1.7 时被加入,是 HashMap 线程安全的版本,其使用方式与 HashMap 一样,底层数据结构在Java7和Java8时都与HashMap相同,只是加入了线程安全的保障……巴拉巴拉…… A:说说Java7和Java8中的ConcurrentHashMap是如何保证线程安全的? B:Java7的ConcurrentHashMap使用的是分段锁机制,巴拉巴拉……,因为XXX原因,Java8抛弃了分段锁,改成使用CAS算法+synchronized关键字来保证线程安全,巴拉巴拉…… A:嗯,说说您对CAS算法的理解。 B:所谓CAS算法即Compare And Swap……巴拉巴拉…… 以上大致就是HashMap的面试过程,知识点非常多,若是时间充足的话,面试官会根据你的回答进行深入和延伸,答得够仔细的话,面试官对你的印象肯定会很好的,但若是有一环节答不上来的话,不知道就说不知道,面试官会跳过该问题往后问其他的,千万不要不懂装懂,或是卡住答得模棱两可的,这个很要命,还有在回答问题的时候,尽量把面试官往你自己会的方向引,充分体现自己的能力。
10
回复
分享
发布于 2019-03-11 17:59
暂无评论,快来抢首评~
相关推荐
12-18 20:11
门头沟学院 全栈开发
反问面试官
可以问你觉得程序员最好的出路是啥吗
点赞
评论
收藏
分享
12-17 15:07
浙江大学 Java
写一个Java死锁的例子
图解Java多线程牛客面...
点赞
评论
收藏
分享
11-18 21:29
门头沟学院 Java
B站日常实习入职
感谢阿b收留,可能部门招人比较急,所以流程超丝滑,基本二面结束第二天就oc啦工位靠窗风景很好,mentor很nice~茶水间咖啡无限续饮(我是大水桶一天都要吨吨吨没个完工位有萌萌的猫猫狗狗,打算找个机会去狠狠撸一撸,第一天刚到脸皮还没修炼到家只敢远远看着qwq
哔哩哔哩公司福利 903人发布
点赞
评论
收藏
分享
12-08 17:28
无锡高等师范学校 算法工程师
最后再看下工位,就走吧
牛马人的牛马人生:
一开始看成了网吧
点赞
评论
收藏
分享
12-17 15:52
浙江大学 Java
进程间共享内存通信有什么好处
图解操作系统-牛客面经八...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
82
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
26届双非本鼠硕拿下5个ssp的秋招总结及一条龙经验分享
4031
2
...
2025 一半沉淀,一半兑现
3285
3
...
【求助】被hr骂“刷子”什么意思?
3253
4
...
大二混子终于找到实习了...
2711
5
...
校招入职半年之后又回到了这个地方
2665
6
...
小米真有你的,汽车定金不想退,裁员补偿不想给
1610
7
...
在mentor视角谈谈实习生摸鱼
1572
8
...
字节客户端实习
1511
9
...
把“购买社保”打成“狗买社保”
1404
10
...
双非本得到了第一个offer
1152
创作者周榜
更多
正在热议
更多
#
你小心翼翼的闯过多大的祸?
#
4335次浏览
69人参与
#
找不到实习会影响秋招吗
#
1400001次浏览
13635人参与
#
实习没事做是福还是祸?
#
4645次浏览
69人参与
#
重来一次,你会对开始求职的自己说
#
985次浏览
20人参与
#
2025年终总结
#
135277次浏览
2302人参与
#
考研人,我有话说
#
156646次浏览
1211人参与
#
哪些公司笔/面试难度大?
#
7091次浏览
32人参与
#
实习简历求拷打
#
24593次浏览
251人参与
#
你觉得现在还能进互联网吗?
#
29981次浏览
201人参与
#
携程工作体验
#
18968次浏览
66人参与
#
大厂VS公务员你怎么选
#
69159次浏览
638人参与
#
扒一扒那些奇葩实习经历
#
140206次浏览
1149人参与
#
找不到好工作选择GAP真的丢人吗
#
93738次浏览
1007人参与
#
那些我实习了才知道的事
#
253167次浏览
1785人参与
#
非技术投递记录
#
672995次浏览
6821人参与
#
机械求职避坑tips
#
81105次浏览
531人参与
#
投格力的你,拿到offer了吗?
#
155048次浏览
829人参与
#
第一份工作能做外包吗?
#
94104次浏览
599人参与
#
作业帮求职进展汇总
#
85566次浏览
559人参与
#
秋招遇到的奇葩面试题
#
101279次浏览
416人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务