一堆android面试题目--抄写

题目出自《简书》这里:《良心之作》BAT|无线工程师面试流程详细解析|还原最真实最完整的一线公司面试题

、1安卓View绘制流程
measure()–>layout()–draw()
2事件分发机制
分发–>拦截–>执行
dispatch - intercept –onTouchEvent
3JAVA基础思想
面向对象
4多线程和安全问题
多线程进行线程异步,
安全同步问题

5安卓性能优化和兼容问题
内存优化:内存有限,内存不稳定,容易被回收
布局优化:嵌套不要太多,不要过度绘制,特别是重复设置background
v4包 v7包 design包 support包

6再问一下常规的组件相关问题
ui组件
四大组件

7 请描述安卓四大组建之间的关系,并说下安卓MVC的设计模式。
activity
service
broadcast
contentprovider

8线程中sleep()和wait()有和却别,各有什么含义
sleep()线程阻塞
wait()线程的一个状态不阻塞

9 abstract和interface的区别?
抽象、借口

10 array,arrayList, List ,三者有何区别?
arraylist继承自List

11 hashtable和hashmap的区别,并简述Hashmap的实现原理
hashtable线程安全

12 StringBuilder和,String ,subString方法的细微差别
StringBuilder 可变长度

13请写出四种以上你知道的设计模式,并介绍下实现原理
单例模式
工厂模式
监听模式
原型模式

14安卓子线程是否能更新UI,如果能请说明具体细节。
所有的UI操作只能在主线程中进行
子线程跟新UI只能是间接的通过handler发送消息、或者广播的方式

15 ANR产生的原因和解决步骤
无响应、android系统长时间主线程阻塞会出现这个错误
不让该事件发生

16 JavaGC机制的原理和内存泄露
堆中内存没有指针指向他的时候,将会被内存回收,当内存严重不足时一些优先级较低的内存会被回收
内存不可到达的情况

17 安卓布局优化方案,类似5
stubview include

18 请在100个电话号码找出135的电话号码 注意 不能用正则,(类似怎么最好的遍历LogGat日志)

19 Handler机制,请写出一种更新UI的方法和代码
handler 创建消息
handler 发送消息
handler 接受消息

20 请解释安卓为啥要加签名机制。
出于安全考虑
升级app
权限检查

21 你觉得安卓开发最关键的技术在哪里?

22 ANR 具体产生的类型有哪些,具体说下其产生的最大超时时间。
ANR一般有三种类型:
KeyDispatchTimeout
1:KeyDispatchTimeout(5 seconds) –主要类型
按键或触摸事件在特定时间内无响应
BroadcastTimeout
2:BroadcastTimeout(10 seconds)
BroadcastReceiver在特定时间内无法处理完成
ServiceTimeout
3:ServiceTimeout(20 seconds) –小概率类型
Service在特定的时间内无法处理完成

23 多线程多点下载的过程
分配空间–>计算各个线程开启下载的点–>开启下载–>检查是否都已经下载到位–>连接起来

24 http协议的理解和用法
网络应用层
协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器
  目前我们使用的是HTTP/1.1 版本

25 安卓解决线程并发问题
AsyncTask
Handler

26 你知道的数据结构有哪些,说下具体实现机制
Array (T[])
Linked list (LinkedList)
Resizable array list (List)
Stack (Stack)
Queue (Queue)
Hash table (Dictionary

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值