前言
我最近一份工作是在一家互联网公司做Android开发,工作了快三年时间。去年年底公司人员优化,我也在其中。也不是很意外,去年年中的时候有已经有预感。拿着几个月的赔偿,我休息了一段时间,2月开始找工作。
在这快一个月时间,我在招聘平台上主动打招呼的有三十家公司,只有14家成功投递了简历。总共有10家互联网公司发来了面试邀请。
最后我是走的阿里的内推流程,内推后十二天接到面试电话,技术面三次,接着四月清明假期过后Hr面,面完后当天晚上收到Offer。下面我把面试过程中遇到的问题分享给大家!算是对自己找工作的一个总结吧。
同时我把这段时间面试过的面试题和学习资料放文章末尾,有需要的在文末领取!!!
阿里一面(22分钟)
自我介绍都没有做,上来就问印象最深的一个项目,根据项目中的知识点提问:
* 项目中使用了哪些材料设计中的东西?
* ListView和RecyclerView的区别?为什么使用RecyclerView,好在哪里?
* ListView的优化
* 为什么使用CardView,好在哪里?
* 项目中如何做到后台监听的?(项目中BroadcastReceive和Service相关问题)
* 使用的是什么数据库?(答:Realm)为什么使用,为什么不用Sqlite?
* 项目中使用那么多开源框架,如何获取这些信息的?如何筛选决定要使用这些东西?
* 有没有看过开源的代码?(大概说了一下Rxjava)
* 你有什么问题要问?
基本上就是这些,一面整体感觉不错,当天晚上七点半接到二面电话,由于在做360笔试,拖到第二天早上。
阿里二面(24分钟)
自我介绍,同时问了项目中的细小的问题:
* 项目中如何让service常驻后台?(告诉他这是我项目中的Bug被杀掉后就没办法了,但是在说了网上提到的QQ的两种常驻方法)
* Activity的生命周期,每个周期伴随着什么?
* Activity的启动模式,四种方法?
* 广播注册的两种方式,区别,优先级?
* 问了Layout的优化的方法?(这个不清楚,答的是ListView和Activity的优化)
* 一个singleton如何实现线程的同步问题?
* Java的垃圾回收机制,垃圾回收算法?
* 平时如何代码是如何练习的?
* 使用过那么多开源框架,有没有看过源代码?(答:结合解析看过Retrofit、Rxjava、Okhttp等)
* 你有什么问题要问?
二面问的比较基础,基本上也都答上来了。二面结束第二天的下午接到三面电话。
阿里三面(45分钟)
* 自我介绍,同时问了三个项目的大概情况,(对混合开发那个比较感兴趣,问了一下,其他的没有细问)
* 由于其中一个项目是负责人,所以问了一下项目的整个设计流程
* 又问了项目中service常驻的方法,(回答和二面一样,但是这次说的比较清晰)
* 有没有了解过Realm的底层数据库是什么?(没有了解过)
* 他问有没有读过开源的源码?(说了一下Retrofit和RxJava的内部主要实现,这一次也答的比上一次清楚多了)
* 又问了ListView的优化
* 网络中Http get和post的区别
* 使用哪种数据传输格式?答Json,问还有哪些?答Xml。还有哪些?答:不知道
* 怎么解析Json?(答的在线解析生成Java类,他表示很感兴趣)
* 怎么在非UI线程更改UI?(答handle、AsyncTask、RxJava,表示现在我基本不用handle,直接用RxJava。)
* Handle的工作原理和工作过程?(同时还说了Handle会造成内存泄漏的问题)
* 有没有了解过跨进程通信;(瞬间心虚,只是简单说了一下远程service的创建和AIDL实现远程通信,这里需要感谢CSDN的郭大神)
* 问了多线程的并发(说了两种重入锁的实现)
* 又问使用synchronized关键字的时候底层调用的是哪种锁?(没有了解过不清楚)
* 问了一个JavaEE的新特性,这个不知道也没听清楚;
* interface中定义的变量默认的类型是什么(不加任何修饰)?(说是default,他反问default,我说这是方法中变量中的类型,interface中应该也一样吧;后来查了一下才知道,这里是个坑,interface只能是public static final的常量)
* 父类的方法是public,子类重写后,改为protect,会不会报错?反过来呢?
* 算法:国际象棋8*8的格子,马走“日”字,设计算法计算马如果走完全部格子?(答的回溯法说了一下思路,后来查了基本差不多)
* 你有什么问题要问?
Hr面(30分钟)
之前三面的面试官说第二天会有Hr联系我,结果等了一个清明假期才等来。这个电话是在4月5号的中午打来的,Hr面基本上是聊天,比较轻松,聊聊以前的工作经历,聊聊项目经历之类的。感觉还不错。
Hr面当天晚上收到Offer,至此为期两个月紧张的找工作经历结束。
最后
能拿到这个offer其实是很不容易的,当我面试十几次都没下文时,我停止了继续找投简历,开始静下心来寻找面试失败的原因,于是我把面试遇到的问题和不牢固的知识点全都复习了一遍,查缺补漏。下面就给大家分享我总结的面试题和学习资料。扫码下方二维码可免费领取!!