前言
这一次的话,主要就是只投了钉钉和抖音两个部门,而后为了保险起见,让指导老师给我推荐了一个小公司,由于实在太想实习了,想着若是面试不上,总要有一个保底的机会。固然那家公司也挺nice的,我跟老总说了来意以后,老总直说让我全力冲,位置给我留着,因此在这里很是感谢吴总您对个人支持。面试
正主来了
阿里巴巴 -- 钉钉部门
阿里钉钉一面(面试时长80min)算法
- 自我介绍,对本身项目的介绍,架构图呈现
- 由于说本身之后的发展方向是音视频,因此问了我用过哪些现有框架
- 项目中的一些优化问题,MVC -> MVP,Handler的内存泄漏状况分析等,对MVP和MVVM的理解。
- 项目中的第三方库选择的问题,由于简历中写了我对第三方库选择的问题,好比选ObjectBox和greenDao的问题,图片加载框架问题
- HashMap和HashTable,引伸ConCurrentHashmap的深刻,version1.7和1,8的区别,以及高并发下HashMap发生的问题
- 四大启动模式,以及场景对应
- Handler的机制介绍,不存在消息时的IdleHandler的运做机制,为何不能在子线程初始化问题
- 设计模式中的单例介绍,使用场景(Okhttp的Seesion存储等等),在线编写
- 快排算法
- OkHttp的源码分析,及总体架构的流程图绘制
- 四大组件的完整介绍,及深刻,答了IntentService、LocalBroadcast
- 四大引用的问题和MVP框架相结合进行回答
- 网络中的响应码对大致进行回答,具体回答了200、40四、500、304等
- View绘制流程问题,如何不使用xml,来实现中间位置的定位
- 事件分发机制流程讲解,以及如何实现单击事件和长按事件的断定
- 关于为何选用mqtt协议的问题,优点,原理等等(没答上来,只说针对性作过测压,以及oceanlink和mqtt的对比)
阿里钉钉二面(面试时长30min)设计模式
- 自我介绍,优缺点的,以及将来但愿的发展方向
- 目总体介绍,如何作到分压啊之类的问题
- 若是给我阿里、腾讯、头条、谷歌的offer的一个选择(不掺杂地域性的问题),首先直接否认了google我就的一个企业的商业模式进行分析。
- 我对钉钉这个产品的理解,个人回答是就的是钉钉前身的对标项目微信,已经后期转型的商业模式做出的分析,最后给出的个人结论是一个企业性质的办公软件
- 给出了钉钉一个mac平台的关于共享屏幕的耗CPU的问题
- 让我提问,提的是关于音视频发展方向的问题,具体是一个发展空间。
字节跳动 -- 抖音部门
字节抖音一面(面试时长50min,等待二面状态)微信
- 接口和抽象的理解
- 进程和线程的理解
- 各类单例建立的理解,以及DCL的同步机制为何这么作,其余的设计模式知道的,以及应用场景。
- MVP和MVVM的理解,P层它主要作什么工做,你如何实现的M、V、P三层的通讯。
- Handler的工做流程,Handler可否在子线程初始化以及用什么方案来替代Handler的在子线程初始化。
- JVM的组成成分,以及你对四大引用的理解
- 四大启动模式的启动方式以及场景分析,如过一个按钮对应页面跳转,如何点屡次只进行一次跳转,两种方式回答
- 对http和https的理解
- Broadcast和LocalBroadcast他的一个区别
- Static变量他的用处是什么,具体应用场景。
- 一道两个链表的相加问题。思路+伪码实现(这里和阿里不同,由于是牛客的平台,其实编码体验没有特别好,面试官让我用伪码来实现思路就能够了)
从面试总体感觉来讲,阿里面试官给我感受实在是太过于nice,不管是互动性,仍是技术深度性,给我很好的面试感觉。由于字节还只有一面,可是总体感觉通常,固然这是相对而言,可能面试个人并非专业安卓工程师。网络
以上就是个人学习成果,若是有什么我没有思考到的地方或是文章内存在错误,欢迎与我分享。架构
相关文章推荐:并发
操做系统中的三大经典同步问题,你如何复现?框架
Android自定义View,你摸的透透的了?高并发
应用层中除了HTTP,你还知道点啥?源码分析