快手日常面试(二面感觉要凉)
哈喽大家,喵弟面经分享
大厂的面试确实不一样,只能说顺子还是不赖的,好歹没算法
一面 tl:23号投递 29号一面
记忆不太清晰了 对手撕和场景题印象比较深
1.实习与项目
- 我看你项目中用到了zset做排行榜,那我现在要是有一千万个用户,该怎么办呢(回答的可以分积分段存,比如存下积分超过一定阈值的用户,或者直接类似于mysql,做一个分表存)
- zset底层结构讲一下,跳表的优点,为啥不用b+树呢
- mysql这块,如果有一个慢sql,你怎么办
- 索引失效情况
- b+树相较于b树和哈希的优点是什么,为什么就选了b+树
- 怎么保证缓存和数据库一致性(最后提到了消息队列)
- spring中设计模式的体现
- jvm中内存模型
八股涉及的确实不多,手撕两道
- 类mvcc数据结构 要求设计出一种数据结构,可以用于保存指定版本的数据,基于数组实现,比如 mvccarr arr=new mvccarr(3);这是初始化 意思是开一个大小为3的空间 set方法用于存指定位置指定数字 get方法用于取指定版本指定位置的数字 sign用于保存版本
- 合并区间
一面总体给的反馈是算法有些弱 但是基础不错,思维有
二面 1.6号晚 刚面完就来写 因为觉得大概率凉了
围绕项目和实习,先是拷打项目,之后提到了实习,但因为实习过程中没有特别的工作产出,最后反馈的时候给的答复是其他地方还可以,实习的话没觉得有什么体现和工作内容,老实交代了工作确实就是一个合作项目,没什么深入点,项目拷打的话基本都基于rag,有一个问题还被问穿了(权限过滤问题),第一次遇到这种情况,做好复盘,下次精进
手撕:合并两个区间,大体意思就是合并区间的升级版,比如区间a为【1.3】【5.8】【11.13】 区间b为【2.5】【6.9】【12.14】合并后的效果为【1.9】【11.14】 写了一会 说了大体思路后 被问了时间复杂度如何 我说平均应该是n平方 最好情况下是n 就没让继续写了 有思路的小伙伴可以交流一下呀 因为本人算法是弱项 最近一个月才开始做
最后老生常谈的实习时间,offer情况的询问,我觉得我这块优势最大,可以一直实习哈哈哈,offer老实回答了拿了俩意向仨offer,已拒二,留一等快手这边结果(等快手大人您发我offer呢)
问了组内工作和面试感觉如何,面试官回答说,回答的还可以,实习这部分没体现工作内容和产出,但是面试官人还可以,虽说拷打了项目,但是也帮助我找到了新的问题,真的,多面多得啊哈哈。
总的来讲过的概率不大,我现在人已在杭州明天入职同花顺了,所以就让他顺其自然吧,过了我就再折腾去北京(当然是最好的),不过就老实实习准备暑期


查看3道真题和解析