Android高级工程师面试题,适用于初高级

本人整理了一份Android面试题,适用于初高级开发工程师,仅供参考

Android面试题            
一.Activity的启动模式    

四种启动模式1.startdard每次都会创建2.TOP只要不在栈顶都会进行创建3.Task如果存在,就重用,没有则创建,重用是,移到栈顶,在他上面的都会被移除栈4.Instance创建并共享该栈的实例,相当于多个应用共享一个应用,适用于闹铃,不适用于中间页面跳转        
二.MVC、MVP设计模式  

1.前者主要将逻辑交互和用户交互都放到Controllor中,也就是Activity2.后者将用户交互和逻辑交互分离开来3.前者允许Model与View进行交互,后者Model与View的交互有Presenter完成    M:业务逻辑和实体模型 V:view的绘制和用户交互C:逻辑处理 P:model与view的交互    
三.四大组件以及使用方式            
四.网络请求   

1.Volley使用方法 2.OKHttp使用方法3.Retrofit使用方法    三者区别和联系    

五.get/post请求的区别    

1.查询类操作/增删改类操作2.安全性能3.前者传递的数据量较少4.前者获取数据,后者传送数据        
六.xml/json的区别以及解析方式  

 相同点:可读性、扩展性都差不多    

不同点:1.Json编码、解码难度较低2.Json数据体积较小,传递速度比较快3.Json与JS交互根据方便4.XML对数据的描述性较好    
七.谈谈对Handler的理解  

 1.四个对象,Handler,Message,MessageQueue,Looper        
八.service的启动方式  

 onStart,生命周期startService-onCreate-onStartCommond-onStop-onDestory    onBind,生命周期bindService-onCreate-onBind-unBind-OnDestory    
九.屏幕适配  

 1.图片放到对应大小的文件夹2.创建多个分辨率下的dimens文件3.多余RelativeLayout4.巧用weight属性5.多用wrap-content以及match-parent6.在代码中拿到屏幕像素,按照比例适配        
十.文件存储方式    

1.sp2.文件存储3.网络存储4.ContentProvider5.SQLite        
十一.创建子线程的方式  

 1.继承Thread 2.实现 Runnable接口 3.实现Callable接口        
十二.开发中遇到哪些问题?如何解决的?(开放性的题目,几乎每家公司都会问到,加减分的重要题目)            

 三年以上工作经验加试            
十三.ArrayList与LinkedList区别    

1.前者基于数组,后者基于链表2.前者实现随机访问接口,后者实现队列接口3.前者读取速度快,添加值很慢;后者添加值很快4.前者增删的开销大于后者        
十四.Android中PID和UID的区别  

 1.前者是进程的身份标识,唯一,进程终止后,会产生新的较大的进程号2.后者为linux中的用户ID,标明哪个用户运行了这个程序,主要用于权限管理3.都是用来识别应用身份,后者还能用于数据共享        
十五.Binder的理解,以及为什么要用Binder,进程间通信的方式  

 效率高效,安全可靠  

 intent、广播、Binder、contentProvider  

 1.四个角色Client、Server、serviceManager、Binder驱动
十六.框架搭建选型的注意点            
十七.第三方SDK应用  

 支付、地图等  ,一般说一个整个使用的流程就OK了。     
十八.内存优化,性能优化    

1.APP性能优化:APP启动优化、布局优化、响应优化、内存优化、电池使用优化、网络优化    内存优化:1.及时清空对象2.及时关闭游标3.及时释放图片4.注册与反注册5.IO流的及时关闭    
十九.TCP与UDP的区别  

 1.前者面向连接、可靠的数据流传输,后者非面向连接、不可靠的数据流传输2.前者提供可靠的服务,无差错、不丢失、不重复,后者不保证可靠交付3.前者面向字节流,后者面向报文4.TCP只支持点对点,后者支持one to more,more to one,more to more,one to one.5.TCP首部开销大于UDP,前者20字节,后者8个字节6.前者全双工可靠信道, 后者不可靠信道    定义:TCP面向连接、可靠、基于字节流的传输层通信协议  UDP:是OSI中的无连接的传输层协议,提供面向事务的简单不可靠信息传送服务    
二十.hybird APP            
 

猜你喜欢

转载自blog.csdn.net/aaa1050070637/article/details/81184765