美文网首页
YHM-iOS面试题

YHM-iOS面试题

作者: 行走在北方 | 来源:发表于2019-06-22 17:31 被阅读0次

1、假如Controller太臃肿,如何优化
1.将网络请求抽象到单独的类中
方便在基类中处理公共逻辑;
方便在基类中处理缓存逻辑,以及其它一些公共逻辑;
方便做对象的持久化。
2.将界面的封装抽象到专门的类中
构造专门的 UIView 的子类,来负责这些控件的拼装。这是最彻底和优雅的方式,不过稍微麻烦一些的是,你需要把这些控件的事件回调先接管,再都一一暴露回 Controller。
3.构造 ViewModel
借鉴MVVM。具体做法就是将 ViewController 给 View 传递数据这个过程,抽象成构造 ViewModel 的过程。
4.专门构造存储类
专门来处理本地数据的存取。
5.整合常量

作者:iOS猿_员
链接:https://www.jianshu.com/p/80090864f325
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
2、讲讲队OC的runtime的理解,为什么说OC是动态运行时语言
runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API。
在我们平时编写的OC代码中, 程序运行过程时, 其实最终都是转成了runtime的C语言代码, runtime算是OC的幕后工作者 。
动态。 主要是将数据类型的确定由编译时,推迟到了运行时。
3、isa指针的作用
isa:是一个Class 类型的指针. 每个实例对象有个isa的指针,他指向对象的类,而Class里也有个isa的指针, 指向meteClass(元类)。元类保存了类方法的列表。当类方法被调用时,先会从本身查找类方法的实现,如果没有,元类会向他父类查找该方法。同时注意的是:元类(meteClass)也是类,它也是对象。元类也有isa指针,它的isa指针最终指向的是一个根元类(root meteClass).根元类的isa指针指向本身,这样形成了一个封闭的内循环。
作者:natewang
链接:https://www.jianshu.com/p/05fecee74e97

4、讲讲你开发中遇到的crash,怎么快速发现,怎么解决

1、数组越界导致的崩溃。-[__NSArrayI objectAtIndex:]: index 100 beyond bounds [0 .. 99]'
2、数据集合类型,如字典、数组中插入元素时,插入空指针nil。
3、调用当前对象类中不存在的方法导致崩溃。
'-[AppDelegate button1]: unrecognized selector sent to instance 0x8c764c0'
4、数据接收时,服务器返回数据不规范,如字典或数组元素中存在null,且客户端没做处理导致的崩溃。
5、内存管理不当,向野指针发送消息导致的崩溃。
6、一些masonry布局有问题
一般报错为:EXC_BAD_ACCESS

作者:SuperBoy_Timmy
链接:https://www.jianshu.com/p/adca91242113
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

5、讲讲对block的认识,block的修饰语是什么,为什么有的需要用weak有的不需要
Block 是一个里面存储了指向定义 block 时的代码块的函数指针,以及block外部上下文变量信息的结构体。
简单来说就是:带有自动变量的匿名函数。
用 weak 修饰的Block 存放在栈区,属于 StackBlock
注意:Block 引用普通外部变量,都是在栈区创建的,只是用 strong、copy 修饰的 Block 会把它从栈区拷贝到堆区一份,而 weak 修饰的 Block 不会;
6、讲讲你对APP架构的理解
https://www.jianshu.com/p/0ea6b72ea1a3
7、请简述你在iOS开发过程中遇见最大的技术问题,难点是什么,怎么解决的
皆出自网络,学习使用,如果有问题请私聊

相关文章

  • YHM-iOS面试题

    1、假如Controller太臃肿,如何优化1.将网络请求抽象到单独的类中方便在基类中处理公共逻辑;方便在基类中处...

  • 面试材料

    面试经验 面试题1 面试题2 面试题3 面试题4 面试题5 面试题6――数据结构 面试题7――网络 面试题8――汇...

  • 高阶面试题

    webpack面试题 面试题:webpack插件 Git面试题 面试题:git常用命令 面试题:解决冲突 面试题:...

  • this的指向的面试题

    面试题1 面试题2 面试题3 面试题4

  • 面试所涉及的问题

    面试题参考1 : 面试题 面试题参考2 : 内存管理 面试题参考3 :面试题 ...

  • Android超实用最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • Android最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • 2022年web前端面试题

    web前端面试题分为:html/css面试题、javascript面试题、vue面试题、性能优化面试题、网络方面面...

  • ios面试题

    初级面试题 中级面试题 高级面试题 swift篇

  • Android超实用最全面试大纲(四)

    文章目录: 冷启动和热启动面试题 其他优化面试题 架构模式面试题 插件化面试题 热更新面试题 进程保活面试题 Li...

网友评论

      本文标题:YHM-iOS面试题

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