- 线程和进程的区别?
- 为什么要有线程,而不是仅仅用进程?
- 算法判断单链表成环与否?
- 如何实现线程同步?
- hashmap数据结构?
- arraylist 与 linkedlist 异同?
- object类的equal 和hashcode 方法重写,为什么?
- hashmap如何put数据(从hashmap源码角度讲解)?
- 简述IPC?
- fragment之间传递数据的方式?
- 简述tcp四次挥手?
- threadlocal原理
- 内存泄漏的可能原因?
- 用IDE如何分析内存泄漏?
- OOM的可能原因?
- 线程死锁的4个条件?
- 差值器&估值器
二面:
- 简述消息机制相关
- 进程间通信方式?
- Binder相关?
- 触摸事件的分发?
- 简述Activity启动全部过程?
- okhttp源码?
- RxJava简介及其源码解读?
- 性能优化如何分析systrace?
- 广播的分类?
- 点击事件被拦截,但是相传到下面的view,如何操作?
- Glide源码?
- ActicityThread相关?
- volatile的原理
- synchronize的原理
- lock原理
三面:
- 三道算法题,要求在一个小时之内做完。
- 翻转一个单项链表 1->2->3->4->5->null =====> 5->4->3->2->1->null
- string to integer
- 合并多个单有序链表(假设都是递增的)
**四面: **
总监面,问了一些java 同步相关的。
HR面:
谈薪水,最后没谈拢。
由鹅厂与其他公司合资创立的公司
一场笔试加一场面试后挂了,面试官T4级别……。
笔试:
- Activity生命周期简述
- 常见内存泄漏情景及避免内存泄漏的措施
- Actvity启动模式简述
- 简绘观察者设计模式UML图
- 算法,求公共子序列(或者是子串,记不清了)
- Java四种引用
- 自定义view重写哪几个方法?
- http 的session&cookie的区别
- 简述工作线程更新UI的方法
面试:
- 应用最多占多少内存
- 滑动卡顿如何解决(不同原因及对应处理方式)
- 自定义view实战
- 多线程,多进程 相关
- Java四种引用的使用
某ding
一面就挂。
- XX项目你负责什么
- Sqlite 怎么增加一个字段
- XX项目中是怎么创建数据库的
- Sqlite 怎么删除一个字段
- 有什么你觉得自己做得好的地方
- 为什么用Retrofit(一个开源库)
- Retrofit与之前的网络库有什么优势
- XX项目中你们自己定义的线程池来管理任务,不使用框架,那么,后来新的项目怎么设计的
- 你认为Rxjava的线程池与你们自己实现任务管理框架有什么区别?
- 内存泄漏的常见场景
- 怎么发现&分析内存泄漏
某条
面了三轮技术加一轮HR,HR事业线不错,笑得职业化,其他的没记住。
其他
- 处理有序数组为什么比无序数组更快 参考StackOverflow
- 热修复与插件化相关
- Integer类是不是线程安全的,为什么
- 不使用同步锁如何实现线程安全
- 面试头条的时候在线编程:从上到下从左到右输出二叉树
- 针对concurrent包下面的一些类的问题
Android面试再也不是“能答出来Activity生命周期就OK”的时代了,你们看前面的面试题,有些问题牵扯到底层原理。另外光是concurrent包下面的东西就能把你问懵逼了。
总结
我自己面试了一些公司,拿了一些offer,但是还是想去BAT,所以那些offer最终都拒了,好在最终拿了B的offer,算起来前前后后面了8次BAT,屡败屡战,内心还是很强大的。结合我的面试经历与同事们的面试历程,总结几点:
-
有些规模小的公司很注重你是不是全能的,恨不得你什么都会,又给不起钱,福利待遇很不好,各种避税措施。
-
马爸爸的公司很注重项目经验是否匹配,往死了问项目,项目简单的话是很吃亏的,鹅厂希望你是聪明的机灵的,度娘希望你基础好,热爱技术;
-
有些猎头朋友是非常专业的,不仅给你安排面试流程,还给你提供很多有价值的信息,另外猎头一般推荐的都是高级职位;
-
面试真的很看眼缘,很多时候你和面试官一见面,如果你觉得面试官和你气场不合,那很可能就没戏了(这话说起来似乎是给自己的失败找借口,信则有不信则无,各自体会吧),碰见一个面试官,一见面就问我”XX大学是一本么”,答曰”是”,”是985么”,答曰”是”,”是211么”,答曰”是”,真心不想聊下去了,不过我也确实没有通过面试……。
-
我认为一面必须表现的很好,因为二面的面试官会参考一面的评价,一旦一面评价一般,第一印象就不好了;
-
如果你出身很好,学校认可度高,那你会有优势,请联想“好学生犯错与坏学生犯错时老师的表现“。
-
基础很重要,大厂还是很青睐名校计算机专业出身的工程师的(我不是),根正苗红啊,他们基础一般都很好。所以半路出家的朋友们,注意补补基础,基础好,才能走得远。
-
要深入研究,不能浮于表面,多看看源码,被嘲笑为 API Player 是很难受的。
-
要广泛接触,不要只看着自己的一亩三分地,多看看流行的库,技术等。
-
最好是有blog和gayhub,并写一些有价值的内容,可以加分,别像我一样blog又空又low。
写在最后
在薯片的三年,我从一个让leader皱眉的菜鸡成长为一个可以hold住工作的菜鸡,用了一年半,后面的时间我觉得一直是原地踏步,开始求职前我觉得自己很叼(毕竟薯片也算颇有名气),但事实上并不是。我们更应该注重自身能力的提升,否则离开平台我们什么都不是。今年移动端不景气,求职不容易,但翔哥说了:“你只要牛逼,不存在就业危机”。所以还是要做一个U盘型人才……。
好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,可以**【简信我】**加一下合作的技术群。来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及
职业规划。
这里放上一部分我工作以来以及参与过的大大小小的面试收集总结出来的相关的几十套腾讯、头条、阿里、美团等公司19年的面试专题,其中把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分免费分享给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
Android学习PDF+架构视频+面试文档+源码笔记
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
【延伸Android必备知识点】
【Android进阶学习视频】、【全套Android面试秘籍】关注我【主页简介】或者【简信我】查看免费领取方式!
这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~
码字不易,点个赞吧
】或者【简信我】查看免费领取方式!**
这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~
码字不易,点个赞吧