面试

1.java算法编程 :


  a.如何用效率o(n)的方法找出一个数组的最大值和最小值 


  b.如何用效率o(n)的方法使两个有序数组合并为一个有序数组 


  c.判断一个数是否为2的n次方,有哪些方法 


  d.有一个二维矩阵如何按照斜对角线的顺序把它打印出来 


  e.求两个数的最大公约数和最小公倍数 


  f.判断1-100哪些是素数 


  g.实现二叉树、红黑树、strlen


  h.求一个数二进制中1的个数


  i.子数租的最大和、最大积


  j. KMP算法


  还有其他常考的算法编程可以在网上多搜搜多记记,准备充分...


2.有多少种排序算法,哪种效率最高(常考,最好是把快速排序等效率高的几种代码记住)


3.自定义动画,如属性动画


4.http和https的区别,I/O和NIO的区别(阻塞和不阻塞)


5.Fragment的生命周期,View的生命周期,View如何保存状态


6.UI线程与非UI线程通信有几种方式,哪种效率高


7.做应用的过程中,你是如何优化的,举例说明


8.一些面试官提问的非技术问题你也要总结经验回答圆满,如你能为公司带来什么,你有什么优势等,Android的哪个方面你比较擅长


9.sleep(),wait(),yield()区别


10.怎么在http链接中设置超时和代理


11.在JNI中,如何使用c++访问到一个对象


12.存储管理之段式、页式、段页


13.Binder和AIDL的实现原理


14.常用开源项目的实现原理,如UIL的内存缓存、PullToRefreshListView、PhotoView、AsyncHttpClient等


15.JVM和Dalvik区别,堆和栈的区别,View和SurfaceView区别,HashMap和HashTable区别,hashCode和equal区别,C++引用与指针的的区别,


     invalidate()、postInvalidate()、requestLayout()区别


16.WebView的优化和与JS的交互


17.让你设计一个SDK,你有什么思路


18.Android反编译与二次打包,android:debuggable=" "


19.基于wifi定位的实现原理


20.Sqlite方面的知识,如连表查询


21.Handler、Message、Looper的工作原理,Handler可能导致内存泄露

你可能感兴趣的:(面试)