Android面试题——进阶篇

上一篇整理了一些Android方面的基础面试题,这俩天自己也是一直在整理之前学习过程中所记录的笔记。工作这么久,有的时候感觉身边的人都不断的再进步,唯独只有自己还在原地踏步。就是想着是不是该换个方式去走接下来的路。面试时技术经理可能会问我们一些工作中遇到的Android方面的问题,谈谈我们所做的项目,和在项目中所扮演的角色。下面整理下自己之前记录的一些知识点:1、什么是嵌入式实时操作系统,...
摘要由CSDN通过智能技术生成

上一篇整理了一些Android方面的基础面试题,这俩天自己也是一直在整理之前学习过程中所记录的笔记。工作这么久,有的时候感觉身边的人都不断的再进步,唯独只有自己还在原地踏步。就是想着是不是该换个方式去走接下来的路。

面试时技术经理可能会问我们一些工作中遇到的Android方面的问题,谈谈我们所做的项目,和在项目中所扮演的角色。下面整理下自己之前记录的一些知识点:

1、什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?

实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。主要用于工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。又可分为软实时和硬实时两种,而Android是基于Linux内核的,因此属于软实时。

2、对于Android 的安全问题?

①错误导出组件
② 参数校验不严
③WebView引入各种安全问题,webview中的js注入
④不混淆、不防二次打包
⑤明文存储关键信息
⑦ 错误使用HTTPS
⑧山寨加密方法
⑨滥用权限、内存泄露、使用debug签名

3、 如何缩减APK包大小?
代码

一、保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs。
二、使用proguard混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小。
三、Native Code的部分,大多数情况下只需要支持armabi与x86的架构即可。如果非必须,可以考虑拿掉x86的部分。

资源

一、使用Lint工具查找没有使用到的资源。去除不使用的图片,String,XML等等。 assets目录下的资源请确保没有用不上的文件。
二、生成APK的时候,aapt工具本身会对png做优化,但是在此之前还可以使用其他工具如tinypng对图片进行进一步的压缩预处理。
三、Jpeg还是Png,根据需要做选择,在某些时候jpeg可以减少图片的体积。 对于9.png的图片,可拉伸区域尽量切小,另外可以通过使用9.png拉伸达到大图效果的时候尽量不要使用整张大图。

策略

一、有选择性的提供hdpi,xhdpi,xxhdpi的图片资源。建议优先提供xhdpi的图片,对于mdpi,ldpi与xxxhdpi根据需要提供有差异的部分即可。
二、尽可能的重用已有的图片资源。例如对称的图片,只需要提供一张,另外一张图片可以通过代码旋转的方式实现。
三、能用代码绘制实现的功能,尽量不要使用大量的图片。例如减少使用多张图片组成animate-list的AnimationDrawable,这种方式提供了多张图片很占空间。

4、Android与服务器交互的方式中的对称加密和非对称加密是什么?

对称加密,就是加密和解密数据都是使用同一个key,这方面的算法有DES。
非对称加密,加密和解密是使用不同的key。发送数据之前要先和服务端约定生成公钥和私钥&#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值