背景:本人非科班,双非一本,学校自学Android,4年工作经验,之前都是小公司工作,断断续续历时一年leetcode400道达成,4个月闭关修炼,疫情非常时期,投给大公司的简历基本都是杳无音讯,有小米面试机会纯属幸运
注:问题大概是这些,但是因为时间过去大概一个月了,有些问题忘了是几面问的了。
---------------------------------------------------------------华丽的分割线---------------------------------------------------------------
4月初视频1面:
第一次视频面试(历时2小时)
- 简短的自我介绍(涉及毕业院校,工作年限);
- 前几家公司简单的介绍下做过哪方面的项目;
- 你擅长的部分(架构,UI等等你肯定有一个擅长的吧?);
- 着重介绍一个项目你负责的部分以及架构
- activity生命周期,区别
- activity4种启动类型
- service生命周期以及两种不同启动方式,对于生命周期的回调情况
- 广播有哪几种,广播的原理
- 项目中遇到的难点(不一定要多么难,面试官着重看你的研究领域以及解决问题的能力)
- 在技术方面还有哪些兴趣?最近在看哪些技术方面的书
- 你提升自己一般从什么途径
- 找出数组中数量超过一半元素算法复杂度越低越好(这个挺简单、可以用map统计,可以排序然后取中间元素,我说的摩尔投票方法,这个是最优的O(1)复杂度)
- 字符串匹配,类似*?这种的正则符号的匹配算法
和一面同一天视频2面(历时2小时)
- 简短的自我介绍
- 前几家公司简单的介绍下做过哪方面的项目,着重介绍一个项目架构
- git操作怎么样,上家公司有codereview吗
- kotlin几个操作符,let、run、apply、also的区别,内联函数,扩展方法原理
- Glide缓存机制,okhttp源码,Rxjava设计,Retrofit设计
- 图片处理、大图片加载有什么技巧(缩放、压缩、RegionDecoder局部加载)
- HashMap原理
- binder,aidl,跨进程通信方式,线程间通信方式,binder权鉴,ContentProvider用法
- 从点击启动图标开始App的启动过程
- 事件分发机制
- 自定义view流程
- Android消息机制,Looper,MessageQueue
- view绘制流程viewrootImpl那些,屏幕刷新机制(vsync,异步消息那些)、深点可以说下Surfaceflinger那些
- ThreadLocal
- Recyclerview 优化、item复用原理,和ListView区别
- Android开机涉及的过程
- 多线程实现方式,乐观锁、CAS、悲观锁,volatile
- AOP是什么,在Android之中有哪些应用
- 死锁以及产生的原因,HashMap多线程操作下为什么会死锁
- 生产者消费者模型写代码(可以实现个消息队列进行解耦)
4月上旬视频3面 (历时2小时)
- 前几家公司简单的介绍下做过哪方面的项目,着重介绍一个项目架构
- 项目中遇到的难点
- 挑简历里的问了,带入了我擅长的领域、图像处理算法、四叉树搜索区域,sobel、边缘提取、低多边形,字符画生成算法
- 你擅长Android哪方面
- EventBus原理
- mvp,mvvm,组件化通信、插件化原理、多渠道打包、热更新
- 类加载机制(双亲委派等等)
- 谈谈你知道的设计模式
- JVM的内存模型
- JVM垃圾回收机制以及算法
- Thread的几种状态
- 3个线程依次切换打印数字从1到100
- 复杂度去除单词中多余的空格顺便奇数位单词首字母大写
4月上旬视频4面:(历时半小时)
1、简短的自我介绍
2. 你是怎么开始接触Android的,学校里做过哪些项目
3. 你在项目中遇到哪些难点 (又是这个问题- -,大厂听说都爱问这个问题,这个老铁们就八仙过海吧 - -)
4. 你认为Android的未来发展 (千万不要让面试官认为你是个左右摇摆的人)
5. 你在项目开发进行中中是出于主动还是被动,这个问题不明所以
6. 你UI界面优化的技巧
7. 你做项目时有什么心得
8. 数据库、操作系统(本人非科班,操作系统老老实实说不甚了解)
4月中旬Hr面 (电话几分钟)
- 薪资意向
- 目前其他offer有无
- 是否还会面其他公司
- 多长时间内会到岗
- 是否已经到北京14天(疫情非常时期,你懂得)
全部评论
(6) 回帖