小米Android面经,了解一下

13号杭州面的Android,hr面当场给offer了。现在发一波面经回馈一下。



一面:

一面差不多问了四五十分钟。下面是面经。

Android:

  1. activity之类,生命周期等。举例子讲
  2. 项目讲一下,项目方面的东西问了挺久。
  3. linux dump,还有一个文件什么忘了
  4. 网络分层模型,tcp、udp讲一讲。
  5. MVP讲一下
  6. 看过哪些开源库源码,我说看过eventbus和glide。
  7. 说说安卓分四大组件这种模块的原因。
  8. 手写读者写者问题


算法:

  1. 二叉树高度
  2. 加一个字符之后判断字符串是否回文



二面:

二面很多问题都会深入问你,直到你不会。但面试官人超级nice,不会的东西给我讲了好久。所以二面面了1.5h,以下面经。


Java基础

  1. 抽象类、接口区别
  2. 由数组实现的集合有哪些,跟链表实现的有什么区别?差异
  3. hashmap,hashtable,concurrenthashmap区别。之后深入到concurrenthashmap分段锁详解,没答出来。他直接打开源码给我分析。问到table和concurrent的get方法区别。
  4. 多线程,wait和sleep区别。
  5. 两个线程分别打印log
  6. class对象什么时候加载,这个问了很多。涉及到精确去控制类中某个块的加载。自己不会,面试官跟我讲了好多。
  7. 问到双亲委派机制,但是是举例子问的。如果自己写了个跟java提供的一模一样的类。(包名类名都一样)为什么虚拟机可以正确加载系统提供的。
  8. 什么样的对象会被gc回收,举例子说了很多
  9. 内部类,持有外部引用。为什么内部类访问外部变量时,外部变量要设置成final
  10. 让我讲讲设计模式,我说讲单例,他说可以。写了dcl之后问dcl失效的问题,什么情况会失效。然后说有没有更好的方式,我说静态内部类方式,但我自己没怎么写过。说到静态内部类方式的时候,发现跟第四个问题有关联。


Android

  1. 生命周期,两个activity启动的回调。然后问如果把一个应用进程直接kill掉,生命周期会怎么走。
  2. 启动模式没问,说这个过了算了
  3. 进程通信机制有哪些,ipc问的不是很深。问我在什么情况下用aidl。我说没用过。
  4. 线程通信,handler机制,讲完流程后问当messagequeue空的时候,怎么进行阻塞的(面试官跟我讲涉及到native方法)。postdelay详细讲一下,跟前面一个问题有关联。
  5. asynctask内部机制讲一讲,onpost回调执行的线程
  6. 内存泄漏检测方案,常见内存泄漏有哪些。我自己举了举个例子,面试官又补充了好多。
  7. view的60ms刷新机制了解,怎么检测view卡顿。
  8. anr定位,监控。
  9. 事件分发,讲完流程之后问的比较深入。如何让事件进行双向传递,比如子view已经消费了的事件怎么传回到vg去。


算法

  1. 判断交叉链表并找出相交节点



#安卓工程师##小米##秋招##面经#
全部评论
恭喜恭喜,仰望大佬
点赞 回复
分享
发布于 2018-10-17 18:42
恭喜大佬,我还在苦逼的等通知
点赞 回复
分享
发布于 2018-10-17 21:25
博乐游戏
校招火热招聘中
官网直投
方便透露薪资
点赞 回复
分享
发布于 2018-10-18 00:10
请问面的是哪里的岗位啊
点赞 回复
分享
发布于 2018-10-18 16:06
请问一下,大佬看的哪些书籍啊
点赞 回复
分享
发布于 2019-08-26 20:25

相关推荐

头像
不愿透露姓名的神秘牛友
02-28 13:45
点赞 评论 收藏
转发
8 45 评论
分享
牛客网
牛客企业服务