找了将近两个星期的工作,面试了5家公司,罗列一下笔试或者面试时的问题,祝大家好运

1,handler机制

答:handler运行机制:1),在主线程中创建handler

2),子线程中借助主线程的handler传递一条message

3),将message放入messagequeue即消息队列中

4),主线程的looper检测到消息队列中有消息时进行更新UI

一个线程有唯一一个looper,唯一一个消息队列messagequeue,可以有多个handler。主线程有默认的looper,其他线程没有,需要创建

2,开启广播方式,各自优缺点,以及android中广播存在的机制原理

答:xml中注册:常驻型广播,在activity创建之前就已经注册,在activity结束之后依旧存在

代码中注册:非常驻型广播,与activity的声明周期相关,便于控制何时开始何时结束

3,如何屏蔽掉force close弹窗

答:参考博客:

关于程序forceclose时优雅退出解决方案

4,contentProvider用法

5,mvc模式

答:mvc框架是一种框架而不是设计模式,很多人会混淆,框架是指代码可以重用,可以用代码表示出来,而设计模式是说设计可以重用,比较抽象的概念。

m(model)业务模型-v(view)视图-c(controller)控制器:该设计模式将业务逻辑和实现view分离开来,model管理数据,view显示视图,controller就负责当model数据发生变化时同步到view视图。

6,文件系统权限和运行时权限区别

答:apk运行在虚拟机上时有运行时权限,只有体现在文件系统上时才有Linux的权限设置

7,如何避免recycleview加载图片乱序以及oom问题

8,三级缓存

9,动画所存在的bug

10,如何在退出时保存activity状态

答:如下:

@Overrideprotected void onSaveInstanceState(Bundle outState) {// TODO Auto-generated method stubString name = mNameEt.getText().toString().trim();String age = mAgeEt.getText().toString().trim();outState.putString("name",name);outState.putString("age", age);super.onSaveInstanceState(outState);

}

11,socket通信

12,解释一下android的单线程模型

答:android单线程模型是说android中ui的相关操作只能在主线程即ui线程中进行。如果再非ui线程中更新则会报异常。

13,请说一下图片加载框架的原理

14,说一下网络协议

15,android系统的体系结构

答:android系统分用户空间user space和内核空间kernel space两层,之所以分两层是为了更好的支持硬件。

user space又包括:applications应用程序层,application framework应用程序框架层,external library&android runtime外部库以及运行时库层,HAL(hardware abstract layer)硬件抽象层

kernel space包括:linux device drivers linux设备驱动层,process management进程管理,memory management内存管理。

这是工作四个月后的面试题,因为没有培训过,完全是自学,所以有的简单,有的偏

祝正在找工作的好运!!!

android开发面试题相关推荐

  1. android开发面试题!微信小程序趋势及前景,社招面试心得

    没有稳定的工作,只有稳定的能力. 又到了万物复苏的季节,在程序猿这个行当里,作为 Android 开发出生的,在经历了八年的脱发生涯后,有了越来越多的想法和感触 趋势 随着各类移动跨平台的兴起,在 R ...

  2. 71道Android开发面试题

    注:本文来自"安卓巴士" Android面试题 1.        下列哪些语句关于内存回收的说明是正确的? (b ) A. 程序员必须创建一个线程来释放内存   B. 内存回收程 ...

  3. Android开发面试题 71道经典题目

    注:本文来自"安卓巴士" Android面试题 1.        下列哪些语句关于内存回收的说明是正确的? (b ) A. 程序员必须创建一个线程来释放内存   B. 内存回收程 ...

  4. Android开发面试题之遍历ViewGroup拿到所有的ViewGroup和View的id

    面试题如题: 咱们老套路先上图:下面是我通过遍历拿到的所有的id,怎么做的呢? 咱们先说下思路: 首先拿到最外层的ViewGroup然后通过它拿到它所有的child然后循环每个child判断是View ...

  5. 百度Android开发面试题

    此文转载,希望朋友有好的面试题 发来研究一下-- 1. Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机.每一个Android应用程序都在 ...

  6. 优秀Android程序员必知必会的网络基础,Android开发面试题及答案

    前言 大家应该看过不少人分享的面试成功的面经,是不是觉得自己"说不定也可以"呢? 这里重提一个理论:幸存者偏差.当取得资讯的渠道,仅来自于幸存者时(因为死人不会说话),此资讯可能会 ...

  7. android开发面试题!360°深入了解Flutter,面试总结

    何为成长?成长是指自我提升,一方面是本身的个人能力,另一方面是社会对你的认可度.最终,程序员的职位和薪水都能在成长中得以体现. 很多人对成长有误解,在他们眼中,随着工作年限的提高,成长是理所当然的事情 ...

  8. 携程android开发面试题,2017携程笔试题目

    携程是我国著名的旅游为主的网站,想进入携程工作吗?小编为大家整理了2017携程笔试题目,欢迎阅读参考! 2017携程Web前端实习生招聘笔试题 考察encodeURI encodeURI(), dec ...

  9. Android开发面试题之求一个数的N次幂手写算法

    实际上很多人第一反应就是循环,但是不用循环呢?这里我这边想到了递归的方法,分别为Java版本和Kotlin版本的代码: Java版本: /*** 思路:利用递归实现* Java 版本:计算一个数的n次 ...

最新文章

  1. php 报错乱码,thinkphp3 phpexcel 导出报错乱码清除ob
  2. C#指针使用学习总结
  3. 关于 Blazor Server Side 的一些杂项, 感想
  4. 警卫站岗(树上dp)
  5. 微信小程序 网络请求之设置合法域名
  6. 全志 A64 开发板移植SQLite3
  7. LoRa协议在Arduino上的应用——原理及代码分析(二)
  8. python︱六款中文分词模块尝试:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP
  9. 【Blender 入门系列】 02 乐高方块渲染
  10. STM32的Flash地址是0x08000000,从0x00000000不可以?
  11. LeetCode精选101刷题必备(C++)-附详细分类及解体说明
  12. 关于lib文件夹和报java.lang.NoClassDefFoundError解决办法
  13. Gartner:2017年中国新兴技术成熟度曲线
  14. ListViewItem实现listview中条目的显示控制
  15. 环洋市场调研-2021年全球抗衰老肽护肤品行业调研及趋势分析报告
  16. 微信小程序获取用户信息“授权失败”场景的处理
  17. python中day_python(day03)
  18. tewa-500e 虚拟服务器,关于成都电信送的光纤猫设置 TEWA-500E
  19. C语言自由定制表白电子相册
  20. 韦伯定律:年龄越大时间越快 韦伯定律项目管理产品设计启示

热门文章

  1. Catia 零件 曲面 装配 工程图 仿真运动 参数和知识工程视频教程
  2. java web 红头文件打印方案(含技术)
  3. 使用Openlayers绘制Geoserver离线瓦片
  4. 搜索引擎简介之数据采集篇
  5. 方舟在哪搜索指定服务器,方舟手游怎么搜索服务器 | 手游网游页游攻略大全
  6. TREK电源维修trek高压发生器维修610D
  7. 值得纪念、值得回忆的2014校招
  8. 计算机复试常翻译的文献,专业文献英语翻译复试.doc
  9. 2014年工作中遇到的20个问题:81-100
  10. 架构篇 -- 项目从无到有步骤