虾皮一面

9.23一面
本人投递岗位:后端开发工程师
Base:深圳
面试时长:预计一小时但最后只面了40min(感觉已经挂了)
面试之外: 面试当天会发邮件提醒,不过比较意外的是时间被改到了下午三点,之前约的是下午四点半,在这之前一点没有通知我改时间,好在我那个时间段也是有空的,各位可以注意下。

题目总览: 八股+场景/设计+一道手撕+一道SQL

自我介绍
计网:
- 介绍下TCP
- TCP三次握手& 四次挥手 (感觉是必问的,我看虾皮的面经基本都问了这个)
pring:
- Spring MVC处理流程
Java:
- HashMap源码(底层实现)
- HashMap为什么用红黑树
- HashMap怎么扩容
JVM:
- 做项目遇到过OOM么?
- OOM一般发生放在哪些区域
- 怎么处理OOM
- JVM调优
场景/设计:
- 十亿左右的订单数据,主要有订单ID,用户ID,商品ID三个字段,怎么把它存到MySQL中去
- 分库分表的话那么单表的数据你觉得应该设置多大?
- 你会按照什么逻辑进行分库分表? 
- 假如按照刚才的设计,现在需要查询用户A最近一个月的所有订单,怎么查询?
(这里岔开讲了redis八股,然后又回到了场景设计)
- 在线购物平台,如果出现大规模订单请求,怎么对系统进行优化升级(高并发)
- 怎么确保订单数据不丢失(从前端到后端)

Redis:
- 你平时用redis会用到哪些数据结构
- zset为什么可以排序/实现有序
- 你在项目中怎么用Redis的,具体说明
手撕:
- 二叉树原地转成链表(按照前序遍历的顺序),核心代码模式即可
写完不需要跑样例,只需要说明思路以及时空间复杂度
SQL:
一个employee表,一个department表,要求查询出每个部门工资最高的5个员工。

自我反省: 八股回答地还可以,但是场景设计被拷打烂了,还是缺少相关的积累,虽然目前还没把我挂了,但感觉已经没啥机会了,就当积累经验吧

9.25更新:
不出意外收到感谢信了
#牛客AI配图神器#
#发面经攒人品#
全部评论
都回答上来了嘛?
点赞 回复 分享
发布于 昨天 11:05 北京
窗口函数好难
点赞 回复 分享
发布于 10-02 18:52 江西
南大✌也不要吗 我等下面这个部门的实习岗 感觉gg
点赞 回复 分享
发布于 09-29 13:44 重庆
sql感觉不太好写啊,窗口函数完全不会
点赞 回复 分享
发布于 09-28 15:47 吉林
老哥,有说多久会有消息吗
点赞 回复 分享
发布于 09-24 22:42 广东
接好运
点赞 回复 分享
发布于 09-24 02:36 湖南

相关推荐

09-12 22:20
已编辑
电子科技大学 后端工程师
处女面,不问八股不问项目,全程40min场景题,被问傻了,没录音,根据印象写几个1. 自我介绍2. 场景题:场景描述了很长时间,没听明白,后来面试官说就是设计一个排行榜,显示商品的下单量排行,什么商品最热销。我答ZSET,追问在高并发的情况下ZSET的问题,看我没反应又问ZSET的时间复杂度,然后又问在数据量非常大的情况下ZSET排序耗时比较长,怎么解决blabla,没get到什么意思3. 场景题:用户在查询商品信息的时候,为了提升响应速度,可以加Redis缓存,但是走Redis缓存也是需要时间的,而我们的服务器也是有缓存的,怎么设计才可以尽量避免访问外部缓存,尽可能提高服务器本地缓存的命中率4.场景题,怎么设计每个用户只下一单,然后追问怎么设计用户只下10单,后面问的忘了5. 场景题:我们的商城可能会有很多机器人混到用户里面,发送大量的请求,所以怎么做限流?答令牌桶,漏桶,ZSET窗口限流blabla6. 追问:用ZSET滑动窗口实现的话时间复杂度是多少,然后这样的话会影响到所有用户发来的请求,如何实现单个用户层面的限流?我答的是每个用户维护一个令牌桶,继续追问具体怎么实现这样的令牌桶,答用redis键值对保存用户剩余令牌数量然后周期性的刷新value,继续追问那这个刷新key的动作应该交给谁去做,到这里真答不上来了7.怎么设计才能让用户查询商品的速度最快,答es,追问es为什么查询最快,es是怎么查询数据的,用户的数据怎么插入es,还有es要保存的数据量非常大怎么办,我说建立es集群,面试官说服务已经部署好了,问的不是这个。中间还顺便问了怎么加快db的查询速度,只想到了加索引...寄8. 手撕全排列,ACM模式,写出来了,但是有意义吗。。。更新,竟然过了,两小时后通知二面。。。。太玄学了
查看7道真题和解析
点赞 评论 收藏
分享
评论
4
17
分享

创作者周榜

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