上次挂在了百度iOS二面不服气, 三月之期已到,这次终于拿下offer!

答案:请参考iOS AutoLayout使用技巧

(5)对runtime和runloop了解吗?

5.1 runtime:又称运行时,是一套底层的C语言API。 runtime应用场景:

a.字典模型自动转化(MJExtension,YYModel)

b.系统方法交互(Swizzle黑魔法)

c.万能控制器跳转(通过推送传过来控制器名称,属性等)

d.给分类(category)添加属性(实现setter、getter方法)

e.实现自动归档和解归档(原理与a类似)

5.2 runloop: 从字面上讲就是一个运行循环,内部是do-while循环,在这个循环内部处理各种任务。 一个线程对应一个runloop,主线程的循环默认启动,子线程的runloop得手动启动(调用run方法)。 runloop只能选择一个Model启动,如果当前Model中没有任务Source(Source0, Source1)、Timer,那么就直接退出runloop. runloop的作用:保持程序持续运行,处理App中各种事件。通过runloop,有事情运行,没事休息,可以节省Cpu资源,提高程序性能。

runloop应用: a.

想更深入了解runloop,请看大牛博客深入理解RunLoop。

或者看这个视频iOS线下分享《RunLoop》by 孙源@sunnyxx

3. Swift题

(1)struct 和 class 的区别?

答案:

区别:

a. 类可以继承,结构体不可以

b. 可以让一个类的实例来反初始化,释放存储空间,结构体做不到

c. 类的对象是引用类型,而结构体是值类型。所以类的赋值是传递引用 ,结构体则是传值。

相同点:

a,类和结构体都可以扩展

b,定义属性用于储存值

c,定义方法用于提供功能

d,定义下标用于通过下标语法访

e,定义初始化器用于生成初始化值

(2)class与staitc关键字的区别?

a. static 可以在类、结构体、或者枚举中使用。而 class 只能在类中使用。

b. static 可以修饰存储属性,static 修饰的存储属性称为静态变量(常量)。而 class 不能修饰存储属性。

c. static 修饰的计算属性不能被重写。而 class 修饰的可以被重写。

d. static 修饰的静态方法不能被重写。而 class 修饰的类方法可以被重写。

e. class 修饰的计算属性被重写时,可以使用 static 让其变为静态属性。 f. class 修饰的类方法被重写时,可以使用 static 让方法变为静态方法。

(3)swift是如何解决循环引用问题的?

答案: 请参考:Unowned 还是 Weak?生命周期和性能对比

4. 性能优化题

(1)了解App进行性能优化吗,影响App启动时间的因素有哪些?

答:1.1 App性能优化涉及方面很多。个人感觉面试官主要想知道作为开发人员,对Instruments工具的了解及使用情况,关于 Instruments里面工具: Time Profiler: 性能分析

Zombies:僵尸对象检测

Allocations:内存检查

Leaks:内存泄露检测。

1.2 响应App启动时间的因素大体分为pre-main(执行App main函数前时间)和main(执行App main函数时间)两部分。

需要更多iOS面试文集资料,加iOS开发交流群:789143298,群文件直接获取
——点击加入:iOS开发交流群

上次挂在了百度iOS二面不服气, 三月之期已到,这次终于拿下offer!

上次挂在了百度iOS二面不服气, 三月之期已到,这次终于拿下offer!

作者:Xcode_boy
链接:https://juejin.im/post/6844903594014015502

文章均来自互联网如有不妥请联系作者删除QQ:314111741 地址:http://www.mqs.net/post/13597.html

相关阅读

  • 淘宝怎么运营推广(中小卖家必学的操作思路)

    淘宝怎么运营推广(中小卖家必学的操作思路)

    淘宝在很长一段时间内,一直被认为是中国最大的电子商务平台。人们在这里购物,与在别处购物一样,会感觉到很便捷、很实惠。因此,随着电商行业的发展。如今,淘宝网站的活跃用户数已经超过了1亿人(目前该数据仅统计了部分用户)。而作为一个淘宝...

    2025.12.09 14:15:37作者:iseeyuTags:运营
  • 如何保证缓存和数据的双写一致性

    如何保证缓存和数据的双写一致性

    image 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇...

    2025.12.09 09:28:14作者:iseeyu
  • 【百度搜索引擎优化】如何快速了解百度搜索引擎优化的知识?(搜索引擎优化基本)

    【百度搜索引擎优化】如何快速了解百度搜索引擎优化的知识?(搜索引擎优化基本)

    在百度输入SEO优化,下拉框就有很多关键词,SEO优化工具,SEO查询,SEO技巧,SEO优化方案,SEO报价,SEO优化教程,SEO优化软件,SEO优化怎么做,等等,相关搜索也有很多长尾关键词。还可以加入一些群,找些大牛问下,向这些大牛学...

    2025.12.09 07:37:38作者:iseeyu

添加新评论