阿里java简历面凉经分享

今天中午正吃饭阿里面试官跟我约今晚8点的面试,经过紧张的等待8点面试电话准时而至:

1.自我介绍一下。
2.说一下JMM与GC算法。
3.说一下有关并发和锁的所有你知道的东西(synchronized,reenrantLock,AtomicInteger等等巴拉巴拉说了10分钟)
4.SpringMVC过程
5.项目(kafka、sparkStreaming等)
6.项目(redis,十几万条已排好的数据在redis里,这时新来了一条数据,怎么快速更新排行榜,这个问题说了好久没说到面试官想要的答案)
7.反问,问回答评价,不方便告知,问是否能实习,说不能。。。。这不是凉了是啥。。。。

#阿里巴巴##面经##实习##Java工程师#
全部评论
排行榜一般情况只显示海量数据中的百分之一,比如拿王者荣耀区服排行榜来说,只需将原先已排序的数据中前100个数据拿出来建小顶堆,随机新来的数据与堆元素比较即可,若满足条件,adjustdown 调整,不满足即可忽视,说明新来的数据未在前100之内,因此排行榜无需变动,当用户点击下一页查看101到200名之间的排名情况时,重复上述过程,建堆时间复杂度以及调整都可以以极低的时间复杂度,瞬间可以让用户感知排名情况,个人想法,可能不对,哈哈哈哈
点赞 回复
分享
发布于 2019-08-04 21:34
大佬,你的面试怎么来的这么快,春招投过阿里吗?
点赞 回复
分享
发布于 2019-08-04 23:31
阿里巴巴
校招火热招聘中
官网直投
楼主什么部门什么岗啊  一面这么难啊
点赞 回复
分享
发布于 2019-08-04 21:18
老哥能说下redis那个的思路嘛。
点赞 回复
分享
发布于 2019-08-04 21:26
之前排行榜都是redis的sortedset 但是数据量大的不知道该怎么回答
点赞 回复
分享
发布于 2019-08-04 21:55
如果是用sorted set 来存,十几万的数据,我觉得对于logn的插入效率,不算大,直接插入就行了吧,跳表的元素都有序的
点赞 回复
分享
发布于 2019-08-04 22:28
他想问跳表的增加码?十几万数据也就查不到20次,内存够感觉问题不大
点赞 回复
分享
发布于 2019-08-04 22:36
应该是问zadd命令,原理就是通过跳跃表结构快速逐层锁定范围,加快二分查找的效率
点赞 回复
分享
发布于 2019-08-04 22:51

相关推荐

4 69 评论
分享
牛客网
牛客企业服务