小米android开发实习

一面:3.18

  • java初始化时的流程;
  • jvm内存分布;
  • Object中有什么方法;
  • sleep与wait的区别;
  • Android了解哪些多进程,Binder机制的工作原理,AIDL;
  • Activity的启动模式;
  • Activity的生命周期;
  • java引用类型,哪一种可以用于内存泄漏
  • Android中的ArrayMap了解么
  • Java深拷贝与浅拷贝
  • Android消息机制
  • 代码方面:
  • 手写DCL单例模式
  • 两个栈实现队列

    二面 3.19

  • 1.java基本类型,以及基本类型所占的字节,以及boolean在jvm中怎么存储;
  • 2.View的事件分发原理,问了很多具体的,比如onTouch,onClick以及onTouchEvent的优先级,如何阻止滑动冲突,父View与子View之间的消耗View关系;
  • 3.Activity的生命周期,同时包括启动模式、onRestoreInstanceState与onSaveInstanceState;
  • 4.HashMap的工作原理,hash函数的原理,resize函数的原理,与HashTable的区别,key是否可以为null;
  • 5.syncronized修饰类和修饰代码块有什么区别
  • 6.Service的启动方式,以及区别在哪里;
  • 7.java异常捕捉,finally和return的关系,Android中有哪些异常捕捉;
  • 8.sleep与wait的关系,线程状态,以及先start一个线程后又start一个线程会出现什么错误。
  • 9.android新特性有了解么
  • 10.java中保证线程安全的方法有哪些;
  • 11.Android中的ContentProvider
  • 12.Android中的ActivityContext和ApplactionContext 代码方面:
  • 写一下ViewGroup中遍历所有view的算法(N叉树的层序遍历)