小米实习 一面凉经

小米后端开发实习
timeline:
11/23官网投递,11/28约面, 12/2一面,12/5挂

1、线程池相关,线程池刚创建的时候会不会创建线程;
2、项目中用到了线程池吗;
3、线程池参数设置多少,有什么考虑;
4、线程池拒绝策略怎么设置;
5、Java的内存模型,应该是问Java Memory Model,但不会,答了JVM的内存区域;
6、程序内存占用大,Full GC频繁,如何分析;
7、库存超卖(黑马点评)怎么解决;
8、数据库和Redis怎么同步;

算法:
LC92 链表翻转II
由于有点紧张,不习惯别人看着写代码,题不算太难,但写的时候手忙脚乱,脑子一片混乱,写了好久还写错了。
后来面试官让我解释一下代码,解释到一半发现bug了,最后写出来了。
几乎一半的时间都在和链表搏斗,太折磨了,差点要放弃了,不过还好面试官有耐心,最后让我找出bug了。
总结
写题前还是要冷静,考虑好再开始写。八股也快忘了,要不断复习

投的好多大厂如字节、腾讯、网易、小红书、快手、百度都初筛挂,再试试中小厂吧
全部评论
为啥初筛挂啊北大✌🏻
点赞 回复 分享
发布于 2024-12-06 14:01 陕西
是rw同学吗
点赞 回复 分享
发布于 2024-12-09 00:24 北京
北大爷都被挂?
点赞 回复 分享
发布于 2024-12-13 22:02 湖北
初筛没过感觉不是项目吧 这么离谱
点赞 回复 分享
发布于 2024-12-14 18:25 北京
离谱,估计是怕佬不来
点赞 回复 分享
发布于 昨天 15:33 北京

相关推荐

2024-12-22 17:45
哈尔滨商业大学 后端
项目:1.介绍一下简历上的两个项目2.Redis使用的地方3.消息队列如何防止消息未被接收八股:1.Redis缓存击穿了解过吗,解决方式设置永久不过期2.怎么设置永久不过期,怎么设置过期时间expire x 10:设置x的过期时间为10sttl x:查看x过期时间还剩多少persist: x:取消键的过期时间(永不过期)新建的key默认永远不会过期3.进程和线程的区别4.Redis持久化怎么做AOF和RDB5.哪种方式更快呢?出现了Redis雪崩的情况下RBD更快在 Redis 雪崩的情况下,系统往往面临以下问题:1.高并发:大量请求涌入,Redis 需要迅速恢复服务。2.硬盘压力:大量数据需要写入或加载。RDB 的优势:1.一次性恢复:RDB 文件直接加载到内存,恢复速度更快,磁盘只需一次读取即可完成初始化。2.较低的实时写入负担:RDB 快照是定时生成的,雪崩期间不增加额外 I/O 压力。AOF 的劣势:1.逐行回放:恢复时需要逐条执行日志,耗时较长。2.高频写入带来的额外负担:雪崩时系统本已处于高负载,AOF 的频繁刷盘可能进一步加重压力。6.Redis过期删除策略和过期淘汰策略    过期删除其实想问定期删除和惰性删除内存淘汰策略:1.不删除,返回错误2.(1)针对设置了过期时间的随机淘汰设置了过期时间的键删除设置了过期时间更早的键删除设置了过期时间最久未使用的键(TTL最短的)删除设置了过期时间最少使用的键        (2)针对所有键的随机淘汰删除最久未使用的键删除最少使用的键7.上面提到一个定时任务,会用到哪种8.线程的创建方式9.线程池的参数有哪些10.线程死锁的理解,如何避免线程死锁11.Hashmap和ConcurrentHashMap的区别12.请求转发和重定向的区别?哪个地址栏改变哪个不改变请求转发:地址栏不改变,适用于内部逻辑处理重定向:地址栏改变,适用于客户端页面跳转13.Cookie和session了解吗?14.JWT了解吗,登陆怎么做的,详细介绍一下15.存储的信息总结:看了录屏发现一直在呃,一段话一个呃#用友#
查看17道真题和解析
点赞 评论 收藏
分享
timeline笔试 11.20技术1面 11.21 技术2面 11.25hr面 11.27 (群面)一、笔试选择10道 主要是sql java 计网的题 不难就不多说1. 判断sql对不对,功能问题2. Java语言语法问题,比如构造器问题,初始化问题,接口里面能有什么,不能有什么。网络协议相关简答题1. 队列的Java实现,怎么实现阻塞队列,添加什么成员变量,实现一个阻塞添加元素的方法2. Java的线程状态 以及状态转换条件编程题1. 订单号少一个,你得找到他2. 完全平方数二、技术1面1. 集合部分:问hashmap底层原理2. hashmap是否线程安全3. 线程安全用什么,hashmap怎么用?或者用其他的api比如concurrentHashMap4. redis问:项目哪部分用了? 我说的是视频模块,比如视频id + 视频访问地址,项目哪里用?5. jvm虚拟机 问垃圾回收算法 标记清除 复制 标记整理 CMS(整个流程)(初始标记、并发标记、最终清理)优缺点6. gc年轻代晋升老年代的情况有哪些(他说4个)7. gcroot对象?怎么判断对象是否存活?8. jvm参数10. 怎么查看内存泄漏问题  有哪些命令 哪些工具?11. jmap  jstat命令的作用,干啥用?12. arthas我用过哪些功能,具体做了什么?13. 我自己开发的arthas工具 怎么实现的,基于什么原理,使用什么技术?14. mysql索引优化的方法?怎么优化?怎么排查慢sql?15. mysql组合索引?排查慢sql引出的?16. mysql组合索引失效的场景?17. MQ怎么保证消息不丢失?18. 防止重复投递?怎么实现消息的幂等?19. 项目:性能优化? 实现了什么优化?哪部分做了优化?20. 项目:缓存怎么实现同步?缓存怎么添加的?预热?还是别的?21. 项目:缓存查不到怎么办?22. 项目:缓存三兄弟?项目里你是刚开始就考虑了?还是后期进行优化?23. 项目:缓存穿透?数据两两都不在?解决:bloom过滤器?24. 问:10亿数据 需要多少空间存储,比如命中率8 90左右?25. 问题:实际10亿数据,也不需要太大的空间,所以可能没必要说减少空间占用,设计90的命中率?26. bloom过滤器的底层原理,bitmap实现,3次hash确定是否存在?27. bloom过滤器的特点?查有不确定,查没有是确定的、28. 算法题:和为k的子数组个数,不能用滑窗,因为不满足递增顺序,我写过三、技术2面1. 讲rpc项目(我当时讲了15分钟-20分钟)2. 项目:rpc的底层思路(服务提供、服务注册、服务发现(redis、zookeeper、nacos、eureka)、服务的使用者、3. 项目:什么叫rpc,为啥要有 rpc(远程过程调用、分布式系统里,不同实例、组件提供不同的功能、分模块开发、组件提供服务4. 项目:rpc项目的难点(技术选型、序列化算法的选择)nacos、eureka、redis、zookeeper、或者序列化算法jdk、json、protobuf各自的优缺点,为什么要选择protobuf这个序列化器5. 项目:rpc框架技术实现的参考(openFeign、dubbo)参考的内容有哪些(基于接口的请求调用 与 底层的从api调用到底层网络协议的转换。6. 项目:因为我说了基于openFeign,所以他问我openFeign的实现思路(首先通过接口,获取本次调用的远程api的元数据metadata,然后通过nacos拉取服务列表数据,通过Ribbon组件进行负载均衡,随机、轮询、一致性哈希等,然后通过动态代理CGLIB 以及 序列化器实现 api调用到底层网络报文的转换,基于LTC解码器实现粘包半包问题的解决,然后在此基础上自定义协议,设计魔数,版本号考虑后续升级,以及远程调用消息命令编码等。7. 项目:为啥要开发这个项目(我说基于第一个项目的实际需求,之前考虑使用openFeign和dubbo,然后因为学习netty和轻量化rpc框架,考虑自定义框架。然后将自己的RMI-RPC框架应用到项目里,进行项目技术的升级。8. 科研课题:加密(我讲了一下具体的研究思路,和技术点,静态的实现和问题、引出动态,然后检测用ML、分类用DL、提取更丰富的特征)(10分钟左右)9. 学习技术的大概思路:成熟技术:先看黑马视频,然后了解全局,之后根据需求,买书,看具体的底层原理和实现,针对性的看,不会从头看到尾)10. 对于新技术:主要看csdn或者稀土掘金博客,了解大致,然后或者看官方文档。我当时说如果基础一般的话,看文档可能有阻碍,也就是看文档,分不清重点和非重点,除非有一定的经验和基础之后再看。11. 给了一道题,这里主要考察 1. 栈帧 Java虚拟机栈 2. finally的特点 3. 还有普通类型和包装类型  4. return并不是直接结束方法(至少有finally并不是这样) 5. return将结果放到栈帧里面的返回空间内部这里 普通类 和 包装类 结果都是0,需要注意,return的功能。栈帧还没弹出的时候,根本不可能执行后续的代码。我这里讲了一下jvm虚拟机栈的思路。10. Mysql 写一个sql,有一个订单表(userid,create_time,其他字段)现在要查询指定用户在某个时间段内的订单信息,sql怎么写?11. 如果说,数据量一亿、并且create_time区分度高,userId区分度低,怎么解决刚才那个sql查询慢的问题?(数据量大考虑进行分库分表,create_time区分度高,更适合在其上面创建索引。这里我讲了where条件书写顺序问题,讲错了,实际上mysql优化器会根据具体的索引情况进行字段优化。书写顺序和实际执行顺序不一定一致)12. 问题:我当时讲了联合索引(他说联合索引书写也没顺序要求,这个得看)13. 问题:你的技术和leader技术相左,你会怎么处理(总结提出书面技术报告,然后提交给leader看,主要讲了不同层面看问题角度不同、可能还有技术的开源与否等问题、安全问题等)14. 问题:如果你是leader、组员这样意见相左,你怎么处理(我会解释不是技术不行,具体不采用的原因)15. 问:你其实可以不解释的,为啥要解释(我说我性格是这样,而且维持团队的和谐关系,对于后续开发和其他进展更好一点)反问:公司部门业务(供应链相关 1688 和 小微企业数据互联、组技术很多 java 大数据技术 还有ai技术都有涉及)、面试(最后一个hr面试)#掌上先机##牛客创作赏金赛##我的求职思考#
若熙_waltz:这叼公司面试这么烦,工资就给一点点
查看50道真题和解析 牛客创作赏金赛 我的求职思考
点赞 评论 收藏
分享
评论
4
15
分享
牛客网
牛客企业服务