3.6 京东创新零售一面凉经

处女面遇到一个非常严肃的面试官,全程只问了八股加一点场景,无手撕,我努力的在答八股的过程中提到项目中是怎么做的,但面试官一点不问(项目是自己改造的短链系统和 一个rag 项目)。只面了 25min,不知道是不是 kpi。

1.项目使用的 jdk 版本?

答:17

2.17 的新特性都了解吗?

不了解,没怎么使用过。强行讲了一个项目中对 17 默认的垃圾处理器做调优的例子。

3.G1 还有年轻代老年代吗?

答了 G1 的 region 相关。

4.jdk8 的新特性呢?

Lambda 表达式,stream 流,别的不太了解了,提了下我更了解 7->8 的一些组件设计上的升级,比如 concurrenthashmap,jvm 等等的升级。

5.stream 流常见方法?

只记得.fillter.stream.collect

6.并发请求下游接口怎么实现?

答了CompletableFuture

7.线程池任务执行顺序?

常规作答先用核心线程,然后进等待队列,都满了才会创建额外线程。

8.线程池创建后会立刻创建核心线程吗?

不会,懒加载机制。

9 为什么要采用懒加载机制?

主要答了为了节约内存资源和 cpu 资源,面试官说不对。感觉可能更想强调提升启动速度?

追问怎么关闭懒加载?不了解。

10.说了一个具体的线程池参数,问不触发拒绝策略的最大任务数?

答了最大线程数加等待队列大小。

11.拒绝策略?

答了四种拒绝策略。

12.面试官描述一大段场景,总结下就是一个A 调用 B,AB 共用一个线程池,有什么问题?

当时脑子瓦特了,说了个如果ab使用了threadlocal的话可能造成数据混乱。面试官说没有,然后提醒了下会发生死锁。

13.死锁产生条件?

讲了四大条件,并带入到这个场景说了下。

14.一个数据库表索引量的上限?

不了解,强行说了下索引肯定不是越多越好,会增加维护成本。

15.经典的联合索引问题,a,b,c什么情况下走索引?

正常回答。

16.什么情况下考虑分库分表?

答2000万行以上的数据量之后单表性能可能会显著下降,考虑分库分表。

17.面试官问为什么,说其实有时候一亿的数据量级下查询也很快。

那我不知道了啊,ai跟我说的2000万啊😭

18.redis有什么用法?

答了缓存,分布式锁,简易消息队列,redis加lua做限流,并且结合自己的项目说了。

19.项目中限流算法怎么做的?

答令牌桶,讲了下令牌桶怎么做的。

20.令牌桶算法优势和缺点?

详细讲了优缺点,并且和其他几种算法做了对比。

21.追问令牌桶能应对突发流量不是有点吗,怎么又变成缺点了?

答:在系统能应对的能力范围内是优点,如果超出系统承载能力就会变为缺点。

22.redis事务了解吗?

答了redis本身事务不怎么使用,比较鸡肋,不像mysql一样可以保证强一致性,出错无法回滚。更多的时候采用lua脚本来实现。

23.lua脚本能保证强一致性吗?

也不能,说了下lua脚本的本质,并且也无法回滚。

24.什么情况下会导致lua脚本出现数据不一致。

答了执行一半redis宕机的情况,感觉答偏了,可能更常见的是lua脚本执行一半出错?

25redis集群部署了解吗?

了解,简单讲了主从集群,哨兵模式,分片集群。

26.让你写一个消费者,优先考虑什么?

从广播模式集群模式,扯到push和pull,说主要采用push模式被打断了,面试官说怎么采用push呢,肯定用pull啊。当时给我干懵了,现在反思一下应该是一个误会,因为我主要讲的是rocketmq,而rocketmq所谓的push其实就是pull结合长轮询,导致了误会,当时没解释清楚,也怪我这块只背了没了解原理😭。

27.继续讲考虑什么?

继续扯消费者数量和queue数量的问题,以及5.0之后怎么解决这个问题的。被打断,面试官说不应该优先考虑幂等性吗?然后我继续说了rocketmq本身的策略是保证消息至少被消费一次,本身没什么好方法解决幂等性问题,更多要在业务层面解决。

28我问的就是消费者怎么考虑啊,这不就是业务上吗?

简单讲了乐观锁,分布式锁。或者状态机。深入的我也不太了解了。

29广播模式下和集群模式下处理幂等性策略有区别吗?

说了应该有区别,具体的不了解。

30.系统运行时发现出现大量消息堆积,怎么解决?

答了从两方面考虑,一个是提高消费者消费能力,比如增加消费者服务器数量,但是要考虑queue的数量和消费者数量的对比,在一个考虑对生产者利用sentinel做限流熔断降级巴拉巴拉。面试官似乎不满意,问我之前是不是没实习过。感觉我答的都是补救措施,而不能根本解决问题。

反问。

#27届求职交流#
全部评论
大佬可惜了,下次干回来
点赞 回复 分享
发布于 今天 15:55 辽宁

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结: 27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
哪些公司开暑期实习了?
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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