水滴Android面经及参考答案

目录

static 关键字有什么作用,它修饰的方法可以使用非静态的成员变量吗?

Java 中创建线程有几种方式?

wait 和 sleep 的区别,如何打断 sleep?

Java 垃圾回收的目的是什么,垃圾回收机制是怎样的?

Java 的垃圾回收(GC)机制是如何工作的?

请解释 Java 内存模型(JMM),并谈谈 volatile 关键字。

ArrayList 与 LinkedList 的主要区别是什么?

HashMap 与 HashSet 的主要区别是什么?

讲一讲泛型,包括其原理、类型擦除,以及如何获取类型?

乐观锁和悲观锁的区别,讲两种乐观锁的实现方法。

Android intent 如何传递数据?

Android 的事件分发机制是怎样的?

Android 中事件分发的过程是怎样的?onClick、onTouchEvent 以及 onTouch 这三者之间的调用顺序是什么?

Android 布局类型有哪些(例如线性布局、相对布局、帧布局、约束布局等)?

如何在一个 Activity 里面获取一个 View 的宽高?应该在哪个回调方法中获取?

A 不执行 onStop 可能是什么情况?

Android 性能优化相关

Android 内存泄漏的原因,如何进行定位,步骤是什么?

如何处理内存泄漏?用什么工具?

如何进行内存优化?

LeakCanary 的原理是什么?弱引用和软引用有什么区别?

你在项目中是否有过性能优化的经历?请分享一下你的经验。

TCP/IP 五层模型是什么?

为什么 TCP 两次握手不安全?

HTTPS 是如何加密数据的?

okhttp 拦截器的作用是什么,如何使用?

MVP、MVC 和 MVVM 模式是什么?

Android 如果想添加一个虚拟号码跳转通讯录的功能,如何实现?


static 关键字有什么作用,它修饰的方法可以使用非静态的成员变量吗?

static关键字在 Java 中有多种作用。首先࿰

你可能感兴趣的:(java,安卓面试,android面经,okhttp,retrofit,弱引用,tcp握手)