Android面经分享,5月离职,7月终获拿小米Offer

基本介绍

5月初下定决心离职后,拿着一些存款到处玩了两张周,在5月下旬开始集中准备面试,复习面试题以及其他的博客资料,我自己也是渣本毕业,实习后在一家小公司稳定下来,每天基本工作都是两三个小时就完成了,没有新项目挑战,整天完成简单任务就开始摸鱼。。。这样持续了一年,日子过得很安逸,但是对比了一下曾今的同学薪资基本完成了翻倍,觉得自己在清醒的堕落,于是逼自己沉下心来,把毫无进步空间工作辞了,打算潜心学习一波,准备充分后,再去集中面试,一直到7月底。共面试12家公司,近20多轮面试,拿到2个小公司和2个上市公司(还有一个不是出名的公司)的offer,最终准备去小米。也投递了BAT、360、抖音、快手、平安等大厂的岗位,不过大部分没给面试机会,少数大厂在后续面试中也把我拒绝了,原因是:基础知识不够扎实,技术深度不够。

话不多说,先上Offer,下面开始面试分享

面试分享

一面

  • 自我介绍
  • Android 基础和Java问的比较多
  • string 转换成 integer的方式及原理
  • 组件化和arouter原理
  • recyclerview和listview区别
  • glide流程,缓存前压缩,缓存命中
    ==

二面

  • Handler机制
  • Binder机制
  • 写一个单例模式,DCL为什么要加V关键字
  • 直接在Activity Sleep 5000ms,再post一个runable会不会ANR。
  • 如何监听ANR
  • Linux有哪些RPC机制
  • 为什么android使用了Binder机制没采用共享内存
  • 如果让你设计一套进程间通信的机制,你会怎么设计
    ==

三面

  • ArrayList的使用,然后问他ArrayList使用过程中有没有遇到过坑;

  • 还问了HashMap,问了差不多20分钟。还有aba问题,GC算法,泛型的边际这些东西;

  • 还有MeasureSpec的意义,问了一般怎样计算MeasureSpec;自定义View和自定义ViewGroup的区别;onmeasure,onLayout,onDraw的调度流程;自定义View的measure时机;有没有写过自定义View;

  • 问了Glide使用过程中的坑,EventBus使用过程中的坑;

  • 还有网络协议okhttp中的缓存机制,dex加载流程,组件化的原理;

  • 还有就是Fragment的生命周期管理过程中遇到的坑和解决办法;

  • 你对自己的职业规划是什么样的?你认为跳槽的年限大概多久?

  • 你对小米有什么看法?你认为你加入小米能给小米带来什么?

==

总结

简历上写的东西,一定要先搞懂,特别是简历上的专业技能。这次面试收到的最多反馈就是:基础知识不够扎实,技术深度不够。现在Android开发大部分需要懂点C++和Linux知识,大厂也需要刷算法面试题,在后面的学习过程中,我将从以上几个方面着手。当然也必须把基础知识学牢固,技术深度搞深入点。
最后祝大家都能拿到心仪的offer!

最后关于我准备面试复习的资料,这里免费分享出去:Github:移动架构师笔记+阿里P6P7【安卓】进阶资料分享+加薪跳槽必备面试题+安卓程序员简历模板 ,由于内容还是偏多的,大家按需求学习即可

猜你喜欢

转载自blog.csdn.net/Coo123_/article/details/107466360