1. 手撕代码。牛客题霸上的原题,可以去看看:NC100 将字符串转化为整数
2. Swift的主要特征和优缺点是什么?
3. 什么是iOS应用程序,您的代码适合哪里?
4. iOS中的内存管理如何处理?
Swift使用自动引用计数(ARC)。从概念上讲,这在Swift中与在Objective-C中是相同的。ARC会跟踪对类实例的强引用,并在您将类实例(引用类型)的实例分配或取消分配给常量,属性和变量时相应地增加或减少其引用计数。它释放由引用计数降至零的对象使用的内存。ARC不会增加或减少值类型的引用计数,因为在分配值时,它们会被复制。默认情况下,如果没有另外指定,则所有引用都是强引用。
5. 什么是MVC?
MVC代表模型视图控制器。这是Apple选择作为iOS应用程序开发的主要方法的软件设计模式。模型代表应用程序数据;视图在屏幕上绘制事物;控制器管理模型和视图之间的数据流。模型和视图从不直接相互通信,而依赖于控制器来协调通信。
6. 您对Singleton了解多少?您将在哪里使用哪一个?
7. 代表和KVO有什么区别?
两者都是在对象之间建立关系的方式。委托是一对一关系,其中一个对象实现委托协议。另一个使用协议定义的方法向其发送消息。KVO是一种多对多关系,其中一个对象广播一条消息,而一个或多个其他对象侦听该消息并做出反应。KVO不依赖协议。KVO是反应式编程(RxSwift,ReactiveCocoa等)的 第一步和基本步骤
8. iOS应用程序通常使用哪些设计模式?
9. 除了您知道的常见可可图案以外,还有哪些设计图案?
10. 解释并显示SOLID原理示例?
11. 您在iOS上实现存储和持久性有哪些选择?
通常,有以下几种按简单到复杂的顺序存储数据的方式:
•内存中的数组,字典,集合和其他数据结构
•NSUserDefaults /钥匙串
•文件/磁盘存储
•核心数据,领域
•SQLite的
12. iOS上的网络和HTTP有哪些可用选项?
13. 如何以及何时在iOS上序列化和映射数据?
14. 在iOS上布置UI有哪些选项?
15. 如何优化动态大小的表或集合视图的滚动性能?
16. 您将如何在iOS上执行异步任务?
在iOS上,如今,异步任务的首选解决方案是NSOperations和GCD块。Grand Central Dispatch是一项可以与多个后台队列一起使用的技术,该后台队列又可以找出哪个后台线程来处理工作。最主要的是,它是从您那里抽象出来的,因此您不必担心它。NSOperation是GCD之上的OOP抽象,它允许您执行更复杂的异步操作,但是使用NSOperation可以实现的一切都可以与GCD一起实现。许多可可框架在后台使用GCD和/或NSOperation
17. 您如何管理依赖关系?
18. 您如何在iOS上调试和分析代码?
19. 您有TDD经验吗?您如何在iOS上进行单元和UI测试?
20. 模拟,存根和假货之间有何不同?
21. 您是否编写评论和/或配对程序的代码?
22. 什么是FRP(功能性反应式编程)及其在iOS平台中的位置?
功能响应式编程(FRP)是一种声明式编程范例,它结合了功能编程和响应式(异步数据流编程)范例。这是一种声明式的编程风格,您可以声明代码的工作方式,而不是声明代码的工作方式。FRP的反应性组件使我们能够引入和描述时间的概念,这在纯函数式编程中很难使用。FRP通常可以帮助我们处理用户输入和iOS应用程序的异步特性;用户输入发生在某个时间点,联网将在将来的某个时间结束,等等。
23. 您知道哪种iOS架构可扩展吗?
全部评论
(2) 回帖