eoe 移动开发者论坛

 找回密码
 加入eoe

QQ登录

只需一步,快速开始

查看: 149|回复: 1
收起左侧

[Android分享] Android面试攻略

[复制链接]

签到天数: 371 天

连续签到: 3 天

[LV.9]以坛为家II

137

主题

1470

帖子

1万

e币
QQ认证社区认证会员
发表于 2017-7-11 15:40:54 | 显示全部楼层 |阅读模式

没有eoe的账号,级别还太低,出门如何吹牛逼?

您需要 登录 才可以下载或查看,没有帐号?加入eoe

x

  1. 文章目标

  2. 助同仁们面试一臂之力
  3. 文章将持续更新

  4. android层面

  5. 一、Android基础

  6. 1、四大组件的意义及使用,生命周期回调及意义
  7. 2、AsyncTask、Handler的使用
  8. 3、Android系统层次框架结构
  9. 4、AsyncTask的实现方式
  10. 5、AsyncTask使用的时候应该注意什么
  11. 6、Android常见的存储方式
  12. 7、Looper、Handler和MessageQueue的关系
  13. 8、Activity的启动流程(考察对Framwork的熟悉程度)
  14. 9、多进程开发的注意事项(Application类区分进程,进程间内存不可见、进程间通讯方式)
  15. 10、activity四种启动模式区别和应用场景。
  16. 11、service生命周期,两种启动方式的区别。
  17. 12、 实现ipc的方法有哪些?
  18. 13、handler的内在原理。消息队列为空会怎样?

  19. 二、Resource相关

  20. 1、.9图片的意义
  21. 2、style和theme的作用及用法
  22. 3、dpi、sp、px的区别以及转换关系
  23. 4、raw和assets文件夹的作用,二者有何区别
  24. 5、Android系统如何在多个资源文件夹下查找匹配最合适的资源

  25. 三、View相关

  26. 1、常用组件的使用:ListView、RecyclerView及Adapter的使用
  27. 2、View之间的继承关系
  28. 3、Invalidate与postInvalidate的区别
  29. 4、自定义View的实现方式(根据项目经验询问相关组件)。
  30. 5、onMeasure/onLayout/onDraw的作用
  31. 6、Paint、Matrix、Shader等绘制相关类的方法作用
  32. 7、详细描述事件分发机制

  33. 四、图片处理

  34. 1、一般项目中如何加载大图
  35. 2、图片压缩的方式
  36. 3、如何不压缩图片加载高清图
  37. 4、图片加载过程中,一般会使用缓存,这个缓存的主要作用是什么
  38. 5、谈谈自己熟悉的图片加载框架

  39. 五、动画类

  40. 1、Android有哪些动画的实现方式
  41. 2、Interpolator类的意义和常用的Interpolator
  42. 3、ViewAnimation与属性动画有什么区别
  43. 4、如何自定义ViewAnimation
  44. 5、属性动画的实现原理

  45. 六、开放平台应用

  46. 1、是否使用过第三方平台
  47. 2、常用开放平台的熟悉度(微信、QQ、微博、支付宝等常用的支付和分享)
  48. 3、是否进行过对第三方平台的统一封装?
  49. 4、是否自己开发过SDK?

  50. 七、设计相关

  51. 1、有哪些常用的设计模式、设计原则
  52. 2、设计模式在Android源码中的应用
  53. 3、设计模式在项目中的应用
  54. 4、项目中的分包方式
  55. 5、MVC在android中的应用,利弊
  56. 6、android项目中的常见层次结构,包划分
  57. 7、有没有设计过项目中的层级结构、包划分

  58. 八、其它

  59. 1、算法: 常用排序算法,复杂度,比较器用的哪种?快排怎么写?完全二叉树高度为n结点最多有多少,汉诺塔问题怎么解决,链表和数组比较?
  60. 2、操作系统: 进程冲突,生产者消费者问题,设逻辑分页和物理分页好处是什么,什么是脏内存。
  61. 3、网络:http1.1相比以前版本有什么改变,七层/五层模型,tcpip分别对应哪层。https的对称加密。
  62. 4、Java: public等四个权限关键字的区别,synchronized的用法区别,可否嵌套。 hashmap底层实现,扩容策略,初始化。 arraylist和linkedlist的实现和区别。 classloader的作用,双亲委托。 gc算法(优缺点),为什么叫新生代老年代(晋升机制),强软弱虚四种引用的区别。
  63. 5、android: activity退出怎么保存数据。 怎么把数据写入文件。 picasso的缓存策略,lrucache底层实现,linkedhashmap底层实现,缓存文件怎么命名。 RxJava优缺点,实习项目相关。 自定义view有几个构造方法,第三个参数作用。 listview的convert view作用,用viewholder为什么可以优化他。
  64. 6、app被杀死怎么启动
  65. 7、耗电太多怎么破
  66. 8、怎么统计crash
  67. 9、怎么减少用户流量消耗
  68. 10、事件分发机制,ontouchlistener返回false才会调用onclicklistener
  69. 11、方法数超过65535怎么办
  70. 12、binder机制
  71. 13、如何避免anr
  72. 14、listview优化
  73. 15、bitmap怎么避免oom
  74. 16、Java静态内部类和内部类的区别
  75. 17、 retrofit原理
  76. 18、recyclerview和listview异同
  77. 19、singletask启动standard的activity在哪个栈
  78. 20、android多进程和多线程的实现,进程和线程区别。
  79. 21、java泛型类型擦除发生在什么时候,通配符有什么需要注意的。
  80. 22、 RxJava优点,map,flatmap的原理。 可不可以多次subscribeOn,ObserveOn,会有什么后果。
  81. 23、 lambda表达式?
  82. 24、http协议和https,ssl和tls握手。
  83. 25、tcp三次握手的过程?如果确认信号没传到服务器会发生什么?为什么不是两次握手?
  84. 26、一个无序数组怎么找出两个和为特定值的数?快排后首尾两游标。
  85. 27、开发过程中有没有实际遇到内存泄露情况,怎么解决的。
  86. 28、socket相关
  87. 29、什么叫高内聚低耦合?如何编写重构的代码?
  88. 30、有几种排序法、请写出冒泡排序的伪代码
  89. 31、怎么使键盘弹出的时候edittext的光标始终处于最后一行。
  90. 32、listview上面有个浮动窗口下拉刷新的时候会挡住item,如何解决。
  91. 33、安卓在网络请求的时候,服务器已经返回数据了,但是手机突然断网,没接收到数据,如何处理?
  92. 34、当用户进入一个页面时,该页面正在loading网络数据时,用户快速点击了返回按钮,如何处理?

  93. Java层面

  94. 一、Java基础

  95. 1、对抽象、继承、多态的理解
  96. 2、泛型的作用及使用场景
  97. 3、枚举的特点及使用场景
  98. 4、线程sleep和wait的区别
  99. 5、JAVA反射机制
  100. 6、weak/soft/strong引用的区别
  101. 7、Object的hashCode()与equals()的区别和作用
  102. 8、final作用
  103. 9、匿名内部类的不同
  104. 10、 Java finalize关键字的用法
  105. 11、try 里面return了finally还会执行吗?执行顺序是?
  106. 12、gc发生在什么时候。

  107. 二、集合类

  108. 1、JAVA常用集合类功能、区别和性能
  109. 2、并发相关的集合类
  110. 3、部分常用集合类的内部实现方式
  111. 4、hashmap和hashtable区别,list和set区别
  112. http://blog.csdn.net/shohokuf/article/details/3932967
  113. 5、hashmap删除键值对的过程,扩容算法
  114. 6、LinkedHashMap和HashMap的区别
  115. http://www.cnblogs.com/hubingxu/archive/2012/02/21/2361281.html

  116. 三、 线程和多线程相关

  117. 1、Thread、Runnable、Callable、Futrue类关系与区别
  118. 2、JDK中默认提供了哪些线程池,有何区别
  119. 3、线程同步有几种方式,分别阐述在项目中的用法
  120. 4、在理解默认线程池的前提下,自己实现线程池
  121. 5、wait和sleep的区别,应用场景。
  122. 6、死锁发生的条件。

  123. 四、字符串
  124. 1、String 是如何进行内存分配的
  125. 2、String、StringBuilder和StringBuffer的区别
  126. 3、正则表达式相关问题
  127. 4、hashcode和equals有什么关系
  128. 5、反转一个整数的数字。
  129. Example1: x = 123, return 321
  130. Example2: x = -123, return –321
  131. 6、给定一个数字数字数组,其中只有两个元素只显示一次,而所有其他元素出现两次。 找到只出现一次的两个元素。
  132. For example:
  133. Given nums = [1, 2, 1, 3, 2, 5], return [3, 5].
  134. 7、编写一个将字符串作为输入并返回字符串的函数。
  135. Example:
  136. Given s = “hello”, return “olleh”.
  137. 8、给定一个字符串s和一个字符串t,检查是否是t的子序列。
  138. 你可以假设在s和t中只有小写的英文字母。 t可能是一个非常长的(长度= 500,000)字符串,s是一个短字符串(<= 100)。
  139. 字符串的子序列是由原始字符串形成的新字符串,通过删除一些(可以不是)字符而不干扰其余字符的相对位置。 (即“ace”是“abcde”的次序,而“aec”不是)。
  140. Example 1:
  141. s = “abc”, t = “ahbgdc”
  142. Return true.

  143. Example 2:
  144. s = “axc”, t = “ahbgdc”
  145. Return false.

  146. 9、string s=new string (“xyz”); 创建了几个对象,尝试简述string d=”xxx”+”yy”+”zz”所分配的内存?


复制代码
本文来自 http://blog.csdn.net/xinanheishao/article/details/74857986

该用户从未签到

0

主题

37

帖子

704

e币
发表于 2017-11-16 04:48:08 | 显示全部楼层
「传播易」广告平台6万广告资源任您选择,论坛推广 并承诺贵就赔!
*滑动验证:
您需要登录后才可以回帖 登录 | 加入eoe

本版积分规则

推荐阅读
赞助商们

QQ|联系我们|小黑屋|手机版|eoe 移动开发者论坛 ( 京ICP备11018032 京公网安11010802020210  

GMT+8, 2017-11-24 20:39 , Processed in 0.509403 second(s), 41 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表
关闭

扫一扫 关注eoe官方微信