美文网首页
面试知识点复习

面试知识点复习

作者: NullPoint3Exce | 来源:发表于2018-06-04 15:28 被阅读0次

Java:

1.tcp udp http什么区别

tcp udp 是属于传输层,http是基于tcp的一种应用层,tcp有三次握手,相对数据较安全,不易丢包。udp是单向,不可靠的数据协议,但是效率高。http是超文本传输协议,主要用于web层面的请求。

2.list linkedList

linkedlist 是一个双向链表,插入和删除效率高,可以实现队列,堆栈操作。 arraylist 是一个数组队列,随机效率高。
fail-fast机制了解下-当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。使用copyonwriteArrayList

3.map hashmap linkedHashmap

hashmap是一种数组和链表结合,可以保存键值对的集合,基于Map接口实现、允许null键/值、非同步、不保证有序(比如插入的顺序)、也不保证序不随时间变化。线程安全用concurrentHashmap

4.封装、继承、多态各个特点

封装是隐藏对象属性和实现细节,增加安全和简化编程
继承是实现代码的复用。
多态:基于继承的多态,多个子类对父类同一个方法的重写,表现不同的行为。基于接口的多态,接口的引用指向实现类对象,在运行时,根据不同的实际类型来执行对应的方法。提高程序的扩展和可维护性。

5.泛型的好处

泛型的本质参数化类型,提高Java程序的类型安全,编译时期就可以检查出类型导致的类型转换异常。泛型方法、泛型类、泛型接口。

6.抽象和接口的区别

抽象类是对一类事物的抽象描述,而接口是抽象类中特例。 抽象类abstract修饰,不能实例化,只能继承。接口的方法必须是抽象的,使用implements来实现接口。

7.垃圾回收机制GC
8.classLoader
9.java里Exception Error 区别
10.线程池的概念
11.synchronized和Lock的区别
12.& 和&& 的区别
13.弱引用 强引用 软引用的区别

Android

activity的启动流程
binder
fragment 生命周期方法
handler 造成内存泄漏的原因
view 事件分发机制

有三个方法:dispath(分发):返回true,表示事件被当前视图消费掉,不再继续分发事件。返回值为super.dipatchTouchenent 表示继续分发事件。如果当前视图是viewGroup及其之类,则会调用onInterceptTouchEvent方法判断是否拦截该事件。
intercept(拦截):只有在viewGroup里才会有次方法,返回ture,表示拦截该事件,不继续分发子视图,同时交有自身的onTouchEvent方法进行消费。返回false或者super.onInterceptTouchEvent表示不拦截,继续传递给子视图。
Consume(消费),事件的消费对应onTouchEvent方法,返回ture,不会传递给夫视图,返回false,当前视图不处理该事件。表示该事件会传递给父视图的onTouchEvent进行处理。

view 绘制流程
LRUcache底层原理
BroadcastReceiver 和LocalBroadcastManager 区别
内存泄漏引起的原因
handler message looper messagequeue什么关系

handler主要用于线程间通信,子线程处理耗时工作,通知主线程更新UI.Looper主要负责轮询消息队列的消息体,并处理。activityThread启动的时候,默认加载UI线程的handler和Looper.message 就是发送的消息体,messagequeue是已链表结构的消息队列。

listview 原理
JNI (java natice interface)--android调用C

性能优化:
UI布局 include merge viewstub
布局选择 尽量不嵌套 relative LinearLayout
内存泄漏 LeakCanary 检测工具

React Native
直播技术
热更新技术
activitManager
内存管理机制、进程管理机制、任务管理机制;
view事件传递
反编译--逆向工程
安全机制
okHttp volley 区别

okhttp 优点:支持https http 请求,支持文件上传下载,get Post请求,使用HttpUrlConnection。
volley 优点:体积小,适合请求数据量小,通信频繁,可以取消请求,容易扩展。

插件化

      > 资源访问:怎么加载资源,通过contextImpl的两个抽象方法getAssets() 和 getResources(),
       activity生命周期管理--接口方式
       classloader 管理--管理各个插件的classloader对象

IPC
bundle
文件共享
messenger
AIDL
contentprovider
socket
安全机制

相关文章

网友评论

      本文标题:面试知识点复习

      本文链接:https://www.haomeiwen.com/subject/honbdftx.html