小米开奖,薪资还是差点意思。。

文摘   2024-11-09 15:24   北京  

你好,我是公子龙,近期收到小伙伴上岸报喜,并且各大公司也陆续开奖。


收集了一波今年小米已经开奖的薪资,相比一线大厂 20K+ 的白菜价,小米还是差点意思,不过在二线城市性价比还是很高的,还是可以冲一冲。

今天捞一篇之前 编程导航 里的鱼友上岸小米的经历,看他是如何度过校招的焦虑最后圆满上岸,相信对于正在准备校招的同学有帮助。

校招心态的转变

最初面试小米的时候已经做好被挂的准备,但没想到他们的面试流程效率这么快,而且面试的内容刚好我都会。

去年 4 月初的时候在一家低代码公司实习,组内环境也很和谐,并且通勤很方便,所以一直在公司边实习边学习。

后续就是 All in 秋招,整个暑期是留校,每天早上去图书馆,晚上 22 点再回到寝室,每天的状态就是投递简历、背八股文、刷算法题、做项目,偶尔刷刷星球。

9 月开学之后,迎来了第一次秋招,之前已经投递了四次快手,终于拿到了面试机会,当时还贼有信心,觉得一面稳了,但是。。。就没消息了。

后面又面了好未来,二面的时候让我写消费者模型,直接被干懵,直接挂掉,再之后就没有获得面试机会,每天也在持续的学习。

当时了解到有个大学朋友,已经拿到 4 家企业 Offer 了,我还迟迟没拿到一个 Offer,就很焦虑,难道自己真的比别人差这么多吗?

陷入了自我怀疑,而且当时家里人经常问我找工作的情况,要不要转行,要不要再考验下,但是自己真的不甘心,学了这么长时间,难道真的没机会了吗。

而后陷入持续的焦虑,选择去拜佛,又看了很多认知类的书籍,我开始醒悟人生的意义不在于获得某个人的认可,也不在于成为大家期待的那个自己,而是在这个努力的过程中,认识自己,追求持续向前的自己。

校招对于绝大部分像我这样的普通人来说,是一个真实的写照——"(面试)机会可遇不可求"

具体的历程大概是:做了 N 家笔试,侥幸获得 2 家面试,而后就经历漫长的等待,运气好可能会通过面试,但最终也会倒在发 Offer 的阶段(同程旅行就是这么挂的我),甚至有的同学可能努力几个月,都很难获得一个面试机会。

希望大家在编程学习的道路上,都能走得更稳、更远,同时也希望都能度过这段求职的艰难时光。

下面分享小米的面经,希望能给到大家启发。

小米面经

一面

1)自我介绍

2)可以简单介绍一下 MySQL 的隔离级别吗?然后主要讲一下它们的差别

答:读未提交,读已提交,可重复读,串行化(区别主要是围绕脏读,幻读,不可重复读),并且讲了脏读和幻读发生的原因,MySQL 的解决方案以及 MySQL 并未完全解决的缺陷

3)一道两数之和

4)TCP 三次握手和四次挥手可以修改成两次吗?为什么呢?

答:TCP 握手只能三次,挥手在特殊情境下可能可以三次挥手(大概就是讲了三次握手和四次挥手的实现细节,以及一些三次握手的作用)

5)简单讲一下 Redis 的持久化吧

答:RDB(快照的形式记录)和 AOF(叠加记录,可能会很长,所以文件会很大,有可能引起 AOF 重写),然后就把 AOF 的缺陷和改进方案一起顺道说了一遍

6)有用过 Java 的并发容器吗?

答:用过 HashMap,然后就把 ConcurentHashMap 的结构变化与 HashMap 的版本变化讲了一遍

7)JVM 里的常量是在哪里存放的呢?

答:提到了字符串常量池之前放在方法区(永久代),后面改成元空间的时候放进了堆中。

8)介绍一下第一个项目的难点在哪?

答:穿插讲了项目架构,实现细节(以多机竞争的优化为例进行展开,讲述 MySQL 行级锁,优化成添加 owner 字段,优化到 Redisson分布式锁)

9)未来规划,是否考公和考研

二面

1)自我介绍

2)讲一下 JWT 的原理吧?

答:JWT 的构成是三部分(payload,src,sign),其实具体叫啥我也忘记了,就只是记得 token 被加密之后传输到服务端,服务端根据自己的唯一密钥,然后重新给 payload 进行签名,并且验证与传过来的 token 是否一致,来保证是否被篡改。

3)加密方式询问?那具体的应用场景有了解吗?

答:具体的不是很了解,只是知道有 sha256 ,md5,具体的加密场景我记得 https 里面是多了一个 ssl 协议,然后里面涉及到对称加密和非对称加密两种形式(会话密钥的产生就是非对称加密的结果)然后使用会话密钥进行对称加密。

4)你这里有 SQL 调优经验,如果遇到查询速度缓慢的话,你要怎么做呢?

答:首先就是查找原因嘛,可以先去慢查询日志查看具体是哪条 SQL 查询缓慢。

然后具体的原因就是索引,一种是没有建立合适的索引(引出覆盖索引,前缀索引,然后各种针对索引的优化);另外一种就是建立了合适的索引,由于查询语句不合适导致不能正确使用索引(数学函数,模糊匹配,最左匹配原则)

5)追问:还有别的考虑吗?可以考虑一下海量数据方向?

答:一时间没想起来,然后问面试官要提示,他说大变小,然后我就讲了分表,接着讲阿里规范规定超过 2000w 要进行分表,以及原因是因为 B+ 树的三层索引刚好是 2000w 条数据。

6)数据库连接池是做了什么操作,才优化了性能呢?具体的实施方案可以讲一下吗?

答:改了数据库连接池的最大连接数

7)你的性能进行了优化,能简单介绍一下是哪里优化了吗?

8)数据库连接池,GC ,多级竞争解决方案

9)demo 项目里的 jwt 和 cookie 讲一下区别?

答:session 存放在服务端,token 存放在客户端,并且token更容易防止窃取(主要讲了 JWT 的解决方案与 Cookie 的区别,涉及到扩展性和加密的特性)

鱼友建议

1)求职过程,因为秋招很长,对于普通人来说很长,所以大家一定要做好准备,每天可以做一些小事,比如一天三道算法题(每天都去刷),刷 Hot100 3遍。但重点是坚持,因为坚持这件事真的很简单,也很难。一定一定做一些规划,然后去反反复复。

2)简历打磨:虽然这句话已经被互联网说了一万遍了,但还是想跟各位同学说一声,简历真的很重要,但也请别什么都往上写,简历上的内容丰富确实会很加分,但是也在无形中增加了你的面试难度。因为很多面试官是直接朝着你的简历问的。所以那些你不太熟悉的内容我建议还是删掉,或者自己多完善完善再放在简历上

3)投递顺序:其实这个纯粹看个人,我一开始就直接把所有大招都放出去了,美团的,百度的,腾讯的,叫的号上的大厂全部都投了个遍,结果就是全部都挂完了,我的建议是瞄准目标职位,最后再投,最迟不要超过 9 月中旬。

4)具体做法就是先确认好职位,然后修改简历,然后海投面试,不断整改之后,真正做好准备再去投那些心仪大厂,要不然就是会直接挂掉,很多厂其实是有投递限制的,所以还是要慎重些

5)进步是与自己比较的:缓解焦虑的最好办法就是做,做事情的最好正反馈就是比较,而最好的比较就是与昨天的自己,期待明天的自己,如果觉得自己碌碌无为,不妨去想想自己今天做了什么事情,比昨天的自己又成长了什么,这些不是鸡汤,而是原来生活的本质,所有的日子不是熬过去就好的,因为当下就是生活。人生有无数的浪浪山,我们永远都在翻山越岭的前进,翻山似乎已经是生活的全部,不妨好好的看看回头路,期待着未来又会有哪些将要勇敢地迈过坎坷。

6)照顾好自己的身体和心情:身体是革命的本钱,平常一定照顾好自己的饮食,当然也不需要特别注意,只是别因为太焦虑就暴饮暴食。最重要的还是心情,真的看不下去的时候,与其强迫自己继续磨时间,我更喜欢去阳台吹吹风,或者去河边走一走,给自己的脑子放放空,去体会自己的快乐。

以上,就是今天的分享,希望对大家有帮助。


你好,我是公子龙,毕业于中科院,AI全国大赛冠军,现大厂资深工程师,拿过九家大厂的 offer 。


北漂十年,从小白到计算机竞赛冠军,读研时通过实习和比赛收入 50 万,点击蓝字查看我的编程之路


同时,我也是 b 站 up 主:公子龙龙龙,日常分享高质量资料,输出面试、工作经验,欢迎围观。


公子龙
一名计算机开发工程师,一位忙起来会拖更的 B 站 up 主,一个偶尔无聊偶尔有趣的人。
 最新文章