移动Android面试题

   上周五接到LB面试,不得不说,技术为导向的公司问的东西确实很有含金量,注重你的思维能力,虽然我只有一年的工作经验但是确实此次面试获得了思维的提升。许多之前没有想过的问题,或者说想过但是没有去刨根问底的问题都被问倒了。下面对一些面试的问题进行简单整理:

  1、印象最深的是最后一轮总监面,问我对谷歌原生的api哪里最熟悉,我答handler。接着问我handler中looper的工作原理。looper会一直循环吗?循环浪费资源?造成ANR?如果不是一直循环那是怎样从MessageQueue中取消息的?如果是一直循环取,postDelayed的时间设置为1年怎么办?

  2018/5/10 百度

  1、static 修饰的变量能不能被修改

 1 public class Test1 {
 2     //1.static 修饰过的变量可不可以被修改
 3     public static int i = 0;
 4     public static void main(String[] args) {
 5         Test1 a = new Test1();
 6         Test1 b = new Test1();
 7         //对a赋值,这块是个陷阱。
 8         Test1.i=3;
 9         Test1.i=4;
10         //问输出i
11         System.out.println(i);
12     }
13 }

  2、

public class Test2 {
    //2.锁,线程安全
    //List的常用表现形式,ArrayList和LinkedList的区别用法,原理
    
}

  3、

public class Test3 {
    //3.接口实现和抽象类
    abstract class A implements B{
        //①全部实现
        //②部分实现
        public abstract void a();
    }

    public abstract interface B{
//        public abstract void a();
//        public abstract void b();
//        public abstract void c();
        void a();
        void b();
        void c();
    }
}

  4、

public class Test4 {
    //4.final修饰的重写和重载
    public final int j = 0;
    
    
    public Test4(){}
    
    
    public final void a(){}
    

}

public class Test44 extends Test4 {
    
        public Test44(){
            super();
        }
    public static void main(String[] args) {
        Test44 a = new Test44();
        System.out.println("a");
    }
}

 

原文地址:https://www.cnblogs.com/antble/p/8984508.html