Men的博客

欢迎光临!

0%

面试多端知识点

线程(Thread)
iOS中线程
Pthread、NSThread、GCD、NSOperation
synchronized(互斥+递归)、NSLock(互斥),automito、NSCondition(互斥锁+条件变量。可以给线程加锁)、
NSConditionLock(生产者消费者模型)、NSRecursiveLock(递归锁)、dispatch_semaphore(信号量
Android中线程
Thread、Runnable Handler、AsyncTask、ThreadPool
Flutter中线程
Dart 中并没有线程,只有 Isolate(隔离区)。Isolates 之间不会共享内存,就像几个运行在不同进程中的 worker, 通过事件循环(Event Looper)在事件队列(Event Queue)上传递消息通信。

内存管理
iOS

Android
一般不用考虑,java的虚拟机存在垃圾回收机制。(java的可达算法)
Flutter
与java比较相似,垃圾收集器是分代的(新生代、老年代)凹凸指针,状态调换

事件循环

RunLoop

Looper

ioslate

核心
iOS-runtime

OpenGL

设计模式
代理、单例、观察者、工厂
MVC、MVP、MVVM
设计原则
组件化
网络
三次握手四次挥手、https、ssl、tcp、udp、dns、coolie、session
数据结构
哈希、字典、数组、链表、

Timer延迟

openGL
iOS
AutoLayout线性方程解析引擎
Android

Flutter
动画(Animate)、构建(Build)、布局(Layout)和绘制(Paint),最终生成一个场景(Scene)之后送往底层

设计策略
LRU缓存策略、hashmap扩容、反射、hash碰撞、多叉树、编译过程、常见崩溃、