过年期间给自己定了下个工作的期望:
1. 离开郑州
2. 公司规模要大(有成熟的产品和开发流程)
3. 有良好的技术氛围
4. 合理的加班
年后我带着这个期望,怀着少许的不按和些许的期待踏上了南下的高铁。
因为有小伙伴的内推(其实面完我都不知道内推的什么岗位),所以我的第一站是上海:趣头条。
面试过程
下面还是进入重点,面试流程:(没有记录全,简单的答案就不贴了,大家都知道)
面试官:你先做个自我介绍吧
我叫xx,xx年毕业于xx,毕业后去了xx公司,主要负责了xx项目。主要业绩有xx。平时喜欢xx,对代码要求高,热爱学习,布拉布拉。。。
面试官:那我先问个简单的吧,简单说下activity的启动模式吧?
回答四种启动模式,分别有什么作用
面试官:现在有个场景:Activity A 启动 B ,B为 singleInstence启动模式 ,B启动 C , 这时候 在C页面按返回键,会退回到哪,再按返回退回哪?
C 按返回 回到A 再按返回 回到B 再返回退出
面试官:View的绘制流程,测量传参的形式是什么
View的绘制主要是三个方法,onMouse()onLayout()、 onDraw(); onMouse()传参会传一个 32位的int型数字,高两位代表测量模式,低30位代表具体数值。
面试官:AIDL的基本流程(如何实现AIDL),不用AIDL是否可以实现进程间通讯,用什么,如何实现。
这个可以回答很多东西,建议看看,可以看下刚哥的《Android开发艺术探索》第二章,写的很具体
面试官:有一个十互不相同的数字组成的数组,现在需要取两个数相加等于50的所有组合,请设计一个算法
首先对数组排序,然后取出首位和末尾数字,相加 判断是否大于50,如果大于50,高位迁移,如果小于50,低位后移。
面试官:你还有什么想问我的
这个必须要问,如果是技术问你,那你就多问些技术相关的。如果是人事问你,你就多问些公司发展的。
下面这些问题是当时没有回答太好,回来后查阅资料整理的:
问:Fragment的启动栈和回退栈
答:当时没答太好,找了个文章https://www.cnblogs.com/cqkxzsxy/p/7873796.html
问:Service的启动方式;Service内是否可以直接做耗时操作;广播内是否可以直接做耗时操作
答:两种启动模式,start 和 bind ; service 不能直接做耗时操作,广播内也不可以直接做耗时操作。
https://blog.csdn.net/llengnuo/article/details/76772492
问:Android线程间切换用什么,Handler的运行机制是什么。
答:https://www.jianshu.com/p/828af415472e
问:Android处理异步任务用什么,AsyncTask线程池溢出是怎么回事,如何解决。
答:异步处理:
https://www.jianshu.com/p/00b130319864
线程池溢出的问题是我简历上写的,所以每个面试都会问我。大家一定要对自己简历上写的东西特别熟悉。
问:Android屏幕适配是如何做的,今日头条是如何做的适配。
答:https://www.jianshu.com/p/cd373f529bea
问:Android组件化是否使用过,组件化直接进行通讯使用什么,路由的机制是什么。
答:组件化:https://www.jianshu.com/p/8b6e6a50e21e
路由:https://www.jianshu.com/p/3358bbb84aa5
问:简单聊一下热修复技术,tinker是否支持修改Activity的配置文件,和资源文件,它是如何做到的。
答:热修复:https://www.cnblogs.com/popfisher/p/8543973.html
问:开发中常用哪些设计模式,单例模式的几种实现方式,双重检查的机制 volatile关键词有什么作用。
答:单例模式:https://www.jianshu.com/p/4f4f2fa7e735
volatile关键字:https://blog.csdn.net/nugongahou110/article/details/49927667
问:开发过JNI吗?知道JNI如何实现吗。
答:Android JNI 开发:https://www.jianshu.com/p/87ce6f565d37
后记
虽然趣头条的面试没有过,但是给我增加的很多经验,对我后面的面试帮助很大。现在也已经找到了心仪的工作。
给大家的建议,基础知识点一定要掌握捞,简历上面写的东西一定要完全熟悉。然后就是面试要自信,不卑不亢。面试完要及时整理,找到不足点及时补充自己。
无论是哪家公司,都很重视基础,尤其是对于应届生来说,所以在面试前基础一定要打扎实。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
最后
说一千道一万,不如自己去行动。要想在移动互联网的下半场是自己占有一席之地,那就得从现在开始,从今天开始,马上严格要求自己,既重视业务实现能力,也重视基础和原理。基础夯实好了,高楼才能够平地而起,稳如泰山。
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2020-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
化的技术体系对大家有一个方向参考。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!