写点什么

2020 年 Android 高级面试题总结(附答案解析),面试突击版

用户头像
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 代码的原子性


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码



    20.解释一下 volatile 字段


    21.解释一下 synchronized 字段


    22.Lock 的使用


    23.wait()和 sleep()区别


    24.死锁产生的条件


    ...


    篇幅原因,参考答案均整理到下面这份 PDF 文档里,需要的朋友可以点击我的GitHub,前往免费领取!**



    Java 相关

    二 Android 相关

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


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


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


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


    4.Activity 的启动模式:


    5.Activity 缓存方法:


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


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


    9.Intent 可以传递哪些数据类型 10.Json 有什么优劣势


    11.动画有哪几类,各有什么特点:


    12.Handler、Loop 消息队列模型,各部分的作用。


    13. 怎样退出终止 App:自己设置一个 Activity 的栈,然后一个个 finish()。


    14. Android IPC:Binder 原理


    15.android 的优化


    16.一个 singleton 如何实现线程的同步问题


    17.android 重要术语解释


    18.理解 Window 和 WindowManager


    19.Bitmap 的处理:


    20.综合技术:


    21.如何实现一个网络框架(参考 Volley)


    22.ClassLoader 的基础知识:


    23.插件化框架描述:dynamicLoadApk 为例子

    用户头像

    Android架构

    关注

    还未添加个人签名 2021.10.31 加入

    还未添加个人简介

    评论

    发布
    暂无评论
    2020年Android高级面试题总结(附答案解析),面试突击版