Android开发人员面试整理
1,多态
判断输出结果:
class A { public String show(A obj) { return ("A and A"); }}class B extends A { public String show(B obj) { return ("B and B"); } public String show(A obj) { return ("B and A"); }}public class testDuotai { public static void main(String[] args){ System.out.println("Hello World!"); A a = new B(); B b = new B(); System.out.println(a.show(b)); }}
①B继承于A。②B重写了A:show(A obj)。③A a = new B();像这样使用了向上类型转换。
输出结果:B and A
多态的优点是提高了对象的扩展性。 缺点是无法调用子类中有而父类中没有的方法。所以上面并没有输出B and B.
2,关于Hash算法
2.1 优秀Hash算法的特点:
①正向快速:给定明文和 hash 算法,在有限时间和有限资源内能计算出 hash 值。
②逆向困难:给定(若干) hash 值,在有限时间内很难(基本不可能)逆推出明文。
③输入敏感:原始输入信息修改一点信息,产生的 hash 值看起来应该都有很大不同。
④冲突避免:很难找到两段内容不同的明文,使得它们的 hash 值一致(发生冲突)。即对于任意两个不同的数据块,其hash值相同的可能性极小;对于一个给定的数据块,找到和它hash值相同的数据块极为困难。
2.2 SHA1算法简介
①将消息摘要转换成位字符串。
②对转换后的位字符串进行补位操作。
③附加长度值。
④初始化缓存。
⑤计算消息摘要。
参考:
1,Android(2017-2018)BAT面试题整理(java篇,含答案) https://blog.csdn.net/huangqili1314/article/details/79448187
2,Java三大特性之多态 https://www.jianshu.com/p/8cfb92ecaabe
3,Hash算法总结 https://blog.csdn.net/asdzheng/article/details/70226007
4,Sha-1算法详解 https://blog.csdn.net/qq_33323162/article/details/52227919
5,SHA1 安全哈希算法(Secure Hash Algorithm) https://www.cnblogs.com/houlijun/p/6705561.html
更多相关文章
- android导出sqllist数据库要先配置adb.exe加到环境变量里
- Android:ListView数据异步加载、Handler、AsyncTask
- Android ListView组合CheckBox实现多选获取数据
- Android开发学习——android与服务器端数据交互
- android sqlite3 数据库升级,加字段
- android 读取json数据(遍历JSONObject和JSONArray
- [掌眼]iOS / Android / java / node.js 通用的 AES256 加解密算
- Android listView FastScroll 快速查询数据
- 柱状图以及饼图进行数据统计