Skip to content

Do you know?

Deepin edited this page Aug 20, 2021 · 1 revision

0、深copy和浅copy

1、load方法在什么时候调用 initialize又是什么时候调用 区别

2、runtime是什么

3、方法的本质,sel是什么,imp是什么,两者的关系

4、能否向编译后得到的类中增加实例变量?能否运行时创建的类中添加实例变量?

5、[self class][super class]

6、weak原理,为什么可以自动置为nil

7、线程与进程的关系 线程的同步方案

8、block?循环引用,__block

9、如何解决循环引用

10、tablevie的重用机制

11、wkwebview与h5交互

12、内存5大区 (堆和栈的区别)

13、内存管理方式

14、数据存储方式

15、property的本质

16、isa指针

17、什么是runloop

18、uiview和calayer的关系

19、自动释放池原理

20、分类的作用 和拓展的区别

21、关联对象 原理

22、tcp和udp

23、为什么会离屏渲染 可能的原因

24、单利 优缺点

25、kvo、kvc 原理

26、mvc、mvvm mvp,优缺点

27、通知的原理 通知对对象是强引用还是弱引用

28、@asycnized原理

29、了解那些跨平台开发,以及对应的优缺点,flutter为什么比其他跨平台好

30、flutter混合开发(如何与原生交互,几种方式)

31、apns 通知的原理

32、sdimage的原理,以及其中图片的销毁机制

33、strong和copy

34、assign和weak 如果用assign修饰了对象会怎么样

35、编译原理

36、签名机制

37、工厂模式和抽象工厂模式

38、js桥原理 怎么去触发回调(如何触发多线程)

39、常用的加密算法(md5 、rsa、des 、3des,以及一些哈希算法)

40、.a和.framework

41、bounds和frame uitableview的contentsize 基于bounds

42、断点下载原理 (再深一层 就是http做了什么)

43、tableview卡顿可能原因

44、app启动流程(main函数 dyld做了什么)

45、启动优化(二进制重排 及其原理 去除没有用到的code load)

46、afn这么设计的原理(或者你自己看过的三分库,一定要知道原理,然后这么设计的好处,好处可以参考六大设计准则)

47、简单的防崩溃(使用hook nsarray的类是根据内容的数量初始化产生的,原理是try catch)

48、符号表内的结构

49、有哪些锁 (互斥和自旋 有什么区别 )

50、事件的响应链

51、六大设计准则

52、runloop原理 实际应用(卡顿检测以及它的原理)

53、子线程内使用nstimer会失效

54、与js交互的方式 (webview 内的js桥,注入js代码等等,还有原生提供的jscore)

55、崩溃的收集,友盟崩溃收集原理(提示要上传符号表)

56、app的日活量,崩溃率多少优秀

57、多线程使用 nsoperation 和 gcd

58、数据库的使用

59、消息机制过程,可以利用消息机制做什么

60、代码管理方式,我所在的是用git,在分支上操作

———————————————— 版权声明:本文为CSDN博主「hengsf123456」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/hengsf123456/article/details/118492971

Clone this wiki locally