字节财经 二面 压力面 被拷打烂了

面试公司:字节跳动
面试岗位:后台开发
面试问题:
1. 没有自我介绍,一上来面试官直接说,你是有实习经历的是吧(我简历上压根没实习...)。我说我没有实习经历,但是有解决实际需求的项目经历,于是打算把rag项目跟他说说。结果对方直接打断然后来一句“我们这是后台开发,你跟我讲大模型有啥用”然后指名道姓要我讲另一个java项目

2. 简单介绍了下java项目,他要我说es的底层架构。我先讲了讲倒排索引,不满意;又说了说索引库、文档,还是不满意。硬是要我描述es底层是什么架构(这又不是常见面试题我两个月速成的哪有时间准备这玩意啊)最后只能道歉

3. 从这里开始我就感到不对劲了,因为这个面试官不仅会频繁打断我说话,而且只听自己想听的,完全不给我回避问题的机会。

还没完,又开始拷打我雪花算法。这个我也有一些准备,就跟他说了又符号位,时间戳,机器号和序号组成,又讲了每一部分是干什么的。结果他追问:那你怎么保证全局有序性?我说时间戳只会增大不会减小,序号可以保证一毫秒内的有序性。他继续问:那你同一毫秒内机器号大的生成序号小,最后总大小反而大怎么办?我实在没辙了,他就说你这个方案根本实现不了有序性

事后复盘这个问题的时候,我在网上搜也根本找不到这个问题相关讨论。哪怕问AI回答的也是模棱两可,最后AI说雪花算法并不能严格保证全局有序😓不是哥们这种问题你问个实习生是不是有点狠了😭

4. 问我项目中的服务是怎么搭的,我提到了nginx,他就要问我nginx的相关原理和细节。我说了反向代理的概念和正向代理的区别,不满意,要问我具体的nginx命令,不会,道歉

5. 我谈到顺序io和随机io的性能差异。他直接打断,说你说的那是机械盘吧。现在都用ssd,你说说ssd的底层原理吧。换成ssd你这套论断还生效吗?(ssd考研os课程里了解过一点,但是基本忘干净了,遂寄

6. 又看我写了redis,问我redis集群原理。讲了一番,追问用户请求访问一个key,服务端和redis发生了什么?难道要在服务端决定key在哪个分片吗?我说当然不是,服务端连任意一台实例即可,实例之间有信息交互,会帮你转发到正确的节点。说完对方没反馈,也没追问

7. 算法题:合并n个有序数组,限时20分钟。整场面试最轻松的时刻,讲思路,写代码,自己测了一遍,最后照着代码讲明白,行云流水。最后面试官问复杂度,也答对了。

反问:
base?(北京)
面试表现(不给说)
第三轮是技术面还是hr面(还是技术面,哭)

总结:和一面形成鲜明对比。首先面试官会频繁打断你,不接受你的任何引导,会执意提问很深很偏的东西直到你承认自己答不上来为止。全程眉头都紧皱,全程无反馈,只有一个问题接着下一个问题。

感觉要凉,不过看在手撕写的很顺利的份上,还抱有一丝丝希望许愿三面

#软件开发笔面经#

------------
更新:居然约三面了
全部评论
让我们说中文
30 回复 分享
发布于 03-05 13:45 江苏
ssd上也是顺序io更快,只不过没有机械盘那么离谱。字节面试官确实会遇到戾气很重的
9 回复 分享
发布于 03-05 08:40 北京
雪花算法确实不能保证id唯一,在有些情况下,时间戳主要是依赖服务器时间的,有可能服务器会发生时钟回拨现象,导致id重复,可以自定义实现雪花算法,把workid改成从redis中获取,这样的话生成的id是唯一的。应该是这样的
7 回复 分享
发布于 03-05 15:38 安徽
这么深
5 回复 分享
发布于 03-04 21:58 福建
至少分布式 ID 写入数据库时,很难保证严格有序,只能保证趋势有序。比如服务 A 拿到了 ID=1,B 拿到了 ID=2,按理说 A 先于 B 拿到 ID,那么应该是 A 写入后才轮到 B。但可能网络波动了,B 的 ID=2 先写入了,再轮到 A 的 ID=1 写入。虽然 ID 获取上是严格有序,但无法保证写入数据库时的严格有序,这中间是有时间差的 不过可以让雪花 ID 更“有序”一点:时间戳 + redis.incrAndGet(key) + 机器 ID,这样可以保证拿到的 ID 时严格递增的,不过还是会出现上面的问题——无法保证获取 ID 和写入 ID 时的严格有序。同时引入新组件 Redis,还要维护高可用,以及考虑热 key 问题
4 回复 分享
发布于 03-07 19:58 广东
压力好大啊
4 回复 分享
发布于 03-04 23:15 江苏
给他脸了,哥们去年字节二面都要跟他吼起来了
3 回复 分享
发布于 03-05 00:38 广东
玛莎哥,你直接让你妹妹艾莉甩他大嘴巴子
2 回复 分享
发布于 03-05 15:47 北京
同许愿3面,晚上也刚二面,太难了
2 回复 分享
发布于 03-05 01:18 广东
3可以学一下改良雪花算法,不过真难顶
1 回复 分享
发布于 03-05 20:06 四川
全局有序可以考虑使用一个单独的服务生成id,每次用的时候到这个服务来取,不过牺牲了可用性就是了
1 回复 分享
发布于 03-05 16:25 香港
坚持到面试结束就很棒了
1 回复 分享
发布于 03-05 15:12 山西
字节问的确实挺难的
1 回复 分享
发布于 03-05 14:51 四川
一看二面问题没一道会的
1 回复 分享
发布于 03-05 10:49 江苏
好难
1 回复 分享
发布于 03-05 08:30 辽宁
大佬好厉害
1 回复 分享
发布于 03-05 01:57 山东
加油,佬
1 回复 分享
发布于 03-05 00:40 上海
mark一下大佬经历
点赞 回复 分享
发布于 11-10 20:39 广东
忍耐王
点赞 回复 分享
发布于 04-02 10:03 天津
佬速通java的时候补了前端的知识吗
点赞 回复 分享
发布于 03-30 00:11 重庆

相关推荐

1. 自我介绍2. 问了一下项目3. cannal的作用和架构?4. Redis中用Lua脚本的优势或者好处?5. Redis内存满了之后怎么办?6. 缓存击穿,穿透,雪崩怎么解决?7. MySQL的索引覆盖是什么?以及一个场景题,问会不会发生索引覆盖8. 为什么要遵循最左匹配原则?9. 用什么工具检测IP的连通性?用端口呢?10. TCP为什么发生粘包,怎么解决粘包的问题?11. HTTP的响应吗有哪些,追问了302是什么意思,以及是怎么获取新地址的,401是什么意思?12. HTTP请求头部有哪些?13. HTTPS防范中间人攻击是怎么实现的,如果我伪装服务器呢,怎么判断?14. 什么是虚拟内存?操作系统是怎么实现延迟分配的?15. RPC框架有了解吗?注册中心的作用是什么?数据经过注册中心吗?16. Kafka是如何实现顺序消息的?17. Spring里面哪些注解用于声明Bean?18. 非阻塞I/O相对于阻塞I/O的优势在哪?19. 算法刷过吗?有什么经典百八十题做过没20. 讲讲在操作系统视角,我们常说系统切换,切换的什么东西?为什么切换会有额外的开销?21. cpu有缓存失效问题吗?怎么解决?22. volatile有什么作用?为什么有了MESI还要volatile?23. 既然CPU底层已经有了解决方案(MESI),为什么Java层面还要额外做工作(JMM)呢?24. Java里面的stream流用过吗?map和flatmap有什么区别?25. 怎么判断一个对象可以被回收?GC roots有哪些?26. Java内存模型中happen-before是干嘛的?27. 什么是系统调用?怎么发生系统调用?操作系统是怎么进行状态切换的,用什么机制?数据在这之间传递呢?28. Spring中Bean有哪些作用域?会话是什么意思?29. sleep方法释放锁了吗?
查看29道真题和解析
点赞 评论 收藏
分享
评论
86
244
分享

创作者周榜

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