字节国际电商二面面经 已约三面

5/17
1. 为什么要有集群,项目中集群的好处,你提到了用dubbo做rpc,那么集群如何实现远程服务的动态发现(有zk作为注册中心),高并发情况下你如何保证redis的稳定性(加机器做集群,哨兵,没钱玩不了高并发),如果redis被打爆了。你的集群如果被打爆有做什么兜底吗(没有实践过)
2. 消息队列三大问题:消息丢失,消息积压,消息幂等性的解决方案。你在幂等性的解决方案中提到唯一id使用了雪花算法,讲一下雪花算法的实现和缺点(高度依赖时钟周期,高并发下时钟失效)
3.将一下redis的缓存写(双写双删和canal监听binlog),缓存穿透的解决方案(空对象+布隆),布隆过滤器的原理(基于位图,有漏盘风险)
4. 看你说你懂spring的ioc和aop,讲一下ioc最核心用到的设计模式(答成了动态代理模式,实际上aop核心是基于动态代理的)工厂模式有什么好处(spring中方便我们注入bean,估计面试官觉得工程模式是spring ioc最核心的模式,因为自己ioc立马就能想到反射,反射就反射性想到动态代理了,这里答的不满意)
5。开始问数据库,索引失效的一些场景。你是怎么做优化数据库select查询的:
6.你提到了数据库游标,游标确实是可取的方案,但是也伴随着危险性,我来给你讲两个场景比如我们定时任务进行库存扫表的时候就用游标扫描,你知道这样的隐患吗(知道,如果扫描过程中新的请求进来正好修改了扫过的数据,然后扫描时间不一致就会导致漏扫情况)。还讲了一个场景,直接道歉了
7.数据库的四个隔离级别,分别解决了什么问题,结合银行取钱场景说一下
8. java 集合,hashmap concurentHashmap问了一下,反正都是哪些比较常见的集合问题了
算法:寻找两个正序数组的中位数(top100原题,三分钟秒了)
反问:
面试表现(面试官:这个不能告诉你,你去问三面的面试官我:?嗯哪里不对)
提升建议:(经验不足,项目和实习场景较为普遍,单作为实习生和校招生可以理解,服务注册和发现那边有盲点)
最后问了下英语水平,发现我雅思6.5就免了英语自我介绍。
晚上问了下过了,下周约三面
#字节跳动##后端面经##日常实习##实习##暑期实习#
全部评论
感觉字节面试官的偏好虽然不太统一,但是有个很明显的倾向就是摸底考察 就跟树的搜索一样,一定要顺着一个知识点逐步扩展直到搜索到你的叶子节子,也就是答不出来了 不过摸底就是摸底,只要你技术栈广度和深度让面试官满意了就行
6 回复 分享
发布于 2024-05-17 22:12 湖北
好兄弟你这ID
点赞 回复 分享
发布于 2024-06-20 20:52 北京
hxd,你消息丢失,消息积压这两个问题怎么回答的呀,尤其是消息积压,要是我能想到的就是「从增加消费者的消费能力这一方面入手了,具体做法就是加消费者服务器配置」
点赞 回复 分享
发布于 2024-05-22 22:00 北京
我*,这就是强者吗
点赞 回复 分享
发布于 2024-05-20 16:09 澳大利亚
hello,兄弟,算法题,找中位数,你用的是最优解法吗? (我目前 hot100 只有这题的 logn 解法不太能 hold 住)
点赞 回复 分享
发布于 2024-05-18 11:46 北京
两个正序数组中位数强制让用分治或者二分写的嘛
点赞 回复 分享
发布于 2024-05-17 23:31 山东

相关推荐

上周组里招人,我面了六个候选人,回来跟同事吃饭的时候聊起一个让我挺感慨的现象。前三个候选人,算法题写得都不错。第一道二分查找,五分钟之内给出解法,边界条件也处理得干净。第二道动态规划,状态转移方程写对了,空间复杂度也优化了一版。我翻他们的简历,力扣刷题量都在300以上。后三个呢,就有点参差不齐了。有的边界条件没处理好,有的直接说这道题没刷过能不能换个思路讲讲。其中有一个女生,我印象特别深——她拿到题之后没有马上写,而是先问我:“面试官,我能先跟你确认一下我对题目的理解吗?”然后她把自己的思路讲了一遍,虽然最后代码写得不是最优解,但整个沟通过程非常顺畅。这个女生的代码不是最优的,但当我问她“如果这里是线上环境,你会怎么设计’的时候,她给我讲了一套完整的方案——异常怎么处理、日志怎么打、怎么平滑发布。她对这是之前在实习的时候踩过的坑。”我在想LeetCode到底在筛选什么?我自己的经历可能有点代表性。我当年校招的时候,也是刷了三百多道题才敢去面试。那时候大家都刷,你不刷就过不了笔试关。后来工作了,前三年基本没再打开过力扣。真正干活的时候,没人让你写反转链表,也没人让你手撕红黑树。更多的是:这个接口为什么慢了、那个服务为什么OOM了、线上数据对不上了得排查一下。所以后来我当面试官,慢慢调整了自己的评判标准。算法题我还会出,但目的变了。我出算法题,不是想看你能不能背出最优解。而是想看你拿到一个陌生问题的时候,是怎么思考的。你会先理清题意吗?你会主动问边界条件吗?你想不出来的时候会怎么办?你写出来的代码,变量命名乱不乱、结构清不清楚?这些才是工作中真正用得到的能力。LeetCode是一个工具,不是目的。它帮你熟悉数据结构和常见算法思路,这没问题。但如果你刷了三百道题,却说不清楚自己的项目解决了什么问题、遇到了什么困难、你是怎么解决的,那这三百道题可能真的白刷了。所以还要不要刷LeetCode?要刷,但别只刷题。刷题的时候,多问自己几个为什么:为什么用这个数据结构?为什么这个解法比那个好?如果换个条件,解法还成立吗?把刷题当成锻炼思维的方式,而不是背答案的任务。毕竟面试官想看到的,从来不是一台背题机器,而是一个能解决问题的人。
牛客51274894...:意思是光刷力扣还不够卷
AI时代还有必要刷lee...
点赞 评论 收藏
分享
评论
11
82
分享

创作者周榜

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