面试题

1、Flutter相关

Flutter的优缺点
Flutter 热重载的原理
Flutter与原生的通信
Flutter和RN的对比指标
Flutter的三棵树渲染机制和原理
Flutter前景与原生的对比,更看好哪一个
Flutter和 Weex、ReactNative对比和区别
Flutter渲染原理,Flutter和Native交互原理
FlutterBoost原理,为什么要使用原生导航
Flutter和ReactNative的区别,兼容性问题
Native+H5遇到的问题,Flutter遇到的问题
简要介绍原生与Flutter混合开发中碰到哪些问题及解决方案
Flutter 渲染三棵树:Widget、Element、RenderObject对比
Flutter有状态和无状态widget有什么区别,有状态widget有哪些生命周期?

iOS相关

一张图片从加载到显示的整个流程是什么?
做过什么性能优化的点?展开讲讲?
图片加载,GPU到openGL阶段的流程是怎么样的?
项目编译的流程是怎么样的?

1.内存管理机制
2.runtime的一些应用场景
3.消息转发机制
4.AutoReleasePool的结构
5.weak原理
6.weak与unowned区别
7.copy可以修饰哪些东西
8.深拷贝浅拷贝
9.用copy修饰mutableString会有什么问题:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attempt to mutate immutable object with appendString:’
10.runloop的source
11.想要在block中修改对象如何做(用__block修饰),需要用__block修饰对象吗
12.Block的注意事项:
非__block修饰的变量,捕获是在block定义时发生的
__block修饰的基本类型: 在MRC和ARC上,都是捕获地址,所以可以修改值
__block修饰对象, MRC不会强引用,ARC中是强引用(需要在block中置为nil)

  1. 1,2,3,4个子线程,如何在1,2之后,再执行3,4?,信号量是否可以用上
  2. 组件化方案优缺点对比
  3. https的加密过程

1.为什么用websocket来走普通的请求,有没有监控实际效果(速度,流量方面)?,有没有防护措施
2.为什么没有直接用collectionViewCell来展示视频?
3.为什么没有播放器为什么要用三个?复用逻辑是怎样的,有没有更好的方案(比如拿到视频数据流自己做缓存)
4.crash防护怎么做的,怎么治理和规避,swift上如何对已经存在的方法做防护(不像OC可以hook系统方法)
5.卡顿监控怎么做的(两种方案的对比和优缺点),如何上报与分析,
6.卡顿时间阈值如何确定的,如果要动态修改卡顿时间阈值,要考虑哪些因素
7.Swift静态性体现在哪些方面,相对于OC性能更好吗?为什么?OC为什么设计成动态的消息机制
8.目前项目的架构是怎样的(分层,组件化),组件化的细节实现(模块间通信怎么做的,有什么优缺点,怎样优化)

runtime-的数据结构和场景
消息转发,hook等
category可以添加属性吗?关联对象可以,为什么不能添加示例变量,如果示例变量也保存到
全局方法中如何实现
block类型,内存
block的截获变量
深拷贝、浅拷贝
kvo要释放监听吗
性能优化--网络、UI、runloop,如何获取到卡顿的方法
算法,计数排序-桶排序
网络-dns,长连接,httpDNS
https
gcd - gcd的方

2、现在做项目的难点是什么,对自己的成长帮助最大,一些细节延伸
4、怎么从100万条数据中选出排在前面的100条数据(topK问题)
5、网络-dns,长连接,httpDNS
6、快排实现过程及复杂度,二叉树的遍历前序、后续遍历
8、聊下性能优化
9、如何保障App的数据安全
10、runLoop,和runloop的运用,实现细节
11、多线程与线程同步锁

  1. KVO和KVC
  2. 消息机制, 消息转发
  3. 方法缓存结构, 存取过程
  4. 有哪些crash经验, 举具体的例子说明
  5. arc原理, arc下的相关优化
  6. runloop流程原理
  7. GCD和NSOperation区别
  8. weak原理
  9. 关联对象原理, 什么时候释放
  10. 性能优化相关, 内存,启动
  11. lldb命令
  12. MLeaksFinder原理, 同理如果用来检测view有没有释放应该怎么做
  13. 是否懂汇编
  14. 设计模式, 单例的优缺点
  15. block内存管理
    19对象的内存布局
  16. 类方法和实例方法的区别

iOS相关:

面试点(必考)
1、iOS
属性修饰符,
block
多线程
runtime、runloop
性能优化
内存管理
HTTP协议基础
2、RN 相关
js基础
RN基础
RN与原生交互

面试点(参考)
1、OC
属性修饰词的作用
isa指针
block原理
多线程: GCD, NSOpration ,NSTread
runtime的原理,黑魔法原理,weak实现的原理
runloop:runloop作用及原理,模式切换,状态
分类,扩展区别
KVO,KVC原理
2、iOS
基础:事件响应链,数据持久化
性能优化: 启动优化,内存优化,网络优化,离屏渲染
生命周期: 生命周期, load 与initialize的区别
三方框架: SD_image原理,AFN原理
3、swift
Swift与OC的区别
Swift如何使用runtime
类与结构体
3、JS
作用域
闭包
promise使用及原理
ES6新特性
4、RN
基础: 生命周期,state和props, react-hook
状态管理: redux原理

RN面试题

iOS 相关

1、nonatomic和atomic的区别?atomic是否真的线程安全,为什么?
2、_name = @“” 和self.name的区别
3、weak和strong的区别
4、遇到的循环引用,怎么解决
5、深拷贝和浅拷贝
6、进程和线程的区别?同步异步的区别?并行和并发的区别?
7、栅栏函数作用

JS

1、 var, let , const,
2、ES6新功能
3、箭头函数和普通函数的区别
4、js 中异步操作有几种方式
5、如何进行深拷贝

RN相关

1、组件声明周期


componentWillMount.jpg

2、PurCompoment 和Compoment的区别
3、setState的第二个参数是干嘛用的
4、props和state区别
5、react-hook的方法有哪些,为什么hook不能添加条件判断

1、OC和Swift的本质区别
2、nonatomic和atomic的区别?atomic是否真的线程安全,为什么? 对
3、并发队列,线程执行完怎么回到主线程,栅栏函数的应用场景和注意事项
dispatch_group 栅栏函数不能用在dispatch_get_global_queue
4、怎么添加线程依赖?GCD能实现线程依赖吗?
addDependency
5、KVO原理
6、block本质是什么? __block的原理是什么?
7、为什么不能给NSObject的分类添加类方法?
8、runloop的几种模式和区别?怎么切换着几种模式?
9、MVVM 中的Controller属于 M还是V?
10、怎么hook runtime方法?
11、swift可以使用runtime吗?怎么做?
12、消息转发流程

resolveinstanceMethod.jpg

13、怎么优化App启动时间
二进制重排序
Edit Scheme -- 选择一个Scheme(比如:Run)-- 选择Arguments -- Environment Variables -- 点击添加 -- 设置 name: DYLD_PRINT_STATISTICS value : ${DEBUG_ACTIVITY_MODE}

14、tcp和http的关系 三次握手?

15、StatelessWidget和StatefulWidget的生命周期
StatelessWidget:初始化、通过build()渲染。
StatefulWidget


image.png

16、Flutter 是如何与原生Android、iOS进行通信的?Flutter 通过 PlatformChannel 与原生进行交互,其中 PlatformChannel 分为三种:
BasicMessageChannel :用于传递字符串和半结构化的信息。
MethodChannel :用于传递方法调用(method invocation)。
EventChannel : 用于数据流(event streams)的通信。
同时 Platform Channel 并非是线程安全的 ,更多详细可查阅闲鱼技术的 《深入理解Flutter Platform Channel》
17、状态管理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容