背景
今年很不幸,部门被砍,大部分工程师都被裁员了,虽然说其他部门在面试时可以给我们放宽一点要求,但我想了想还是不打算待在那家了,都是坑呐,这几个月陆陆续续面试了一些地方,诸如阿里、百度、美团、海康威视、大疆之类的,其实早收到了部分offer,但这一场裁员经历让我谨慎了许多,前几天胜利拿到我最想去的美团的offer了,目前顺利入职。
这里我给大家分享部分面试经历,当然也将我这几个月的求职过程中碰到的面试题整理成了《Android中高级面试题汇总》,供大家参考,有需要的朋友可以在文末领取~
美团一面(70min)
- 介绍一下你自己
- flow为什么能代替livedata,有什么区别,flow怎么进行线程切换
- 线程、进程、协程的区别,dart的线程模型怎么样的,是线程还是协程
- 了解过handler吗,说一下
- java中启动一个线程有哪些方式
- 知道synchronized吗?有什么作用?有什么应用场景?synchronized加在实例方法和静态方法上有什么区别?
- 进程死锁是怎么产生的?
- 做项目有没有遇到过线程问题,挑一个讲,怎么解决的
- http和https区别,https为什么安全
- tcp和udp区别
- 解释什么是多态,有什么实际应用
- hashmap hashTable concurrentHashMap原理与区别
- 平时学习新知识怎么学的
- 写点代码吧,手搓一个快排
美团二面(60min)
- 开始问项目,深挖项目的里面提到的内容 包括负责的内容,使用的技术,使用的框架,遇到的问题,怎么解决,最后成果怎么样
- 一个应用可以在不同进程吗,进程间通信方式
- service运行在主线程还是子线程
- 主进程2个线程调用子进程aidl方有资源竞争之类的吗
- handler和线程的关系
- 一个app可以有多个任务栈吗
- 反问
HR面(15min):
- 确认目前情况和到岗时间;
- 自己的优势和契合点,为什么选到了这个岗;
- 其它厂的投递情况和进展,可能的最终去向;
阿里一面(45min)
- 插件化。启动 activity 的 hook 方式。taskAffity。
- okhttp 支持 HTTP2?http2 的功能有哪些?tcp 方面拥塞控制?tsl 的握手和具体的非对称加密算法。非对称名称
- handler 的 st(Runnable) 如何实现的。callback,runnable,msg的执行优先级。阻塞是怎么实现的?为什么不会阻塞主线程?
- 求二叉树中两个节点之间的最大距离。
- 206 含义,未修改资源是哪个,302 含义,301 含义
- 多进程通信问题。binder 优势。aidl 生成的 java 类细节。多进程遇到哪些问题?
- 动态代理传入的参数都有哪些?非接口的类能实现动态代理吗?ASM 的原理
- Application 和 Activity 在 Context 的继承树上有何区别?二者使用上有何不同?
- 任意一颗二叉树,求最大节点距离
阿里二面(50min)
- 设计一个日志系统。
- 内存泄露的分类。怎么查看内存泄露的问题
- touch 事件源码问题。
- 组件化的问题。module 和 app 之间的区别。moduler 通信是如何实现的。
- native 奔溃的日志采集,怎么处理?
- 注解实现一个提示功能:如果 int 的值大于了 3 需要提示。
阿里三面(45min)
- 介绍下 flutter 的启动流程
- 介绍下 flutter 与 weex 的区别
- 组件化介绍一下
- webview 中与 js 通信的手段有哪些?
- 介绍下 flutter_boost 的原理
百度一面(60min)
- 组件化和arouter原理
- recyclerview和listview区别
- glide流程,缓存前压缩,缓存命中
- APP性能优化,内存优化,布局优化,绘制优化,内存泄漏
- Http和Https区别
- socket心跳包
- jvm虚拟机,堆和栈的结构
- activity启动模式,有哪些不同
- stack栈的特点,自定义stack结构
- kotlin优劣势
百度二面(75min)
- 自定义view,中英文字符串宽高测量显示,测量算法,可扩展性
- 事件分发机制
- Activity,view,window联系
- 热修复和插件化原理
- Synchronized底层原理,java锁机制
- java容器,hashmap和hashtable区别,hashmap原理,扩容流程,扰动算法的优势
- ArrayList和LinkendList区别,List泛型擦除,为什么反射能够在ArrayList< String >中添加int类型
- Http和Https区别,SSL/TLS过程
- Android性能优化
- jvm虚拟机,堆和栈的结构,栈帧,JMM
- 组件化注意点,组件间通信机制
- 线程安全的单例模式有哪几种
- 熟悉的设计模式
以上面试题都已整理成PDF文档,有需要的朋友可以扫描下方二维码免费领取~