2020年最新阿里巴巴Android开发者常见面试题及详细解析

答:例如有一个Dog类:

1.即使没有static,构造器其实也是静态方法,所以当首次创建Dog时或者Dog的静态域或者静态方法被访问的时候,Dog的class对象会被加载。

2.在加载Dog的class的时候可能会发现其有基类,此时先暂停Dog的加载,转而去加载其基类。所以基类的static域比子类先初始化。

3.载入class文件之后,会创建一个该该类的class对象,所有关于静态初始化的动作会被执行,所以静态初始化只在Class对象首次加载时进行一次。

4.当使用new的时候,首先为Dog对象在堆上分配足够内存空间。这块内存控件会被清零,所有实例都被初始化成了默认值,包括基类。

5.执行所有字段定义处的初始化,从基类开始。

6.执行构造器。(在第一行会执行基类的构造器)

4.对象的销毁是按照创建的逆序来进行的。

5.final的方法和类都不允许覆盖和继承。private默认实现了final。

6.简述内部类的特点

7.形式参数可被视为local variable,也就是说形式参数相当于在方法中定义了一个局部变量a,当传入c时,只是将c指向的对象给a

8.finally 语句块是在 try 或者 catch 中的 return 语句之前执行的

9.简述jvm中默认的classLoader与功能

10.switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持

11.重写的特性

12.!=和==,当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同,比较内存地址

13.null可以被强制类型转换成任意类型的对象,于是通过它来执行静态方法

14.如何终止一个线程

15.静态属性和静态方法是否可以被继承

16.列出各种List,Set,Map,Queue并说出他们的同与不同。

17.列出几种线程池

18.解释一下java内存模型

19.解释一下java代码的原子性

20.解释一下volatile字段

21.解释一下synchronized字段

22.Lock的使用

23.wait()和sleep()区别

24.死锁产生的条件

篇幅原因,本文PDF在开源项目:https://github.com/Android-Alvin/Android-LearningNotes 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

阿里巴巴Android面试题

二 Android相关

Android部分我就不分几大块了。直接列举,但是列举到的每一项都是面试经常会问到并且会延伸问的,所以需要深入的去研究。

1.Android事件分发机制,请详细说下整个流程

2.Android view绘制机制和加载过程,请详细说下整个流程

3.Activty的加载过程 请详细介绍下

4.Activity的启动模式:

5.Activity缓存方法:

6.Service的生命周期,两种启动方法,有什么区别:

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

浏览器打开:qq.cn.hn/FTe 免费领取

7.怎么保证service不被杀死8.广播的两种注册方法,有什么区别。

项目实战源码讲义》

浏览器打开:qq.cn.hn/FTe 免费领取



**7.怎么保证service不被杀死8.广播的两种注册方法,有什么区别。**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值