有问必有答!身为Android开发者,想进入小米需要做什么准备?
Posted 初一十五啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有问必有答!身为Android开发者,想进入小米需要做什么准备?相关的知识,希望对你有一定的参考价值。
前言
前段时间有位朋友告诉我收到了小米的offer,虽然过程中气氛很严肃,但问的东西自己也都答了一些,基本上面试官考察一下你的掌握程度,达到他们要求的线就ok了,目前已经收到了录用意向书。正好最近在整理面试宝典文档,就让他吧面试的过程分享出来,顺便供大家参考。
一丶面试流程
发送简历——通知一面——一面结束(告知一周内有二面)——二面结束——收到邮件,面试通过,反馈官网注册的简历编号——收到性格测评邮件——流程在官网更新——官网流程更新为录用排序中——收到offer。(从发送简历到拿到offer历时28天)
二丶面试
一面
- 算法题:123 -> 321 超出
Integer
最大值范围,正负数怎么处理 hashmap put()
底层原理,发生冲突时,如何去添加(顺着链表去遍历,挨个比较key值是否一致,如果一致,就覆盖替换,不一致遍历结束后,插入该位置)Handler
内存泄漏与Looper
Message
为什么没有被回收- 手写单例模式,
volatile
作用 ,为什么要双重判空,作用是什么,一句话概括 - 为什么要泛型擦除,写一个泛型方法和一个泛型类
- 一张图片加载到内存,如何计算图片占用内存的大小,
ARGB8888
与ARGB565
有什么区别 APK
打包流程- 四种引用方式,他们之间的区别,什么时候用到弱引用
二面
- 线程池线程是如何保持线程不被回收的?在
for
循环里一直循环,循环体内会有take
方法阻塞? - 线程可以多次调用
start
吗? 会出现什么问题? 为什么不能多次调用start
? RecyclerView
是怎么优化的MVP
是如何实现的,他们之间的关系和职责MVVM
是如何实现的?ViewModel
的底层原理- 热修复框架底层的原理,
Tinker
,美团的 pid
与uid
的区别- 你们的项目架构是怎样的?
- 线程
IO
密集型和CPU
密集型区别及线程数的设置
三面
- 简单自我介绍
- 项目结构,用到了哪些技术?
- 过往经历
- 为什么想换工作?
- 最近看的项目,用的什么技术?
三丶面试总结
能拿到offer,肯定是非常高兴的,现在已经入职了。最后想告诉大家,做技术这一块,一定要有自己的一个学习计划和学习方法,要学会不断提升自己,才能够走到更大的舞台上!
同时面试也没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
以上是关于有问必有答!身为Android开发者,想进入小米需要做什么准备?的主要内容,如果未能解决你的问题,请参考以下文章