Android 开发面试中,面试官最喜欢问那些问题?

“你遇到过哪些高质量的面试?”
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img--71)(//-..io//-.png?/auto-/strip|/2/w/1200)]
这是我前几天在知乎上面看到一个热门话题,看到后起了兴趣就试着往下翻了翻,看到下面的回答都是在分享、讲述自己的面试经历、面试感受以及面试后感想和总结 。不妨的说很精彩 。
但是看到提问时间是在3年前,为什么3年后的今天还能掀起热浪呢?
想着这个问题,我就把问答完整的阅读了一遍 。想了提问时间,又想到了我收到的推送时间 。才明白原来快到了“金九银十跳槽黄金期”,大部分的程序员都在跃跃欲试,所以三年前的问答就再度掀起热浪 。
想想我在互联网行业已经吃了三年的青春饭,这几年面试过的大厂不少于十家 。拿到了offer也有3家,其中包含了小米、网易、还有一个新浪,现在在字节跳动划水摸鱼,有机会一起哈!我拿到手的offer的平均水平都在24K——27K 左右(工作1—2年),借着问答的机会作一波面试复盘 。
一、A公司
1、介绍项目
我之前是做了新闻App,相当于低仿的今日头条吧!
基本功能:
2、简单说一下生命周期?
下图是状态转换图(注意图中,方框内执行的是状态转换的过程,并不是状态,状态如前述,只有三种: //。)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img--73)(//-..io//-?/auto-/strip|/2/w/795)]
3、简述一下缓存机制?
在的应用上可以说已经取代了,其灵活,组装式设置,多缓存机制可以适应多列表在开发中各种各样的需求 。
对于的缓存机制一直都想稍微的屡下思路,简单点说对比缓存机制中就是多了两层缓存的支持,是两级缓存,为四级缓存(当然在大部分情况下是三级缓存) 。
4、在一个里每个item中都有一个动画(gif)播放的view,当我点击item中的时动画(gif)播放 。当有动画播放时滑动,偶尔会发生item错位的事件 。原因是什么?
这是item复用的问题,由于异步加载导致图片错位
5、当有多个的时候,消息是否会混乱?怎么样区分当前消息由哪个处理?
不会混乱,哪个发送的消息,到时候也是这个处理 。在发送消息的时候,会绑定,这个就是本身,当需要调用(msg)处理消息的时候,这个就是发送消息时绑定的 。
无论用哪一种方法发送消息,最终都会调用( queue,msg, long )来发送消息
private boolean enqueueMessage(MessageQueue queue, Message msg, long uptimeMillis) {msg.target = this;if (mAsynchronous) {msg.setAsynchronous(true);}return queue.enqueueMessage(msg, uptimeMillis);}
这里的this,就是当前的 。在来看需要处理消息的时候,取的是哪一个,下面贴出主要源码 。
public static void loop() {......for (;;) {Message msg = queue.next(); // might blockif (msg == null) {// No message indicates that the message queue is quitting.return;}// This must be in a local variable, in case a UI event sets the logger......if (traceTag != 0 && Trace.isTagEnabled(traceTag)) {Trace.traceBegin(traceTag, msg.target.getTraceName(msg));}final long dispatchStart = needStartTime ? SystemClock.uptimeMillis() : 0;final long dispatchEnd;try {msg.target.dispatchMessage(msg);dispatchEnd = needEndTime ? SystemClock.uptimeMillis() : 0;} finally {if (traceTag != 0) {Trace.traceEnd(traceTag);}}......msg.recycleUnchecked();}}
这是循环消息时的部分代码,处理消息代码是msg..(msg);,这里的就是当时发送消息的 。
二、B公司
1、介绍项目
刚刚说了,不多介绍
2、说一下你对Java中强引用、弱引用、软引用的理解