4.然后开始问架构的东西。
主要是MVC和MVP,当然更主要是MVP喽。然后自己把MVP的架构讲了一下,以及在项目中遇到的MVP架构不合理的地方,和自己认为对这个不合理地方的改进。然后讲了自己针对公司项目的MVP架构,写的Android Studio插件。
5.然后问了我简历里写的技术细节的东西。
比如屏幕适配。项目中为什么使用OpenGL。礼物动画为什么使用SurfaceView,它与View有什么区别等等。
6.最后先让我说我看过的一些Android的源码,然后我讲了一下Activity,PhoneWindow,View他们的关系。
还有Touch事件的分发过程,自己还说看过Handler消息传递机制,不过他没有让去细讲,估计听了前两个讲的挺细的觉得够了吧。然后他又问了一下Activity从Launcher的启动过程。这个自己明确表明没有看过源码,但是自己也简单的分析了一下可能过程,感觉面试官还算认可。之后查询相关资料发现自己分析的有些地方还是不对的,而且还有很多细节没有分析到(囧)。
**整个过程面试下来感觉还是不错的。面试官的问题由浅入深。**而且针对自己项目细节都有针对的问题。面试到最后面试官说之后会有主管给我面试。我觉得一面应该是过了吧。然后收到回复是面试哥觉得我去这个部门太委屈了,因为是游戏辅助APP,然后让HR姐姐把我推荐到云音乐,非常感谢面试哥,人真的蛮好,也谢谢HR姐姐帮忙推荐其他部门。但是无奈云音乐并不缺人,但这里也不要我了……不过对方招聘岗位本来就是高级工程师。可能感觉我经验还是不够吧。
字节跳动
一面 46min
- 简单介绍项目
- 了解哪些数据结构
- 了解哪些排序算法
- 手撕代码:堆排序
- Java集合类:a)LinkedList与ArrayList;b)HashMap扩容 ConcurrentHashMap
- TCP与UDP,区别及运用场景
- http是用的TCP还是UDP
- http与https的区别
- JVM内存模型(Static方法在哪个区)
- Activity生命周期,Activity启动模式,Handler源码
- 代码题:旋转数组
(一面面试官很nice,答的时候卡壳还会给引导,问的问题、撕的代码都不难)
下午面完当天晚上就接到约二面的通知了
二面 55min(部分问题有重叠的不再列出)
- final、finally、finalize的区别
- 抽象类的成员变量与成员方法的继承
- socket是否了解,简单聊聊
- 经典问题:在浏览器输入网址敲回车后经历了什么(这题我感觉我至少说了10分钟[捂脸]) a)三次握手;b)https的加密流程;c)对称加密与非对称加密原理(RSA、AES)
- 数据库有哪几种隔离机制
- union与union all的区别
- MySQL的索引怎么实现的
- B+树查找的时间复杂度,数据结构讲一下
- 设计模式:a) 手撕DCL单例;b) 还了解什么设计模式(讲了观察者模式、策略模式)
- JVM的垃圾回收机制,GC Roots有哪些,说说了解的垃圾回收器
- View的事件分发机制
- 代码题:两数相加(链表,要求原地实现,空间复杂度O(1),这个犯蠢撕了好久结果还是靠强行打印发现的问题)
面完后二面面试官希望直接进行三面,可惜似乎三面面试官在开会,所以另约在了两天后
三面 70min (部分问题有重叠的不再列出)
- 线程与进程
- 死锁条件,如何排查、解决
- 虚拟内存、分页机制,讲一讲LRU
- 创建对象的方式有哪几种(new 反射 clone 序列化)
- 序列化与反序列化
- 反射中的class.forname()与class.getclass()二者有什么区别
- String.equals(),StringBuffer
- 类加载的过程讲一下
- Java锁的种类
- volatile关键字的作用、原理
- handler.post(Runable()),聊一聊这个
- ANR,OOM了解吗?
代码题:a) 螺旋遍历矩阵;b)(变种)原地旋转图像 - 聊人生聊理想聊爱好
讯飞
相对于网易的面试要简单一些。主要问题偏向于解决他们项目中面临的问题。
总结
我最近从朋友那里收集到了2020-2021BAT 面试真题解析,内容很多也很系统,包含了很多内容:Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题
等等,可以很好地帮助大家深刻理解Android相关知识点的原理以及面试相关知识。
这份资料把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
这里也分享给广大面试同胞们,希望每位程序猿们都能面试成功~
Android 基础知识点
Java 基础知识点
Android 源码相关分析
常见的一些原理性问题
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!