小米Android面试(Rust方向)

这次小米的面试准备很不充分,面试包括算法和八股文。作为一个工作的9年的程序员,以为说说自己做的项目就可以了。说实话自己对负责的业务模块还是很熟悉的,业务涉及技术知识也很清楚,但是如果别人不问,就会抓瞎,所以还是需要补充点知识广度。提升竞争力。

一,首先自我介绍一下,我工作经历都写着简历上的,不知道意图是什么,随便说了一下工作经历,因为他们招聘上说了要求懂一点framework,所以我说了我最开始做过框架,虽然那是很遥远的事情了。

一,算法
首先来了一道中等难度的算法,leetcode的第15题,三数之和,这道题比较简单。但是很遗憾没有做出来,主要不知道可以直接使用排序api,而且几年没有刷过算法题了,死得不冤。于是我想到一个问题:“程序员是否应该偶尔刷刷算法”,
如果去大厂肯定是要刷的,大部分公司特别是非互联网公司基本不需要算法,但是我决定还是偶尔刷刷,尽量每天刷一道题,并非为了去大厂,更多是为了提升自身逻辑能力,三十多岁,去大厂的机会很渺茫了。

二,开始面经(不到40分钟)
1. 讲讲binder线程池
2. 讲讲Android view的绘制流程,不是measure,layout,draw那套,需要从框架层讲起
3. 四大组件都会触发ANR吗?(陷阱题)
4. 内存泄露场景,我随便举了几个例子,对面不是很满意
5. 如何分析anr问题,虽然工作中经常排除ANR,但是不好描述,能用但是不熟悉
6. 使用过rust吗?或者用rust写过代码吗?

总结:
面试之前一定要了解招聘方的要求,
1. 是否需要算法,算法难道范围,
2. 面八股文技术还是项目经验,对于工作5~10年的程序员,项目经验应该没什么问题,如果是面试八股文,那需要准备了

面试这个还跟运气有关,技术这个东西,你不能保证自己所有的认识都是正确的,问的问题也不一定都知道,都很深入。如果跟面试官技术栈相似,成功的概率很大。当然随机应变能力也很重要。
全部评论
我已经知道你有多难了
点赞 回复 分享
发布于 04-08 15:07 北京

相关推荐

04-03 16:39
已编辑
沈阳工业大学 Java
一.基础内容-base:北京-部门以及业务:手机事业部,小米手机的相机开发-主要开发语言:java-时间:2024.10.10-时长:60min二.内容百度实习项目拷打你提到binlog监听数据变化,这个格式都有啥,你为什么采用row形式?如果数据量过大,都能及时监听到吗?如果丢数据,你有什么办法做补偿?那你这个方案,还有备用方案是吗?能介绍一下不?数据库的引擎了解吗?innoDB和MyISAM有什么区别?你提到锁级别不同,你有没有了解过什么时候行级锁会升级到表级锁?索引数据结构了解过吗?为什么用红黑树不用跳表?说一下redis中跳表数据结构,咋实现的?跳表层高怎么设置?(不会)你个人项目中流程介绍一下?redis超卖问题怎么加锁解决的?redis挂了,你超卖问题还能解决吗?如果解决场景题:如果你一个订单下单了之后,但是我没有付款,你怎么实现到期关闭?你手上还有offer吗?你百度转正没?为什么要来小米?三.手撕(20min)1.中序和后序分别输出树2.z字遍历树四.反问:1.表现:算法效率不高,答题有点慢,表达能力没有问题2.流程:第二面,通过的话,可能hr面我感觉小米这两个面试官,好注重数据结构之类的东西。==关注我,后期还会有很多面经、双非逆袭经验分享、以及如何生动记住哪些枯燥的知识#小米求职进展汇总##双非能在秋招上岸吗?#
点赞 评论 收藏
分享
04-02 17:24
已编辑
沈阳工业大学 Java
一.基础内容-base:北京-部门以及业务:手机事业部,小米手机的相机开发-主要开发语言:java-时间:2024.10.09-时长:70min二.内容面试官很严谨确认一下岗位信息自我介绍介绍做过项目中最有亮点的,(介绍一个旅游险业务的实习项目,介绍一下自我项目的算法优化)异步并发时,如何保证多线程访问的数据一致性-加CAS都有哪些实现锁的处理:syn、lock、CAS锁升级过程讲一讲CAS一定有自旋吗?CAS底层如何实现的?具体到操作系统层面是怎么回事?你刚才提到unsafe,那unsafe在硬件角度来说,是不是原子操作,如果是,都有啥功能?动态代理和静态代理区别动态代理都如何实现的?JDK实现方式和cglib这两种方式实现代理的过程中,效率谁更高一点?linux命令vim文件时如何快速查找字符串(忘记了)http和https的区别(感谢面试官没疯狂问我底层的东西)https的加密过程详细说一下?你说这么多,你认为https加密过程是非中心对称还是中心对称?哪你认为非中心对称和中心对称分别如何在https中实现的?那你说一下http三次握手、http四次挥手?为什么是三次握手,两次不行吗?请求超时怎么办?四次挥手的时候,为什么要发两次fin请求,一次不行吗?你了解过为什么客户端关闭要等2msl吗?(这我真不知道,他难为鼠鼠了,我就说硬性规定吧)http的状态码都有哪些?(估计看我不会了,问点简单的)400是什么意思-表示服务器无法理解客户端发送的请求你了解树这种数据结构吗?都有哪些树你提到红黑树和平衡树,我问你,两者有什么区别,如果你在不同应用环境下,如何对两者进行选择?树的遍历方式arrayList的扩容机制arrayList是线程安全的吗?会存在什么问题?如何解决这个问题?COW是什么东西?如何实现的?用过哪些设计模式三.手撕(10min)生成括号(回溯mid)(AK)反问:1.流程:三次面试,本次第一轮技术面2.表现:没啥问题,基本功扎实,算法做的也可以,说有很多候选人,会最后排个名次。最终:通过==============欢迎大家关注鼠鼠,鼠鼠会陆续发一下面经(都是真实发生的)、一些学习经验、以及通过生动、巧妙的方式,去更好的理解难记住、易忘的知识!#小米##双非应该如何逆袭?##双非有机会进大厂吗#
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务