首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
尘埃里的鱼鱼
门头沟学院 算法工程师
发布于辽宁
关注
已关注
取消关注
@Java三段:
意难平!面试小米,一步之遥...
前几天面试小米,都三面了,本来以为稳了,但没想到最后还是挂了。按往年的经验来看,小米相比与其他互联网大厂来说,面试的难度比较低,而且薪资也比较低,所以拿到 Offer 的概率还是很大的。但今年这个情况,这位同学还是硕士身份,最后还是挂在三面了,确实挺可惜的。那咱们今天来看看,最近小米面试的真题吧,带大家看看小米的面试难度。1.电商系统开发中都遇到了哪些问题?电商系统遇到的常见问题:高并发 -> 缓存、限流、熔断。库存问题:超卖:限流、分布式锁、Redis Lua(先判断库存 -> 减库存 + 加订单)、使用数据库 update 操作库存。少卖:及时对账系统 -> 人工介入处理。弱网支付问题:支付平台提供回调方法进行支付状态的刷新、手动触发主动出查询得到支付状态、定时任务进行刷新。刷单:添加图形验证码、IP 黑名单。重复订单问题:业务实现幂等性判断、数据库的唯一约束。2.怎么用Redis实现秒杀业务?Redis Lua(先判断库存 -> 减库存 + 加订单)。3.为什么Redis单线程执行还这么快?原因有以下几个:基于内存操作。Redis 瓶颈是在内存和带宽,而不是在 CPU 操作。Redis 使用多路复用的 IO。避免多线程切换和过度争抢。4.Redis如何扫描前缀相同的key?Redis 查询前缀相同的 Key 实现方式:keys -> keys user*。scan -> scan 0 math user* count 100。5.Redis的keys和scan有什么区别?keys 查询所有的匹配数据,scan 是可以查询部分数据。6.如何使用Redis实现分布式锁?分布式锁实现:原始方式:setnx key true(死锁)/set key true ex 30 nx(锁误删)-> 锁重入问题。Redisson 框架实现方式:Redis + Lua 实现。7.长连接的好处与坏处?长连接优点:避免了重复创建和销毁连接。提高传输效率。实现实时传输。节省了系统资源的浪费。长连接缺点:占用了更多的资源。增加了服务器的压力。对网络环境的要求是比较高。8.TCP和HTTP有什么区别?TCP VS HTTP:层级不同:HTTP 属于应用层协议;TCP 属于传输层的协议。数据传输方式不同:HTTP 传输文本或二进制文件;TCP 传输的是数据流。9.说说HTTPS的执行流程?HTTPS 执行流程:客户端(浏览器)发送 HTTPS 请求到服务器端。服务器端使用非对称加密,产生一个公钥,将公钥和 CA 证书给到客户端。客户端验证 CA 证书真伪,使用对称加密生成一个共享秘钥,使用刚才的公钥将共享秘钥进行加密,将加密信息发送给服务器端。服务器端得到信息之后,使用非对称加密私钥进行解密,得到对称加密的共享秘钥进行通讯。10.说说ThreadLocal底层实现?ThreadLocal 底层是通过 ThreadLocalMap 实现,key -> ThreadLocal;value -> 需要存储的值。11.ThreadLocal父线程和子线程的数据传递?new InheritableThreadLocal();12.为什么HashMap是线程不安全的?HashMap 不是线程安全的原因:JDK 1.8 之前 -> 链表死循环问题、数据覆盖的问题。JDK 1.8 之后 -> 数据覆盖的问题。13.synchronized和volatile有什么区别?synchronized VS volatile:保证线程安全不同:synchronized 能保证线程安全;volatile 不能保证线程安全。底层实现不同:synchronized 底层实现 -> JVM Monitor(监视器)-> C++ ObjectMonitor -> 操作系统 Mutex Lock。volatile 底层实现 -> 可见性(MESI 协议)、顺序性(内存屏障)。14.说说ThreadPoolExecutor的参数?ThreadPoolExecutor 参数:核心线程数。最大线程数(核心线程数+临时线程数)。临时线程在空闲时间可以存活的最大时间。参数三的单位描述。任务队列。线程池的创建工厂。拒绝策略。15.说说ThreadPoolExecutor运行机制?运行机制(当任务来了之后的执行流程):判断核心线程数是否已满;如果未满创建核心线程执行任务;如果满了执行后续操作。判断任务队列是否已满;如果未满将任务添加到队列;如果满了执行后续流程。判断最大线程数是否已满;如果未满创建临时线程执行任务;如果满了执行后续流程。执行拒绝策略(内置4种拒绝策略+自定义的拒绝策略)。16.RocketMQ和Kafka有什么区别?RocketMQ VS Kafka 主要区别:吐吞量区别:Kafka 吞吐量最高,到达单机百万级的吞吐;RocketMQ 吐吞量是十万到百万级。功能上区别:RocketMQ 本身支持死信队列、延迟队列、支持消息推和拉取消息;Kafka 本身不支持死信队列、延迟队列、消息获取方式只能是消费者自己来拉取。17.说说RocketMQ的重试机制?RocketMQ 重试机制:生产者重试:生成者发送消息的类型有同步发送、异步发送、单次发送(oneway),但模式为同步发送、异步发送才有消息重试机制。消费者重试:消费者模式有广播模式和集群模式;广播模式不会进行消息重试,它只会记录警告信息;集群模式会进行消息重试(通过延迟任务来实现消息重试,默认情况下如果重试超过 16 次就会将此消息存到死信队列)。18.说说MySQL的事务?事务特性:一致性持久化原子性隔离性读未提交:存在脏读、不可重复读和幻读问题。读已提交:不存在脏读问题,但依然存在不可重复读和幻读的问题。可重复读(MySQL 默认的隔离级别):不存在脏读问题、不可重复读,依旧存在幻读问题。串行化:不存在脏读问题、不可重复读、幻读问题,但执行效率不高。19.说说MySQL的优化?explain有什么用?MySQL 优化措施:使用合适的查询语句,不要所有的都使用 select *。使用合适的数据类型。正确使用索引:该创建索引的创建索引。查询时一定要正确的触发索引。数据量大分库分表。使用分布式数据库,例如 TiDB。20.SpringCloud有哪些组件?Spring Cloud 包含的组件:注册中心:Spring Cloud Alibaba Nacos、Spring Cloud Netflix Euruka。配置中心:Spring Cloud Alibaba Nacos。网关:Spring Cloud Gateway。负载均衡器:Spring Cloud LoadBalancer。Restful 请求:Spring Cloud Openfeign。限流、熔断:Spring Cloud Alibaba Sentinel。分布式锁事务:Spring Cloud Alibaba Seata。分布式链路追踪系统:Skywalking。21.Nacos和Euruka的区别?Nacos VS Euruka 主要区别:功能上不同:Nacos 既提供注册中心又提供配置中心;Euruka 只有注册中心。通讯方式不同:Nacos 通讯方式是依靠 Netty 实现的长连接;Euruka 短连接+定时任务。CAP 理论支持不同:Nacos 默认是 AP 模式,但它支持手动设置 CP 模式;Euruka 只支持 AP 模式。健康检查机制不同:Nacos 健康检查机制(默认临时实例),每 5s 上报一次健康状况;15s 未上报任务不健康;30s 会剔除此实例;Euruka 健康检查机制,每 30s 上报一次健康状况;60s 未收到认为不健康;90s 未收到剔除此实例。22.Nacos怎么保证数据一致性的?Nacos 通过 Raft 实现 Leader 节点的选举,由 Leader 节点将数据同步给所有的普通节点,以保证数据的一致性的。23.反向代理是什么?反向代理定义:用于客户端和服务器端进行通讯,代理服务器端的一种代理,可以隐藏真实的服务器地址。反向代理的经典实现就是 Nginx。优点:反向代理服务器可以有缓存,增加查询的效率。可以实现负载均衡,从而提升服务器的 QPS,实现服务器的水平扩展。反向代理通常自带健康检查机制,可以帮你正确的访问健康的服务实例。隐藏真实服务器的地址,一定程度的保证了服务器的安全性。24.Spring事务是怎么实现的?Spring 事务实现方式:编程式事务声明式事务:动态代理实现 -> 1.拦截目标方法;2.在方法执行前开启事务;3.如果方法执行期间出现异常回滚事务;4.在方法执行完之后没有异常,提交事务。25.SpringBoot自动装配的实现流程?Spring Boot 实现流程:启动 Spring Boot 项目时,执行 @SpringBootApplication 注解类。去框架资源文件 spring.factories 读取需要自动装配的类。查找自动装配类的 @Configuration + @Condition 条件注解,如果满足自动装配的条件,将此类通过反射机制创建,并放到 IoC 容器,反之则不创建。参考 & 鸣谢javacn.site
点赞 50
评论 2
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
02-16 11:46
九州通医药集团_集团业务管培生(准入职员工)
步步高内推,步步高内推码
步步高实验学校 2026届校招启动啦【学校简介】东莞市步步高实验学校于 2023 年投入运营,占地 230 亩,是一所集幼儿园、小学、初中、高中于一体的十五年一贯制非营利性高端民办学校,学校全面实行小班化教学,学校师生比为 1:5;步步高教育专家团队由来自一流大学的国家课标专家、教育学家,来自著名学校的卓越校长,来自一线、有着丰富教学经验的著名特级教师,以及来自国家级教育媒体的教育策划专家共同组成,为步步高的课程、教学、管理奠定了坚实基础。【招聘岗位】• 幼儿园、小学部及初中部各学科类教师 & 国际教师,类别多多,等你pick! 【福利待遇】• 薪资:幼儿园老师年收入16万起 、中小学...
点赞
评论
收藏
分享
02-16 12:13
门头沟学院 算法工程师
谁懂啊家人们!我就是一个状态机,在一次又一次焦虑中流转~
我就是个被焦虑所驱使的状态机——选方向选技术,找实习找工作,上班被裁员,每一个状态都在“怀疑自己—硬着学—新的焦虑触发”中循环滚动,到现在也没停过😭初始状态:方向选择的三岔路口,卷到失眠作为双非本科,真的被 “赛道选择” 逼疯:想冲算法?我看了牛客上的面经:985 硕,加顶会论文是标配,数学思维更是一道迈不过的坎;考公考研?又怕卷不到岸,更怕读完研还是卷不过年轻人,三年的时间成本怕一赌就输了;转研发?但纠结学 Java 还是 CPP还是GO还是Python还是前端还是嵌入式,听学长说 Java 岗位多但卷,其他的要么岗位少,要么难度高,对着电脑刷了3天知乎牛客b站小红书,最后闭眼选了 Jav...
站队站对牛:
人生多次机会把握
牛友的春节生活
点赞
评论
收藏
分享
01-23 17:10
门头沟学院 后端工程师
我一般不怎么吐槽别人代码的,除非忍不住
啥意思大哥
AI coding的好用...
点赞
评论
收藏
分享
02-04 10:04
四川轻化工大学 Java
27届后端开发已读不回,求简历指正
双非二本目前大三,想找实习,这简历有什么问题吗,boss都是已读不回😭
点赞
评论
收藏
分享
02-17 09:03
马鞍山学院 golang
暑假实习求助
双非,现在想找暑假实习。许多公司都招长期实习。双非 + 暑假实习2个月 + Golang就已经很困难了。Golang的暑假实习不知道有哪些公司招,希望有前辈或者大佬指点指点。(腾讯、字节已投)阿里云云计算高级工程师ACP认 证 项目 K8S + 敏捷 + CD/CD + 网页全栈 两次团队比赛二等奖,队长面经和算法自驱、学习都个人认为不错望有大佬可以指点一下,谢谢。
不给转正的实习,你还去吗
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
嵌入式应届生春招怎么准备——从零到拿 Offer 的系统攻略
973
2
...
27届实习近一年的年度经历和总结
506
3
...
关于租房
499
4
...
HTTP 和 HTTPS 区别
463
5
...
agent实习都干什么?prompt设计
314
6
...
美团推荐算法一面
295
7
...
追一科技 C++ 一面
249
8
...
这个简历可以去找暑期实习了吗
231
9
...
得力嵌入式工程师 二面 面经
229
10
...
大三无实习
221
创作者周榜
更多
正在热议
更多
#
牛客新年AI问运
#
14095次浏览
168人参与
#
你最讨厌面试被问什么
#
1358次浏览
26人参与
#
牛客AI体验站
#
17880次浏览
302人参与
#
有转正机会的小厂实习值得去吗?
#
677次浏览
19人参与
#
牛友们,签完三方你在忙什么?
#
137399次浏览
993人参与
#
担心入职之后被发现很菜怎么办
#
282545次浏览
1185人参与
#
如何缓解入职前的焦虑
#
258888次浏览
1451人参与
#
校招第一份工作你干了多久?
#
139421次浏览
609人参与
#
去年的flag与今年的小目标
#
34323次浏览
337人参与
#
牛客租房专区
#
151492次浏览
1482人参与
#
秋招开始捡漏了吗
#
229476次浏览
1044人参与
#
九月了,是考研还是就业?
#
89351次浏览
557人参与
#
秋招投递攻略
#
268810次浏览
2554人参与
#
这份实习,有没有动摇过你的职业方向?
#
2235次浏览
40人参与
#
搜狐工作体验
#
4119次浏览
29人参与
#
机械人求职现状
#
33663次浏览
297人参与
#
我是XXX,请攻击我最薄弱的地方
#
61805次浏览
410人参与
#
用友工作体验
#
18089次浏览
151人参与
#
你的工资什么时候发?
#
57512次浏览
355人参与
#
你的实习什么时候入职
#
348113次浏览
2291人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务