字节财经 二面 压力面 被拷打烂了
面试公司:字节跳动
面试岗位:后台开发
面试问题:
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面(还是技术面,哭)
总结:和一面形成鲜明对比。首先面试官会频繁打断你,不接受你的任何引导,会执意提问很深很偏的东西直到你承认自己答不上来为止。全程眉头都紧皱,全程无反馈,只有一个问题接着下一个问题。
感觉要凉,不过看在手撕写的很顺利的份上,还抱有一丝丝希望
许愿三面
#软件开发笔面经#
------------
更新:居然约三面了
面试岗位:后台开发
面试问题:
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面(还是技术面,哭)
总结:和一面形成鲜明对比。首先面试官会频繁打断你,不接受你的任何引导,会执意提问很深很偏的东西直到你承认自己答不上来为止。全程眉头都紧皱,全程无反馈,只有一个问题接着下一个问题。
感觉要凉,不过看在手撕写的很顺利的份上,还抱有一丝丝希望
#软件开发笔面经#
------------
更新:居然约三面了
全部评论

让我们说中文

ssd上也是顺序io更快,只不过没有机械盘那么离谱。字节面试官确实会遇到戾气很重的
这么深

雪花算法确实不能保证id唯一,在有些情况下,时间戳主要是依赖服务器时间的,有可能服务器会发生时钟回拨现象,导致id重复,可以自定义实现雪花算法,把workid改成从redis中获取,这样的话生成的id是唯一的。应该是这样的
压力好大啊

给他脸了,哥们去年字节二面都要跟他吼起来了
同许愿3面,晚上也刚二面,太难了
至少分布式 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 问题
加油,佬


大佬好厉害
一看二面问题没一道会的

字节问的确实挺难的
坚持到面试结束就很棒了


玛莎哥,你直接让你妹妹艾莉甩他大嘴巴子


全局有序可以考虑使用一个单独的服务生成id,每次用的时候到这个服务来取,不过牺牲了可用性就是了
3可以学一下改良雪花算法,不过真难顶
加油
忍耐王
相关推荐

点赞 评论 收藏
分享

点赞 评论 收藏
分享
点赞 评论 收藏
分享