2021年秋招小米Android面经-已获offer

2021-12-15 09:58:09 浏览数 (1)

前言

当代大部分打工人的一个现状——“晋升无望、收入见顶、生活开支飙升、财务危机如影随形”。 本人毕业三年,三年Android开发。今年7月面试了小米,半个月拿到offer,记录一下整个面试过程,需要的可以看一下。

小米面试分享:

一面(9.5 60min)

  • 事件分发
  • 自定义view
  • 给了个布局问你的实现方式
  • 有没有了解过新的布局
  • 有没有了解过新的布局
  • 实习经历
  • Android布局优化
  • 过度绘制及优化
  • 讲讲你认为你Android里理解最深的点
  • 了解过framework吗
  • 讲讲二叉树前中后序遍历
  • 数据库
    • 写了个简单的sql
    • 触发器
  • 类加载的过程
  • kotlin扩展方法 扩展属性
  • 看过哪些开源库(聊了聊retrofit)
  • 实习过程中最有成就感的事
  • 算法
    • 反转链表(没写出来 我是个傻子吧)
    • 删除公共字符串
    • 冒泡排序怎么排的 稳定吗

一面完感觉还不错能预料到会有二面,问的都比较中规中矩

二面(9.8 50min)

  • 实习经历
    • 做了哪些需求
    • 有什么收获
    • 对前人留下的代码有什么想法,怎么解决的
  • Android
    • 滑动时间冲突解决
    • handler原理
    • Android跨进程通信
    • Activity生命周期
    • Android为啥要分四大组件
    • 弹一个dialog时Activity生命周期变化
    • onstart onresume分别执行什么类型的业务
  • Java
    • 手写单例
    • hashmap源码
    • 多线程,锁
  • 操作系统
    • 进程和线程的区别
  • 算法
    • 之字形打印二叉树(又没写出来 我是*

面的时候刚从天津坐车回来,头有点晕,感觉有点拉跨,答得很一般,没想到还有三面

三面(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~

0 人点赞