字节一面后端凉经,反问环节直接喊我去投其他岗了

项目相关:1.为什么要用SOFA-Bolt?

详细讲一下RocksDB的原理,它的底层框架是什么,它的优势是什么?据我了解,RocksDB也是把数据存在内存,在你的场景下为什么不用redis?

你所知道的常见的KV存储有哪些,他们各自的优势与劣势有哪些,为什么你要自己设计这样的分布式KV存储?

2.如何实现动态代理屏蔽RPC调用细节?

为什么要选择Kryo做序列化?

为什么要设计Json和Kryo混合的序列化,你说你的目的是标识不同通道和设备信息,这些可以被写入数据包,混用两种序列化方式不会效率更低吗,似乎没有意义。

你用过哪些负载均衡的方法,你觉得基于一致性的Hash负载均衡比其他负载均衡的优势是什么?

你提到了你使用了多台服务器,如果其中一个挂掉,你的RPC框架是如何实现弥补的?(答了个主从复制,相互之间RDB或者AOF存副本,被质疑服务器框架不涉及主从复制)

八股:

1.你是如何进行JVM排查与调优的,用的哪些工具,关注了哪些可调节的参数。

2.内存垃圾回收器你了解哪些(我就答了个G1,ZGC,串行),他们的区别是什么并阐述具体几类垃圾回收器的原理和运行流程,以及对应的垃圾收集算法和他们的优势与局限性(标注清除啊,复制啊之类的)。

3.JAVA集合你了解吗,有哪些,他们的特性是什么?

Hashmap的本质是什么,什么时候会树化,它是线程安全的吗,如果是不安全的,从它本质的数据结构解释问什么不安全。有没有hash相关线程安全的集合,他是如何实现线程安全的?

4.线程池是如何创建的,你创建的时候用了哪些参数,如何解释这些参数,如何动态修改这些参数?

线程池不同状态的转移,以及在你的开发中如何使用线程池?

为什么会使用线程池,和直接分别创建线程的优势有哪些?(答了个核心是复用线程)

5.手撕,反转链表,每K个子链表反转。

不难,单纯我菜,时间内没A出来。吐槽一下,给的示例代码里不是和力扣一样有创建好的链表,得自己先写一个链表框架,我在这一步都卡了好久,下次链表二叉树也得记一下标准模板了。

总结:虽然预料到可能要被爆问压力,但是还是准备得不够,特别是项目里很多技术细节没有掌握和实操去深化,反问的时候直接喊我去投别的岗了。宇宙厂还是太狠了,面试官技术储备很扎实,好好总结准备其他厂吧。

全部评论
看来一次面试,是个很好的考验,好事多磨,会找到更合适你也满意的机会的
点赞 回复 分享
发布于 昨天 13:55 陕西

相关推荐

09-05 17:47
南开大学 Java
📍面试公司:字节跳动🕐面试时间:9月5号💻面试岗位:后端开发❓面试问题:**一、八股**1. Java中synchronized和ReentrantLock的区别?底层实现原理是什么?2. JVM垃圾回收算法中,G1和ZGC的适用场景和优缺点是什么?3. Spring Bean的生命周期是怎样的?哪些扩展点可以干预?4. MySQL的索引为什么使用B+树而不是B树或哈希表?5. Redis的缓存穿透、雪崩、击穿分别是什么?如何解决?6. 什么是RPC框架?Dubbo和gRPC在设计理念上的区别是什么?7. Kafka如何保证消息的顺序性和可靠性?8. 分布式ID生成方案有哪些?雪花算法的实现原理和缺陷是什么?9. 如何实现一个高性能的延迟任务系统?10. 谈谈你对Service Mesh的理解,比如Istio的工作原理。11. Java中ThreadLocal的原理和内存泄漏问题如何避免?12. 数据库分库分表后,如何解决跨库查询和分布式事务问题?13. 什么是最终一致性?如何通过消息队列实现?14. 微服务架构中,如何设计API网关的限流和熔断策略?15. 谈谈Java类加载机制,双亲委派模型被破坏的场景有哪些?**二、项目**1. **仿拼多多拼团项目**:- 如何保证分布式环境下库存扣减的强一致性?- 针对瞬时高并发流量,系统做了哪些限流或降级措施?2. **AI Agent项目**:- 在多轮对话场景中,如何管理Agent的上下文状态?- 如果Agent任务执行超时或失败,如何设计重试和补偿机制?**三、手撕**1. 力扣279.完全平方数:给定正整数n,找到若干完全平方数(如1,4,9,…)使得它们的和等于n,返回最少需要的个数。- 示例:n=12,输出3(12=4+4+4);n=13,输出2(13=4+9)。- 思路:动态规划,dp[i]表示和为i的最小平方数个数,状态转移方程为dp[i]=min(dp[i], dp[i-j*j]+1)。
查看19道真题和解析
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

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