一年经验Android面试记录

记不太清了,一面二面合在一起写。
1.事件分发机制。
这个调试过sdk的源码,断点调试大法好。从activity的dispatchTouchEvent->phoneWindow->frameLayout->viewGroup->view
中间提了下,viewGroup dispatchTouchevent的action_down和firstTouchTarget那里的逻辑,顺便解释了为什么第一次拦截后,viewGroup后续不再调用OnIntercept直接拦截的原因。以及disallowIntercept标记的作用(内部拦截方式),因为这写代码都是在一块的,调试过的同学应该都了解的(结合着开发艺术探索看,效果更佳)。
然后还有个点就是viewGroup的dispatchTransformeTouchevent到view的dispatchTouchEvent,那里有touchListener优先于performClick(onClick事件)
源码调试时,如果出现代码不对应的情况,尝试下genymotion版本和sdk版本对应,比如模拟器7.1,sdk25

2.设计模式

  • 单例模式
    手撸单例模式的双重检测方法
    谈了下volite的作用(内存可见,禁止指令重排序)
    谈了下静态内部类实现单例模式
  • 责任链模式
    接着上面事件分发机制是基于什么设计模式,这个了解过这是责任链模式。
  • 模板方法模式
    基于android activity生命周期 oncreat onresume那些方法基于什么设计模式,最开始没get到点,稍微提示了下,答这是模板方法。

3.android内存分析,描述分析的过程。如果怀疑一个activity存在内存泄漏,应该怎么做。这个平时在用,所以也比较简单。

4.问了是否看过okhttp源码,没看过(公司的技术太老了,okhttp retrofit就没在项目上用过)。看过volley源码的,大概讲了下缓存队列、方式。然后被追问了下队列的数据结构,priorityBlockingQueue这个倒是知道,然后顺便结合线程池通过Executors静态工程方式建造那几张常用的线程池,它们的主要区别也是工作队列。但是后面二面的时候被追问blockingQueue接口的几种get set方法的异同,这个没注意过,没答上来 GG。

5.android打包过程,如何把资源文件和java代码打成apk的。这个没具体了解过(平时项目中都是用打包服务器,确实没怎么接触过),知道class文件到dex文件,之前的重心放在了jvm 和 dalvik ART的异同上了。这个也回答的不好。
参考apk打包流程

6.android A->B->A的生命周期,如果页面被销毁,数据该怎么保存。这个比较基础,重点在onpause不能做耗时操作嘛。被销毁调用onSaveInstanceState存在bundle里面,在oncreate或者onrestore的时候从bundle里面取。接着问了一下如果oncreat第一次正常启动的时候也会调用也去取吗?在里面加一个判断,有bundle才去取。

7.问了下retrofit的原理,结合rxjava的使用,databindng的使用,mvp mvc mvvm的异同。虽然平时项目的技术很老,但是还好自己空余时间下去写demo用过这些技术,基本都答上来了。

8.和js交互的方式。jsInterface和jsBridage介绍了下。然后问了解过jsBridage是怎么实现的吗? 大概看过两端定义协议,然后js回调json数据给客户端。但是没有自己去实现一次jsBridage,所以还是有些模糊。

9.android模块化 aar相关的东西。我自己没做过aar开发,答知道和jar的区别,里面多了资源文件。然后追问aar的资源文件和主项目的资源文件起冲突了怎么办,比如string.xml冲突和manifest冲突。这个没做过,没答上来,GG

10.图片相关。问用过哪些图片框架,答gilde。然后接着问看过源码吗。答没看过,但是ImageLoader写过。然后介绍了下三级缓存,lruCache的linkedHashMap,弱引用保存图片。

11.线程间通信。答handler和接口回调。说了下原理,这个因为之前都写过博客,所以还是比较容易。

12.arrayList删除元素 a,b,b,c删除完b。这个当时没答好,需要用iterator去删除。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,784评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,745评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,702评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,229评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,245评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,376评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,798评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,471评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,655评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,485评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,535评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,235评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,793评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,863评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,096评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,654评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,233评论 2 341

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,331评论 25 707
  • 前几天整理了Java面试题集合,今天再来整理下Android相关的面试题集合.如果你希望能得到最新的消息,可以关注...
    Boyko阅读 3,619评论 8 135
  • 周五大盘小幅顺着周四量能顺势高开后开始缩量震荡,早间最高指数为3003点,但苦于无量能支撑,早盘大盘一度围绕290...
    阿凯古阅读 328评论 0 2
  • 他两岁了都还离不开药品和医生,母亲无数个清晨天不亮就背着他出门去找镇里的老医生。可是他一直不是这里痛就是那里不舒...
    太远_4阅读 409评论 0 0
  • 青春已老,逝者已逝。 愿逝者安,亦如尘土般,宁静与安详。青春可比先人,是人之道的先行之者。 缅怀青春,揣着...
    落下万般尘阅读 262评论 1 1