小米软件开发Java面经

二面:
1、手撕做题:力扣 15.三数之和
2、浅谈实习
3、熟悉 SpringCloud 的哪些组件?
4、项目中用到的是 Seata 的哪种分布式事务模式?底层原理是怎样的?
5、项目中的限流操作是把什么作为限流的资源?
6、代码中一个接口的限流代码是怎么去实现的?
7、假设现在我的服务上有成百上千个接口,现在都需要去做限流熔断的操作,如何基于 Sentinel 去实现?
8、谈谈自定义一个组件集成到 SpringBoot 中,应该做哪些操作?
9、使用过 Java 的哪些 JUC 工具?
10、假设有一个线程 a 和一个线程 b,它们分别有自己的任务 A 和任务 B 需要完成,但是 b 线程需要等待 a 线程执行完任务 A 后才可以执行任务 B,请问有哪些实现方式,越多越好
11、volatile 保证变量可见性的原理?
12、用 synchronized 加锁能否保证可见性?
13、一般业务中通过什么来创建线程池?线程池有哪些核心参数?
14、假设一个场景,项目中用到了线程池,在服务上线前,我依据自己的经验预设了一些线程池的参数,服务真正上线后,面对 C 端的流量我无法保证我预设的参数是最合适的,就需要去动态的调整这些参数,如何去设计一个具备动态性能的线程池?
15、针对问题 14 我提出把核心参数的设置交给配置中心,创建线程池时读取参数就走配置中心读,这样修改后可以实现无感的切换。但是面试官提到,这种方式能实现无感的切换,但是没有办法实现自适应的线程池核心参数调整,还是需要手动的去调整参数。面试官引导说第一时间想的不应该是去修改,而是如何观测这些参数的变化,然后让先设计一下如何观测线程池核心参数的变化
16、如果要做观测,谁来观测?怎么观测?整个设计的流程是怎样的?
17、Redis 的哈希数据结构有哪些实现方式?
18、针对 Redis 哈希数据结构出现的大 Key 问题,如何去解决?
反问
全部评论
14 15 16 用cat之类的埋点监控流量是否过载吧,要有过载直接告警,再去配置中心改下参数重新上线这样的
点赞 回复 分享
发布于 今天 14:23 北京

相关推荐

截止11.9大概11.5收到了小米汽车南京的安卓开发offer,薪资的话叠加小米+南京两层buff,其实可想而知,不高不低吧,考虑到本身也不需要鼠鼠我挣大钱养家and南京生活成本低且离家近,所以还是可以接受的。问题在于安卓开发的话,虽说安卓在客户端里算是泛用性比较广的,但是本身需求小,都说和测开坐一桌但是实际需求量可能甚至不如测开,从未来长期发展来讲有点担忧。虾皮二面已挂,遗憾退场;腾讯pcg客户端捞起来面了一轮然后杳无音信,遗憾退场;中科创达,腾讯云智等等后续流程已拒,主要是考虑到这些厂工资实在低且地点也不满意。合肥科大讯飞,北京滴滴仍在池子里,科大讯飞这个厂就中规中矩吧,也没啥特别的想法;滴滴本身风评不错,业务也说得过去,不知道能不能泡出来,其实个人感觉泡出来也是大白菜,因为二面发挥其实一般般,不算满意。至于后续的选择,因为小米只有5天考虑时间,所以先签了;个人挺喜欢滴滴这个厂的,给我开多少都无所谓了,秋招两个月下来已经彻底被磨平棱角,感觉有口饭吃就够了,问题在于个人对北京印象不好,如果真选择了北京的话精神状态会很差。。。(且离家人朋友对象都很远),但是又对客户端的前景比较悲观,所以现在处于一个半死微活的状态,不知牛友们有无高见。发文时鼠鼠正处于去香港的路上,想去散散心吧,实在是太累了,后续可能会更一条秋招体验帖,讲一讲秋招的感受和自己踩的雷,让各位佬看个乐呵。哦对了,字节又给我捞起来面了,我真想啸啊
我的秋招“寄”录
点赞 评论 收藏
分享
评论
2
15
分享

创作者周榜

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