高级Android工程师面试回忆录
转自:http://blog.csdn.net/theone10211024/article/details/51025022
最近打算换工作了,面试了百度作业帮、今日头条、阿里、网易和小米的工作。然后把面试的题目写下来,给找工作的同学一些指导。
首先,我面试的是Android高级岗,不过一些基础的知识应该是所有层次的同学都应掌握的。其次,问到的项目相关的问题不在这里和大家分享,因为这不是通用的。但是不代表你的项目就在面试中不重要,相反,你做过的项目和你的经历都在很大程度上决定了你的通过率。下面我就把我能想到的题目分享给大家。
百度作业帮
一面
1.startactivityforresult的时候,比如A startB activity,A activity被回收,B回来的时候的A和B的生命周期各自是什么?
2.如何实现一个环形布局的ViewGroup,类似一个菊花的形状。又问了在onMeasure中传递的参数是什么?这道题主要就是想了解对View的measure、layout和draw流程是否熟悉。
3.android的事件传递机制
4.内存泄露问题,常见的导致内存泄露的原因
5.页面很卡顿,分析一下原因是什么,然后从哪些方面入手解决
6.java的线程同步问题。new了很多A对象,一个线程池的线程不断去操作A对象被synchronized修饰的方法,会同步操作吗?如果该方法是static的,又会怎么样?
7.遇见过的项目难点的地方
8.强化android优化方面
二面
1.工作相关,强化工作相关项目
2.android性能调优
今日头条
今日头条问的都是网上能找到的。好几个问题都是网上面经的原题,所以刷面经很重要。
一面:
一面主要是问了Android基础、Java基础和数据结构算法
1、软引用和弱引用的区别
2、1亿个数中找出最大的100个数。回答了可以建一个小顶堆,然后问如何建小顶堆以及如何维护小顶堆
3、Bitmap加载过程中OOM了怎么办?回答了可以压缩图片,然后问具体怎么压缩?如果有一张很大size的图片需要加载到手机里怎么办?回答可以局部加载。
4、有了解什么是IntentService么?
5、Activity的几种启动模式有了解么?各自的含义是什么?
6、TCP和UDP的区别,以及简单说了一下TCP三次握手协议
7、手写单例模式
8、除了Lru缓存算法,你还知道哪些缓存算法?
二面
二面面试官是百度t6,主要问了项目相关的问题,也问了一些Android基础和算法数据结构
1、1亿个url存在文件中,里面有重复的url,请问怎么去重?题外:这道题给人的感觉就是这个面试官只会抄网上的题目来“考”面试者,而不是真的用心去了解面试者的Android能力水平,网上这样的“海量数据”处理问题已经被问烂了,而且平时android开发中间几乎很少用到,面试者能答上来无非两者:1、刷过面经;2、真的会“海量数据”处理的大牛,但是Android中是后者的几乎没有,所以这道题没有任何意义,完全就是面试官照抄面试题的应付而已。
2、2*8的最快运算是什么?考察点是位运算,但平时工作中几乎很少“2<<3”这样写,原因是没有必要,因为编译器早就做过这方面的优化。
3、讨论了一下热修复相关的问题
3、一个listview很卡顿,让分析一下其中可能的原因和你碰见这个问题如何动手解决。算是相对比较发散思维的问题,应该能从一定角度反应求职者水平。
高德:
一面
1、cpu的唤醒,cpu休眠会停止线程xxx
2、线程同步synchronized,volatile关键字的用法
3、怎么停止一个线程,waitxxx有用吗?
4、静态内部类引用外部类怎么解决引用问题
5、for循环…的线程同步问题
6、c里面static关键字的用法
7、include头文件两种方式的区别
8、弱引用和软应用的区别
9、Dalvik和ART虚拟机的区别
10、Java虚拟机什么时候进行GC,Android虚拟机呢?
11、弱引用和软引用的区别?各自的使用场景是什么
二面
1、n个元素的集合一共多少个子集
2、view的事件传递机制
3、我们的应用的架构
4、静态内部类访问外部类的做法
5、RxJava和EventBus的区别?好奇怪
6、okhttp访问线程池的问题
小米
小米hr要求每轮面试都必须有一到两个算法题,所以算法和数据结构也是不能放。
一面
一面主要就围绕着我的项目里的展开的讨论,也问了很多Android基础问题。
1、handler的机制
2、RxJava的好处
3、EventBus的内部实现原理是什么?
4、什么是内存泄露,如何分析?MAT和LeakCanary。MAT和LeakCanary的各自优缺点是什么?
5、有哪些常见的内存泄露的原因
6、算法:1)求最大连续子序列之和。2)遍历输出一个文件夹中的所有文件(递归)
7、手写单例模式,单例的使用场景有哪些?
二面
1、算法:非递减序列求个数,例如 1、1、2、2、3、3、3、3、4、7、8、9、9、9,input:3,output:4
网易
笔试:
1、一个类中声明private static Bitmap会引起什么问题,主要考察的是内存泄露
2、Activity的生命周期,主要考虑异常情况
3、ScrollView和Listview的区别?好奇怪的问题
4、两个有序数组a[n]和b[m],合并成一个有序数组并放入a中,a数组开的存储空间保证能放下a和b中所有元素,如何实现效率最高?
面试:
1、listview的卡顿分析和优化
2、listview加载图片会有什么问题,如果引起图片错位是什么原因导致的?怎么解决?
3、自己设计一个Picasso应该考虑哪些方面。图片缓存(DiskLruCache,LruCache)、压缩、listview导致的错位、线程池的数量等
高级Android工程师面试回忆录相关推荐
- 【建议收藏】2020年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂(Android高级篇上)...
前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~. A awesome android expert interview questions a ...
- 【建议收藏】2020年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂(Android高级篇-2)...
前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~. A awesome android expert interview questions a ...
- Java高级开发工程师面试笔记
最近在复习面试相关的知识点,然后做笔记,后期(大概在2018.02.01)会分享给大家,尽自己最大的努力做到最好,还希望到时候大家能给予建议和补充 ----------------2018.03.05 ...
- java高级软件工程师面试_高级软件工程师的新面试问题
java高级软件工程师面试 I'm putting together some practice interview questions for a friend who lost his job. ...
- 【建议收藏】2020年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂(Android高级篇下)...
前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~. A awesome android expert interview questions a ...
- 【建议收藏】2021年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂(Java篇)
前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~. A awesome android expert interview questions a ...
- 大公司高级Android工程师技能要求
这是我收集的一些大公司关于Android工程师(准确来说是高级Android工程师)的要求 希望给那些想进大公司的开发者一些参考,看看自己掌握了多少技能,还需要学习一些什么知识技术 以下要求均来自于智 ...
- Android工程师面试准备知识点
Android工程师面试准备知识点 听+7哥说,把下面的全弄懂,面试必过,所以我就试着去把所有题目补充了一下,各位能耐的网友们,如果有吐槽或者补充的尽管给我留言,在这里谢过大家了. 1. andr ...
- 【iOS高级资深工程师面试篇】⑪、2022年,金九银十我为你准备了《iOS高级资深工程师面试知识总结》 算法部分 字符串反转-链表反转-有序数组组合-Hash算法-查找两个子视图的共同父视图
iOS高级资深工程师面试篇系列 - 已更新3篇 UI部分1/3 -UITableView-事件传递&视图响应 UI部分2/3 -图像显示原理-UI卡顿&掉帧 UI部分3/3 -UIVi ...
最新文章
- 根际微生物组提高植物耐盐性的研究进展(Biotechnology Advances IF=10)
- 关于Reapeter的总结
- Android之在Layout中自定义View
- leetcode 212. Word Search II | 212. 单词搜索 II(Trie,回溯,DFS)
- 【四重优化,速看】剑指 Offer 13. 机器人的运动范围
- asp.net FileUpload上传文件夹并检测所有子文件
- Java内部类手机专卖店_Java:内部类
- Android系统运行库分为,Android系统架构
- Intouch Historian历史曲线配置导入导出
- 【音效处理】Reverb 混响算法简介
- SlideShare:大话SSD (淘宝核心系统数据库组 褚霸)
- Python之PIL图片操作
- ProSpec BCA-1人重组 (CXCL13)说明书
- 计算机应用最普遍的汉字字符编码是什么,计算机中,目前最普遍使用的汉字字符编码是__________...
- 惠普m128fn中文说明书_惠普M128fp使用手册
- 神舟z7m安装Linux,神舟战神Z7M重装win10系统教程
- 麦肯锡解决问题七步法
- 【折半搜索】 洛谷 P4799 [CEOI2015 Day2]世界冰球锦标赛
- 【示例教程】使用Leadtools对身份证进行识别和表单模板创建
- MySQL查询重复字段,及删除重复记录的方法
热门文章
- 联想平板android版本升级,联想乐Pad A1平板安卓4.0升级操作详细教程
- 白月黑羽python_白月黑羽来帮你分析现在是选择 Python3.6 还是 Python 3.7
- 【阿里2013实习笔试】找明星
- 每日小技巧——教你用一行Python代码去除照片背景
- 中央一号文件力推乡村振兴,VR全景如何构建数字乡村?
- 大道至简 | 设计 ViT 到底怎么配置Self-Attention才是最合理的?
- 解决 苹果ios input输入框弹出输入法 但是 无法输入内容问题
- 江工网:报到证过期对公务员有影响吗
- 回顾那些悲催的雅虎网络服务:多数已经关停
- 串联单元集成自清洗过滤器