年后想跳槽涨薪?你想要的面试题全在这里,activity 事件分发
Activity 的启动过程?###2.Fragment
谈一谈 Fragment 的生命周期?Activity 和 Fragment 的异同?Activity 和 Fragment 的关系?何时会考虑使用 Fragment?###3.Service
谈一谈 Service 的生命周期?Service 的两种启动方式?区别在哪?一个 Activty 先 start 一个 Service 后,再 bind 时会回调什么方法?此时如何做才能回调 Service 的 destory()方法?Service 如何和 Activity 进行通信?用过哪些系统 Service?是否能在 Service 进行耗时操作?如果非要可以怎么做?AlarmManager 能实现定时的原理?前台服务是什么?和普通服务的不同?如何去开启一个前台服务?是否了解 ActivityManagerService,谈谈它发挥什么作用?如何保证 Service 不被杀死?###4.Broadcast Receiver
广播有几种形式?什么特点?广播的两种注册形式?区别在哪?###5.ContentProvider
ContentProvider 了解多少?###6.数据存储
Android 中提供哪些数据持久存储的方法?Java 中的 I/O 流读写怎么做?SharePreferences 适用情形?使用中需要注意什么?了解 SQLite 中的事务处理吗?是如何做的?使用 SQLite 做批量操作有什么好的方法吗?如果现在要删除 SQLite 中表的一个字段如何做?使用 SQLite 时会有哪些优化操作?###7.IPC
Android 中进程和线程的关系?为何需要进行 IPC?多进程通信可能会出现什么问题?什么是序列化?Serializable 接口和 Parcelable 接口的区别?为何推荐使用后者?Android 中为何新增 Binder 来作为主要的 IPC 方式?使用 Binder 进行数据传输的具体过程?Binder 框架中 ServiceManager 的作用?Android 中有哪些基于 Binder 的 IPC 方式?简单对比下?是否了解 AIDL?原理是什么?如何优化多模块都使用 AIDL 的情况?###8.View
MotionEvent 是什么?包含几种事件?什么条件下会产生?scrollTo()和 scrollBy()的区别?Scroller 中最重要的两个方法是什么?主要目的是?谈一谈 View 的事件分发机制?如何解决 Vi
ew 的滑动冲突?谈一谈 View 的工作原理?MeasureSpec 是什么?有什么作用?自定义 View/ViewGroup 需要注意什么?onTouch()、onTouchEvent()和 onClick()关系?SurfaceView 和 View 的区别?invalidate()和 postInvalidate()的区别?###9.Drawable 等资源
了解哪些 Drawable?适用场景?mipmap 系列中 xxxhdpi、xxhdpi、xhdpi、hdpi、mdpi 和 ldpi 存在怎样的关系?dp、dpi、px 的区别?res 目录和 assets 目录的区别?###10.Animation
Android 中有哪几种类型的动画?帧动画在使用时需要注意什么?View 动画和属性动画的区别?View 动画为何不能真正改变 View 的位置?而属性动画为何可以?属性动画插值器和估值器的作用?###11.Window
Activity、View、Window 三者之间的关系?Window 有哪几种类型?Activity 创建和 Dialog 创建过程的异同?###12.Handler
谈谈消息机制 Hander?作用?有哪些要素?流程是怎样的?为什么系统不建议在子线程访问 UI?一个 Thread 可以有几个 Looper?几个 Handler?可以在子线程直接 new 一个 Handler 吗?那该怎么做?如何将一个 Thread 线程变成 Looper 线程?Looper 线程有哪些特点?Message 可以如何创建?哪种效果更好,为什么?这里的 ThreadLocal 有什么作用?主线程中 Looper 的轮询死循环为何没有阻塞主线程?使用 Hanlder 的 postDealy()后消息队列会发生什么变化?###13.线程
Android 中还了解哪些方便线程切换的类?AsyncTask 相比 Handler 有什么优点?不足呢?使用 AsyncTask 需要注意什么?AsyncTask 中使用的线程池大小?HandlerThread 有什么特点?快速实现子线程使用 HandlerIntentService 的特点?为何不用 bindService 方式创建 IntentService?线程池的好处、原理、类型?ThreadPoolExecutor 的工作策略?什么是 ANR?什么情况会出现 ANR?如何避免?在不看代码的情况下如何快速定位出现 ANR 问题所在?###14.Bitmap
加载图片的时候需要注意什么?LRU 算法的原理?###15.性能优化
项目中如何做性能优化的?了解哪些性能优化的工具?布局上如何优化?内存泄漏是什么?为什么会发生?常见哪些内存泄漏的例子?都是怎么解决的?内存泄漏和内存溢出的区别什么情况会导致内存溢出?###16.谷歌新动态
是否了解和使用过谷歌推出的新技术?有了解刚发布的 Androidx.0 的特性吗?Kotlin 对 Java 做了哪些优化?#二、Java###1.基础
面向对象编程的四大特性及其含义?String、StringBuffer 和 StringBuilder 的区别?String a=""和 String a=new String("")的的关系和异同?Object 的 equal()和==的区别?装箱、拆箱什么含义?int 和 Integer 的区别?遇见过哪些运行时异常?异常处理机制知道哪些?什么是反射,有什么作用和应用?什么是内部类?有什么作用?静态内部类和非静态内部类的区别?final、finally、finalize()分别表示什么含义重写和重载的区别?抽象类和接口的异同?为什么匿名内部类中使用局部变量要用 final 修饰?Object 有哪些公有方法?###2.集合
Java 集合框架中有哪些类?都有什么特点集合、数组、泛型的关系,并比较 ArrayList 和 LinkList 的区别?ArrayList 和 Vector 的区别?HashSet 和 TreeSet 的区别?HashMap 和 Hashtable 的区别?HashMap 在 put、get 元素的过程?体现了什么数据结构?如何解决 Hash 冲突?如何保证 HashMap 线程安全?什么原理?HashMap 是有序的吗?如何实现有序?HashMap 是如何扩容的?如何避免扩容?hashcode()的作用,与 equal()有什么区别?###3.并发
同步和非同步、阻塞和非阻塞的概念 Thread 的 join()有什么作用?线程的有哪些状态?什么是线程安全?保障线程安全有哪些手段?ReentrantLock 和 synchronized 的区别?synchronized 和 volatile 的区别?synchronized 同步代码块还有同步方法本质上锁住的是谁?为什么?sleep()和 wait()的区别?###4.Java 新动态
是否了解 Java1.x 的特性吗?谈谈对面向过程编程、面向对象编程还有面向切面编程的理解 #三、计算机网络 ###1.基础
评论