首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
jangoy
深圳大学 Java
发布于广东
关注
已关注
取消关注
@Jessin:
虾皮后端开发面经(已offer)
时间点如下:6.17投递 -> 6.30一面 -> 7.15二面 -> 7.29 hr面 -> 8.5口头 -> 8.9 offer,整体来讲流程比较长,因为候选人很多,估计是备胎转正的。 一点思考 shopee比较重视大厂经验,有大厂经验是比较重要的敲门砖了。另外,一面也会出算法题,但是比较常见,********多刷刷常见题就行。语言不是很重要,因为shopee主要用的是go,所以java八股文问的不是很多,主要还是问一些操作系统、数据库、网络基础。另外,社招的话,比较讲究系统设计和架构经验,平时多多思考即可应付。 今年找工作十分不易,市场候选人很多,希望这篇面经能帮到大家~ shopee一面(6.30 11:00) 一面面试官感觉比较年轻,问的都是基础,包括操作系统、数据库、网络等,算法题不难,********上常见题。 cpu load比较高,怎么排查? jstack是怎么实现的 io多路复用如何实现?select和epoll有什么区别? volatile有什么用,内存屏障怎么实现的。 内存屏障本质上是一系列cpu指令。内存屏障是硬件层的概念。语义上,内存屏障之前的所有写操作都要写入内存;内存屏障之后的读操作都可以获得同步屏障之前的写操作的结果。因此,对于敏感的程序块,写操作之后、读操作之前可以插入内存屏障。https://zhuanlan.zhihu.com/p/125737864https://zh.wikipedia.org/zh-cn/%E5%86%85%E5%AD%98%E5%B1%8F%E9%9A%9Chttps://www.jianshu.com/p/2ab5e3d7e510 给定一个n,输出所有可能合法的n个括号对,构成的字符串 ****************************************************** zero copy怎么实现的? 写数据到磁盘时,调用mmap,内存映射到磁盘;读数据时,sendFile,从磁盘直接读取到网卡缓存。 流程回滚(异常处理)机制怎么实现的? 节点粒度级别,多个组件进行回滚。 tcp粘包是什么原因,如何解决? 如何实现无锁的递增计数器,用CAS,CAS有什么问题,竞争激烈了(线程比较多,并发比较大),怎么解决? 锁升级。 有一个很大的文件,如何快速找到前n个出现次数最多的单词 给你a/b/c三个字段,一般怎么建立索引,索引(a,b,c),是否可以使用c作为索引,mysql innodb是否可以用b树 慢查询怎么发现,怎么排查,怎么优化 kafka批量消费,如果消费过长,会导致消费超时,触发rebalance吧? 调大session timeout,而且消费逻辑很快的,sessionTimeou和pollTimeout有什么区别,哪个会出发rebalance,如何设置? shopee二面(7.15 14:00) 二面是个leader,设计题比较多,感觉是比较重视根据已有经验进行设计。 LRU cache怎么实现?get()/put()复杂度如何?如何实现过期?如何避免过期遍历所有? 过期数据使用小根堆?或者时间轮看下时间轮如何取消任务的?是立即取消还是延期取消??guava cache是如何实现过期的? RTC如何实现的?如何实现调度的? 有一批帖子,会根据类别搜索,但是现在是单独一个表,现在查询非常慢,如何提高搜索性能? 根据类别分库分表,库可以放到不同的实例上,经常查询的不变的数据可以放到缓存里。数据有更新时,需要刷新下缓存因为分表后,只能是固定类别,所以需要根据类别去分开查找。如果还有另一个重要的字段也需要查,可以再建一个分表,user-ses/ses-user就是这么做的,但是冗余就比较大了。。。 如果有多个表,进行聚合查询,如何解决深分页的问题, 就是保存每个节点的表id给前端,前端查询时把id返回过来了,然后加到SQL里,但是不一定准。这里回答的是单个表吧。。 分表的数据,动态增加一张表,不停服如何实现? 分区策略使用一致性哈希然后新表的数据,查询的时候,先查老的,再插入新的。如果老数据没有动,需要有对应的迁移服务进行定时迁移。插入的时候优先插入到新的表。 迁移线程和用户线程同时执行,会有数据库不一致的问题,怎么解决? 加分布式锁 分布式锁如何实现?redission怎么实现的?lua脚本 如果有多个字段进行查询呢?任意维度检索。 使用ES构建索引。基于binlog进行构建索引。 如何保证数据库和ES数据的一致性 定期查询数据库,校准ES。一种是写入重试。 数据库为什么用B+树?而不用哈希 利用磁盘的特性,方便范围查询多条数据,一般一个节点是一个磁盘块的倍数,例如mysql innodb是16KBhttps://mp.weixin.qq.com/s/FAZanRX22g4OB1S4d_ZCzQ 那把相邻的磁盘块放到一起就可以了? 还需要分层次,保证查找是log(n),快速定位到头和尾,而不是遍历所有磁盘块。 NEWSQL,例如tidb、leveldb、hbase使用LSM树,有了解过为什么吗? http://www.codebaoku.com/eth/eth-lsm.htmlhttps://zhuanlan.zhihu.com/p/53299778日志策略(顺序读写,只追加不修改),写性能会好很多。 LSM写操作(插入、更新、删除,直接在c0树进行操作,非常块),读操作,从内存开始读,最差可能要读到ck树(磁盘上) 当数据访问以写操作为主,而读操作则集中在最近写入的数据上时,使用LSM树可以极大程度地减少磁盘的访问次数,加快访问速度。 数据首先会插入内存中的树。当内存树的数据量超过设定阈值后,会进行合并操作。合并操作会从左至右便利内存中树的子节点 与 磁盘中树的子节点并进行合并,会用最新更新的数据覆盖旧的数据(或者记录为不同版本)。当被合并合并数据量达到磁盘的存储页大小时。会将合并后的数据持久化到磁盘,同时更新父节点对子节点的指针。 数据分片的方案非常多,可以像 Codis 那样通过转发代理来分片,也可以像 Redis-Cluster 那样使用客户端转发机制来分片,还可以使用 TiDB 的 Raft 分布式一致性算法来分组管理分片。最简单最易于理解的还是要数 Codis 的转发代理分片。 两个机房,某个机房可能断电,如何做多机房容灾。 负载均衡层,支持切换机房写数据的时候,中间件(db/redis/es)都要进行双写。kafka容灾,mirror maker: https://cloud.tencent.com/developer/article/1358933 主从机房同步有什么问题呢? 会有比较大的延迟。一些分布式的问题,例如分布式事务,可能就执行了几步,然后就挂了,需要有一定的策略,进行回滚或者提交。切换机房的过程中,可能存在数据丢失,重复数据等 双向同步,两个机房都能写入,如果操作的是各自的数据的话,问题不大。如果操作的是相同数据,必然会有冲突,需要解决。所以上层保证相同数据到同一个机房即可,然后同步到另外一个机房,保证每个机房都有全量的数据。各种中间件都要做改造。 总之,分片的核心思路在于,让同一个用户的相关请求,只在一个机房内完成所有业务「闭环」,不再出现「跨机房」访问。 阿里在实施这种方案时,给它起了个名字,叫做「单元化」。 这里还有一种情况,是无法做数据分片的:全局数据。例如系统配置、商品库存这类需要强一致的数据,这类服务依旧只能采用写主机房,读从机房的方案,不做双活。 双活的重点,是要优先保证「核心」业务先实现双活,并不是「全部」业务实现双活。 https://mp.weixin.qq.com/s/hWCmnsa3rdtMFTE_BSyg2w 冷机房新请求过来,发现缓存没有,会把数据库打挂,这个怎么解决? 预热,提前加载到缓存。或者平时保持一定的流量。用了缓存的,一般需要预热下,防止雪崩。 定时任务这种,怎么改变执行的机房。 加开关,任何时候都有一个条件不满足,在空跑。 shopee hr面(7.29 11:00) 问的离职原因,选择shopee的原因,以及讲下做的比较好的项目,估计也是看看口头沟通能力吧。之后加了微信,给了薪资流水,但是过了一周才给我口头offer,确实是候选人太多了,我一直催着才给的。薪资给的也不高,压的非常狠。
点赞 33
评论 13
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
01-22 13:37
嘉士伯_供应链管培生(准入职员工)
小天才内推,小天才内推码
小天才26秋招分享(三面凉经)tl:9.13投递-10.10自主约面-10.10一面-10.11上传作品集-10.14二面-10.16三面(交叉面) 一面:线上邮件通知选择具体面试时间段(大约20mins)面试官问题1. 请先做一个自我介绍(1分钟左右)。2. 简历项目追问3. 在校期间有获得哪些奖学金吗?4. 有挂过科吗?5. 学得最好的课程是哪些?6. 分享一个人力资源领域中你觉得很重要的知识点。7. 根据以上追问若干问题8. 结合实习经历,招聘的具体成果是你直接负责的社招岗位吗?9. 你的导师对你的工作评价是什么样的?10.追问11.综合实习经历,你目前更适合做人力哪个方向的工作?12....
点赞
评论
收藏
分享
01-23 19:43
门头沟学院 golang
25届鼠鼠无法忍耐的现代生活:回望磨炼心性的2025以及初次社招
前言写于26届春招前(或许已经开始),这是一篇迟到的总结:并不是什么经验贴,只是对过去自我经历的碎碎念。要用什么去形容我的2025年以及校招经历呢?磨炼心性我觉得是最合适的。校招阶段折磨(2024.9 - 2025.4)兜兜转转又一年,距离我上次校招已经快过去一年了,然而2025届毕业的我已经开始进入社招流程了,社招结束后又回到牛客上刷了好久帖子,感觉目前的反思帖子多起来了,氛围也是越来越好了。遥想一年前的我在校招经历了几十场互联网面试后心气全无,一心想要回到鹅厂,但也不知道喜欢什么岗位,只是因为我参与了比较多的后端实习所以就一直被各种后端业务岗捞起,而我并不了解那些所谓的业务,拿到的offe...
点赞
评论
收藏
分享
01-20 10:05
河北科技学院 Java
泪目了坚持不懈这一块
如果是开发岗也这样对我就好了😂
累死的一条狗:
稀有人才啊你简历写了啥他这么锲而不舍的问你
点赞
评论
收藏
分享
01-26 17:15
小红书_后端开发_REDstar算法工程师(准入职员工)
禾赛科技内推,禾赛科技内推码
禾赛科技 嵌入式开发(操作系统)面经⚜技术是真的过硬啊,秋招嵌入式被拷打的最狠之一。原定45分钟,拷打一个半小时,涉及知识面特别广,实际问的比这还要多,记忆有限。不过也无后续,但也没挂,估计在L3缓存里面吧⭕一面(9.18)1. 自我介绍2. 项目介绍3. 有没有测量IMU精度4. 串口有几根线,中断配置?5. IIC有几根线?讲一讲怎么通信?详细说一下读取寄存器的流程6. 说一说任务有哪几种状态?就绪和阻塞的任务放在哪里?放在同一个链表上面吗?7. 任务怎么进入阻塞态?(主动挂起,被强占,争取不到资源等)8. 说一说死锁?9. 怎么解决死锁问题?(获取不到锁的时候,释放本身的资源)10. 有...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
J人永远闲不下来于是去提前实习
2585
2
...
mentor视角下的优秀实习生
2390
3
...
拥抱AI,程序员的最后出路
2127
4
...
大厂提前实习对AI开发的新感悟
2017
5
...
牛客吐槽大会 | 有槽不吐,留着过年?吐完领现金红包,痛快!
1815
6
...
努力挣钱的意义具象化了
1806
7
...
真正会被取代的,是你心里面的幻觉
1621
8
...
去独角兽做龙头还是去大厂做凤尾
1550
9
...
我身材再曼妙,也没有我的工资好笑!
1501
10
...
马斯克最新炸裂采访,AI会带走一半工作岗位,普通人将何去何从?
1383
创作者周榜
更多
正在热议
更多
#
牛客吐槽大会
#
3208次浏览
69人参与
#
机械人你知道哪些单休企业
#
83121次浏览
415人参与
#
今年春招是金一银二嘛?
#
8762次浏览
119人参与
#
参加完秋招的机械人,还参加春招吗?
#
103763次浏览
686人参与
#
1月小结:你过的开心吗?
#
1979次浏览
52人参与
#
抛开难度不谈,你最想去哪家公司?
#
4753次浏览
118人参与
#
为什么有人零实习也能进大厂?
#
5393次浏览
132人参与
#
AI求职实录
#
4002次浏览
111人参与
#
AI时代的工作 VS 传统时代的工作,有哪些不同?
#
8589次浏览
207人参与
#
机械人春招想让哪家公司来捞你?
#
379320次浏览
3141人参与
#
当你问AI“你会取代我的工作吗”,它说_?
#
3903次浏览
141人参与
#
你的第一家实习公司是什么档次?
#
4431次浏览
75人参与
#
没关系,至少我的__很曼妙
#
3810次浏览
65人参与
#
赚钱的意义在这一刻具象化
#
4114次浏览
99人参与
#
你的landing期是如何度过的?
#
8942次浏览
174人参与
#
除了Java,最推荐学什么技术?
#
6126次浏览
150人参与
#
我发现了面试通关密码
#
1600125次浏览
19679人参与
#
一人一道大厂面试题
#
114124次浏览
1263人参与
#
你觉得什么岗位会被AI替代
#
36865次浏览
256人参与
#
你在职场上见过哪些“水货”同事
#
30772次浏览
168人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务