首页 > 7.18 shopee二面,许愿HR面
头像
牛客122897821号
编辑于 2021-07-19 16:36
+ 关注

7.18 shopee二面,许愿HR面

0、自我介绍,顺带就把项目讲了(带缓存的多线程web server+电商后台+电商前台)
1、大概看我很紧张,唠嗑放松心情:你研一咋就找工作了?
2、开始问项目了,web server因为太简单就一句没问,主要问电商的,穿插着问一些redis和mysql的八股,自我感觉答的不是很好。印象比较深的一些问题:
(1)我的订单号问题(我的订单号是mysql自增主键,问我为什么这么做,优缺点)
(2)为什么用消息队列解决什么问题、超卖问题怎么解决的(事务+分布式锁)
(3)怎么保证原子性的(事务,提示还可以用lua)
(4)怎么解决重复购买的(我的是在客户端通过重定向提示用户……不合适,可能被调用接口攻击,可以用订单id去重)
(5)高并发场景怎么更好地解决(我的项目里用redis缓存+消息队列削峰,还可以考虑验证码、只允许前xx个请求进入其他请求直接拒绝等)
(6)问缓存穿透,答布隆过滤器,问布隆过滤器的原理,答位图+多次哈希,顺带说了特征布隆过滤器认为存在有误报率,布隆过滤器认为不存在就一定不存在
……
就回想起了这么多吧,问的很详细,面试官也非常厉害应该是经验很丰富的,给我的项目指出了很多问题,让我一度觉得我的项目是shit(本来也差不多是吧)
3、问了大半个小时项目吧,看我实在有些答不出来了,想问操作系统未遂(孤儿进程是啥?我有一点印象但是怕说错了,直接说我对jvm熟悉,操作系统不太熟)。
4、然后问数据结构:1000个数据取前50小的,答大根堆,前50个直接入堆,后面的跟堆顶比较,比堆顶小把堆顶pop掉然后数据入堆,比堆顶大直接丢掉。问复杂度,(n+k)logk
5、数组和链表区别:方便查找 /方便插入删除(应该再说一句数组遍历更快就可以扯到cpu缓存了,当时紧张忘记了)。
6、既要查找快也要插曲删除快用啥,可以平衡二叉树问复杂度,答logn。问还有啥,答红黑树,B树,B+树,跳表。
7、跳表讲一下,又是一个得分点到手。
8、做题,链表排序,用归并排序15分钟撸出来了但是递归爆栈,时间到了,面试官说思路没问题,不会特别影响给分,可以下去再调(发现是某个变量名写错了,不给用IDEA真的痛苦)
9、反问:
(1)订单号怎么改进?UUID或者雪花算法,我问UUID不会降低查询速度吗,面试官说应该是可以接受的。打算回去改进一下了。
(2)因为学java,jvm屏蔽了底层所以不太关注操作系统(其实确实还是应该学的,我有点偷懒了),操作系统要求很高吗我可以补。答基础扎实+编码能力即可,没有正面回答,感觉这个问题提的不好。
(3)可以问面评吗?答挺好的……不知道是不是安慰我😭


u1s1这个面试官真的好棒,有耐心,会提醒,知识面也非常广,给我的项目找了很多问题出来(面试官说他主要用的不是java,但是相关很多东西他都知道,包括jvm,jdbc等等)

许愿hr面

更多模拟面试

全部评论

(16) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐