2018.04.09 小米Android内推一二三面

一面(电话面试 30min)

  1. ==与equals方法区别 (两个对象具有相同的HashCode,equals返回是否为true)
  2. volatile关键字作用、实现及应用场景
  3. Object类的方法(hashCode、equals、toString、clone、wait、notify、finalize)
  4. wait与notify方法作用
  5. finalize方法作用(Native方法)
  6. 一个char能否表示一个汉字
  7. 链表插入和查找时间复杂度、原因;交换算法种类(冒泡排序、快速排序)
  8. Android中典型的设计模式,Activity中用到的设计模式(模板方法),业务逻辑、UI常用的设计模式,MVVM中典型的设计模式(观察者模式)
  9. HTTP和HTTP之间的区别,HTTPS中SSL/TLS四次握手过程,对称与非对称加密
  10. LocalBroadCast(原生类,似于EventBus)

一面面试官的真的很好啊,哪里说不回来就会去提示你思考的方向,问的也不难,而且还是MIUI安全中心的大佬,一直想模仿他们做的网络诊断,迟迟没有动工~~~ 二面加油啊!后天的腾讯现场面试希望不要挂的太惨~

二面(电话面试 40min)

  1. 算法:判断链表是否有环
  2. 算法:求数组中最大最长连续子串
  3. 介绍项目P2P_UDP、内网穿透相关知识
  4. 计算机网络拥塞控制、MSS商定时机及大小
  5. View绘制流程
  6. 事件分发中触摸、点击、长按的处理优先级及流程
  7. 不记得了。。。

三面(电话面试 40min)

  1. 算法:判断两个链表是否相交并找出第一个交点(说了暴力、Hash、连接判断是否有环三个方案,以及时间、空间复杂度)
  2. MVC与MVP和MVVM之间的类型
  3. NAPT类型、作用及差别以及STUN协议

终于拿到了MIUI安全组的Offer,艰难的春招,处处踩坑~

你可能感兴趣的:(2018.04.09 小米Android内推一二三面)