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

猜你喜欢

转载自blog.csdn.net/dangyalingengjia/article/details/80977886