android开发面试题
找了将近两个星期的工作,面试了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状态
答:例如以下:
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub String 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开发面试题的更多相关文章
- 网易android开发面试题及心得
前几天面试网易android开发,总体感觉问题难度一般.怪我自己没有好好梳理知识,尤其是基础,后面就没消息了... 笔试: 1.描述Activity 生命周期 2.什么是ANR,如何规避? 3.描述a ...
- Android开发面试题(一)
1.String和StringBuffer有什么本质区别? 本质区别:String字符串不可变,每次修改字符串必须要重新赋值(生成新的对象)才能修改:StringBuffer字符串可变,可以直接对字符 ...
- 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
##2017.10.30收集 面试技巧 5.1 面试形式 1) 一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2) 面试官喜欢什么样的人 ü 技术好. ...
- 前端开发面试题-CSS(转载)
本文由 本文的原作者markyun 收集总结. 介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有两种, IE 盒子模型.W3C 盒子模型: (2)盒模型: 内容(conte ...
- 前端开发面试题-JavaScript(转载)
本文由 本文的原作者markyun 收集总结. 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol ...
- java 开发面试题小整理(一)
本篇文档将持续更新,有基础滴,也有深层次的,谢谢! 1.看下面的程序是否有问题,如果有问题,请指出并说明理由. * byte b1 = 3; * byte b2 = 4; * byte b3 = b1 ...
- php开发面试题---游戏面向对象设计与分析实例
php开发面试题---游戏面向对象设计与分析实例 一.总结 一句话总结: 不要光空想,多看几个实例就知道自己的游戏该怎么设计了 根据实例去理解面向对象编程的的六大原则 1.英雄种类分别有:战士.法师. ...
- 100个iOS开发面试题汇总-王刚韧的技术博客
100个iOS开发面试题汇总 关于iOS开发面试,不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的 ...
- 前端开发面试题收集 JS
前端开发面试题收集-JS篇 收集经典的前端开发面试题 setTimeout的时间定义为0有什么用? javascript引擎是单线程处理任务的,它把任务放在队列中,不会同步执行,必须在完成一个任务后才 ...
随机推荐
- https://stackoverflow.com/questions/16130292/java-lang-outofmemoryerror-permgen-space-java-reflection
https://stackoverflow.com/questions/16130292/java-lang-outofmemoryerror-permgen-space-java-reflectio ...
- ios网络学习------3 用非代理方法实现异步post请求
#pragma mark - 这是私有方法.尽量不要再方法中直接使用属性,由于一般来说属性都是和界面关联的,我们能够通过參数的方式来使用属性 #pragma mark post登录方法 -(void) ...
- socket编程之二:两种链接类型tcp和udp
前面一篇文章说到了一些计算机网络的基础知识.引入了socket.从这节開始,就进入正题了. 一 概述 TCP:Transimission Control Protocol传输控制协议. UPD:Use ...
- .NET泛型初探
总所周知,.NET出现在.net framework 2.0,为什么要在2.0引入泛型那,因为微软在开始开发.net框架时并没有想过多个类型参数传输时对方法的重构,这样一来,开发人员就要面对传输多种类 ...
- Spring MVC学习------------核心类与接口
核心类与接口: 先来了解一下,几个重要的接口与类. 如今不知道他们是干什么的没关系,先混个脸熟,为以后认识他们打个基础. DispatcherServlet -- 前置控制器 HandlerMap ...
- kentico7中设置网站的主页
打开SiteManager,选择Settings,然后左上角选择具体的网站,Content,Web Site Content,Default alias path
- Linux 下 新增Oracle10g 实例
主要分为5步:创建实例目录,创建密码文件,创建参数文件,创建建库脚本并建库,创建数据字典. 其中,需要特别注意2点: 目录的权限,即用户和所属用户组都要是oracle.可以切换到已存在的oracle用 ...
- DB-SQL-MySQL-杂项-调优:Mysql千万以上数据优化、SQL优化方法
ylbtech-DB-SQL-MySQL-杂项-调优:Mysql千万以上数据优化.SQL优化方法 1.返回顶部 1. 1,单库表别太多,一般保持在200以下为宜 2,尽量避免SQL中出现运算,例如se ...
- vue --- 关于多个router-view视图组件,渲染同一页面
vue.js多视图的使用,可以提高网页组件化,模块化 比如使用多视图,可以将网站页面封装header.footer.navbar等多个公共部分, 遇到修改公共部分的文案信息等数据的时候,不再需要逐一修 ...
- 16.unix网络编程一卷 unp.h
unix网络编程 --ubuntu下建立编译环境 1.安装编译器,安装build-essential sudo apt-get install build-essential 2.下载本书的头文件 下 ...