前言
当代大部分打工人的一个现状——“晋升无望、收入见顶、生活开支飙升、财务危机如影随形”。
本人毕业三年,三年Android开发。今年7月面试了小米,半个月拿到offer,记录一下整个面试过程,需要的可以看一下。
小米面试分享:
一面(9.5 60min)
- 事件分发
- 自定义view
- 给了个布局问你的实现方式
- 有没有了解过新的布局
- 有没有了解过新的布局
- 实习经历
- Android布局优化
- 过度绘制及优化
- 讲讲你认为你Android里理解最深的点
- 了解过framework吗
- 讲讲二叉树前中后序遍历
- 数据库
- 类加载的过程
- kotlin扩展方法 扩展属性
- 看过哪些开源库(聊了聊retrofit)
- 实习过程中最有成就感的事
- 算法
- 反转链表(没写出来 我是个傻子吧)
- 删除公共字符串
- 冒泡排序怎么排的 稳定吗
一面完感觉还不错能预料到会有二面,问的都比较中规中矩
二面(9.8 50min)
- 实习经历
- 做了哪些需求
- 有什么收获
- 对前人留下的代码有什么想法,怎么解决的
- Android
- 滑动时间冲突解决
- handler原理
- Android跨进程通信
- Activity生命周期
- Android为啥要分四大组件
- 弹一个dialog时Activity生命周期变化
- onstart onresume分别执行什么类型的业务
- Java
- 操作系统
- 算法
面的时候刚从天津坐车回来,头有点晕,感觉有点拉跨,答得很一般,没想到还有三面
三面(9.9 60min)
- Java
- 封装继承多态,重点说理解及应用
- static
- 重写和重载的区别、理解及应用
- hashmap底层,把面试官当小白给面试官讲
- Android
- 四大组件的理解
- activity生命周期、横竖屏生命周期、有没有不让activity销毁的方法
- 启动模式
- 两种service有啥区别
- service执行耗时操作会咋样、咋解决
- intentservice底层
- service保活
- broadcastreciver权限(不会)
- Android跨进程方式
- intent底层是怎么跨进程的
- 常用布局,重点说理解及应用
- Android动画有哪几种,有没有底层研究
- 自定义view、自己写过的demo
- 内存泄漏场景及解决办法
- 网络
- TCP三次握手/四次挥手 讲讲
- 有没有直接在TCP层做过操作
- 操作系统
- 闲聊
- 实习最大的收获是什么
- 你现在在团队里算是核心吗(我一个实习生核心才怪)
- 有没有觉得对自己能力提升特别大的需求
- 如果给你offer你来吗
- 如果要来的话离开现在的团队融入新的团队你有什么想法
三面的面试官说跟前两面面试官没怎么交流,可能问题有重复,实际也确实有重复,但是感觉更多的还是往深了问,面很广而且很深,很多问题都没回答上来,一下子给我整懵了。
幸好之前连夜做了做功课,看了很多大佬总结的技术性问题,拓宽了对试题的知识面。
在这里我精心收录整理了一些关于Android开发的知识点、面试题的一个总结,推荐给大家化解成长的烦恼。
《Android 高级开发面试题以及答案》
- 1.Activity
- 2.Service
- 3.BroadcastReceive.
- 4.ContentProvider
- 5.Handler
- 6.View绘制.
- 7.View事件分发
- 8.RecycleView
- 9.Viewpager&Fragment
- 10.WebView
- 11.动画
- 12.Bitmap
- 13.mvc&mvp&mvvm14.Binder
- 15.内存泄漏&内存溢出16.性能优化
- 17.Window&WindowManager
- 18.AMS
- 19.系统启动
- 20.App启动&打包&安装
- 21.序列化
- 22.Art & Dalvik及其区别
- 23.模块化&组件化
- 24.热修复&插件化
- 25.AOP
- 26.iectpack
总结
面试成功的因素,我感觉还是要多多看技术博客,重视每一次面试,不在同一个问题上栽倒两次。每场面试也会有一两道平时不重视的一些细枝末节的问题,但每次挂完电话/面完 回去都会认真再针对性复习这一块的知识点,确保下一次被问到这类问题不会再被坑。
由于文章篇幅有限,文档资料内容较多,本可以提供链接下载,但无奈容易被和谐,所以全部存档,需要这些文档这里的朋友,可以点击我的【Gitee】,希望能够共同进步,共勉!
最后,祝大家都能拿到心仪的offer~