高途课堂 Java工程师 社招面经

一面
1.项目为什么要用消息队列?改成异步接口不行吗?

2.消息可靠性,消息重复消费。如果消息丢失,你应该怎么尽量地让用户觉得此次下单的

公平性?

3. Redis 性能为什么高?Redis的lua脚本,为什么能保证原子性?如果lua脚本在库存扣减

完以后执行出错怎么办?

4.项目如果要跟小公司进行对接,你会怎么做?

5. JVM 内存布局?GC算法?

6.请从操作系统以及CPU指令(怎么操作内存的)的角度去解释为什么会出现线程不安全?

7. http里面包含什么?

8. 两堆乱序扑克牌,要求合并成一堆有序的牌堆,怎么做?(归并+随便一个排序)时间复

杂度?

9.如果两堆1TB 的数据,要求合并成一堆有序的牌堆,怎么做?(归并+内部排序,分而治

之)

10.回到扑克牌的这个主题,要求把一堆乱序的扑克牌进行排序,如果要极致地压榨性能,

应该怎么做?时间复杂度能达到多少?(小智力题)

最后就是反问。


二面25min

面试官开局就介绍自己部门以及他们版本发布的制度跟频率,面试官也说了主要考察我广

度。然后面试正式开始。

但全程就是像普通聊天一样,面试官他自己也会去解答自己问的问题,或者介绍业务跟技术

栈。

1. UDP跟TCP的区别及场景?

2. Mysql三范式?为什么会有这三范式?

3. 缓存中间件了解吗?Redis,Memcache?(缓存中间件广度)Redis有多少种数据结构?

应用场景?为什么高性能?

4. zk了解吗?(注册中心广度)

5. kafka 了解吗?(mq广度)(介绍了卡夫卡在他们业务上的使用)

6.微服务设计思想?为什么需要这样设计?好处?

7.了解过Golang 吗?说说你的使用感受以及理解?


#高途##java工程师##社招##面经#
全部评论
这不是B站的面试题吗、又搬?
1 回复
分享
发布于 2021-07-05 20:08

相关推荐

点赞 评论 收藏
转发
1 8 评论
分享
牛客网
牛客企业服务