有问必有答!身为Android开发者,想进入小米需要做什么准备?

Posted 初一十五啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有问必有答!身为Android开发者,想进入小米需要做什么准备?相关的知识,希望对你有一定的参考价值。

前言

前段时间有位朋友告诉我收到了小米的offer,虽然过程中气氛很严肃,但问的东西自己也都答了一些,基本上面试官考察一下你的掌握程度,达到他们要求的线就ok了,目前已经收到了录用意向书。正好最近在整理面试宝典文档,就让他吧面试的过程分享出来,顺便供大家参考。

一丶面试流程

发送简历——通知一面——一面结束(告知一周内有二面)——二面结束——收到邮件,面试通过,反馈官网注册的简历编号——收到性格测评邮件——流程在官网更新——官网流程更新为录用排序中——收到offer。(从发送简历到拿到offer历时28天)

二丶面试

一面

  • 算法题:123 -> 321 超出Integer最大值范围,正负数怎么处理
  • hashmap put()底层原理,发生冲突时,如何去添加(顺着链表去遍历,挨个比较key值是否一致,如果一致,就覆盖替换,不一致遍历结束后,插入该位置)
  • Handler内存泄漏与Looper
  • Message为什么没有被回收
  • 手写单例模式,volatile作用 ,为什么要双重判空,作用是什么,一句话概括
  • 为什么要泛型擦除,写一个泛型方法和一个泛型类
  • 一张图片加载到内存,如何计算图片占用内存的大小,ARGB8888ARGB565有什么区别
  • APK打包流程
  • 四种引用方式,他们之间的区别,什么时候用到弱引用

二面

  • 线程池线程是如何保持线程不被回收的?在for循环里一直循环,循环体内会有take方法阻塞?
  • 线程可以多次调用start吗? 会出现什么问题? 为什么不能多次调用start
  • RecyclerView是怎么优化的
  • MVP是如何实现的,他们之间的关系和职责
  • MVVM是如何实现的? ViewModel的底层原理
  • 热修复框架底层的原理,Tinker,美团的
  • piduid的区别
  • 你们的项目架构是怎样的?
  • 线程IO密集型和CPU密集型区别及线程数的设置

三面

  • 简单自我介绍
  • 项目结构,用到了哪些技术?
  • 过往经历
  • 为什么想换工作?
  • 最近看的项目,用的什么技术?

三丶面试总结

能拿到offer,肯定是非常高兴的,现在已经入职了。最后想告诉大家,做技术这一块,一定要有自己的一个学习计划和学习方法,要学会不断提升自己,才能够走到更大的舞台上!

同时面试也没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

以上是关于有问必有答!身为Android开发者,想进入小米需要做什么准备?的主要内容,如果未能解决你的问题,请参考以下文章

有问必答搭建uniapp项目流程手把手教学

有问有答,50道保姆级运维面试题,包教包会

有问有答 | 算法和数据结构精华问答

Rust 有问有答之 use 关键字

Rust 有问有答之 use 关键字

Solr的知识点学习(Solr有问有答哦)