赞
踩
本人毕业于非211、985一本,学的是计算机网络,大一在一位师哥的引导下接触了Android开发,随着近一步的接触,慢慢的喜欢上了Android开发。于是大二开始,我开始自学Android开发。
大四的时候开始找实习工作, 因为喜欢Android开发,找的都是Android开发岗位,最后经过一段时间的面试,拿到了阿里的实习offer。
今天就分享一下我的阿里面经和面试前的准备和学习方法,希望的想进大厂实习的同学提供一些帮助。
1.GC机制
垃圾回收需要完成两件事:找到垃圾,回收垃圾。 找到垃圾一般的话有两种方法:
新生代对象分为三个区域:Eden 区和两个 Survivor 区。新创建的对象都放在 Eden区,当 Eden 区的内存达到阈值之后会触发 Minor GC,这时会将存活的对象复制到一个 Survivor 区中,这些存活对象的生命存活计数会加一。这时 Eden 区会闲置,当再一次达到阈值触发 Minor GC 时,会将Eden区和之前一个 Survivor 区中存活的对象复制到另一个 Survivor 区中,采用的是我之前提到的复制算法,同时它们的生命存活计数也会加一。
这个过程会持续很多遍,直到对象的存活计数达到一定的阈值后会触发一个叫做晋升的现象:新生代的这个对象会被放置到老年代中。 老年代中的对象都是经过多次 GC 依然存活的生命周期很长的 Java 对象。当老年代的内存达到阈值后会触发 Major GC,采用的是标记整理算法。
2.JVM内存区域的划分,哪些区域会发生 OOM
JVM 的内存区域可以分为两类:线程私有和区域和线程共有的区域。 线程私有的区域:程序计数器、JVM 虚拟机栈、本地方法栈 线程共有的区域:堆、方法区、运行时常量池
其实除了程序计数器,其他的部分都会发生 OOM。
3.类加载过程
4.双亲委派模型
5.Java 中的集合类
6.HashMap 的原理
7.什么情况下 Java 会产生死锁,如何定位、修复,手写死锁
8.sleep 和 wait 的区别
9.join 的用法
10.volatile和synchronize的区别
11.Java中的线程池
12.线程通信
13.Java中的并发集合
14.Java中生产者与消费者模式
15.final、finally、finalize区别
16.Java 中单例模式
17.Java中引用类型的区别,具体的使用场景
18.Exception 和 Error的区别
19.volatile
1.http 状态码
2.http 与 https 的区别?https 是如何工作的?
3.TCP三次握手流程
1.进程间通信的方式有哪几种
AIDL 、广播、文件、socket、管道
2.广播静态注册和动态注册的区别
3.Android 性能优化工具使用(这个问题建议配合Android中的性能优化)
Android 中常用的性能优化工具包括这些:Android Studio 自带的 Android Profiler、LeakCanary、BlockCanary
Android 自带的 Android Profiler 其实就很好用,Android Profiler 可以检测三个方面的性能问题:CPU、MEMORY、NETWORK。
LeakCanary 是一个第三方的检测内存泄漏的库,我们的项目集成之后 LeakCanary 会自动检测应用运行期间的内存泄漏,并将之输出给我们。
BlockCanary 也是一个第三方检测UI卡顿的库,项目集成后Block也会自动检测应用运行期间的UI卡顿,并将之输出给我们。
4.Android中的类加载器
5.Android中的动画有哪几类,它们的特点和区别是什么
6.Handler 机制
7.Android 性能优化
8.Android 内存优化
9.Binder 机制
10.LruCache的原理
11.DiskLruCache原理
12.设计一个图片的异步加载框架
13.Android中的事件分发机制
14.View的绘制流程
15.Android 源码中常见的设计模式以及自己在开发中常用的设计模式
16.Android与 js 是如何交互的
17.热修复原理
18.Activity 启动过程
19.SparseArray 原理
20.图片加载如何避免 OOM
21.大图加载
1.OkHttp
2.Retrofit
3.RxJava
4.Glide
5.EventBus
1.手写快排
2.手写归并排序
3.手写堆以及堆排序
4.说一下排序算法的区别(时间复杂度和空间复杂度)
工作中解决了什么难题,做了什么有成就感的项目(这个问题一定会问到,所以肯定要做准备)
…(img-7in9Mv1H-1709196804279)]
1.手写快排
2.手写归并排序
3.手写堆以及堆排序
4.说一下排序算法的区别(时间复杂度和空间复杂度)
工作中解决了什么难题,做了什么有成就感的项目(这个问题一定会问到,所以肯定要做准备)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。