Dart 语言是Flutter的特色之一,学习过JavaScript、Java或者Kotlin的开发者,在学习Dart上几乎没什么难度。Dart语言本身的上手难度也不高,它综...
面试题 讲讲 MVC、MVVM、MVP,以及你在项目里具体是怎么写的? 你自己用过哪些设计模式? 一般开始做一个项目,你的架构是如何思考的? 何为架构? 架构(Archite...
面试题 你在项目中是怎么优化内存的? 优化你是从哪几方面着手? 列表卡顿的原因可能有哪些?你平时是怎么优化的? 遇到tableView卡顿嘛?会造成卡顿的原因大致有哪些? 渲...
面试题 使用CADisplayLink、NSTimer有什么注意点? 介绍下内存的几大区域 讲一下你对 iOS 内存管理的理解 ARC 都帮我们做了什么? LLVM + Ru...
面试题 你理解的多线程? iOS的多线程方案有哪几种?你更倾向于哪一种? 你在项目中用过 GCD 吗? GCD 的队列类型 说一下 OperationQueue 和 GCD ...
面试题 讲讲 RunLoop,项目中有用到吗? runloop内部实现逻辑? runloop和线程的关系? timer 与 runloop 的关系? 程序中添加每3秒响应一次...
面试题 讲一下 OC 的消息机制OC中的方法调用其实都是转成了objc_msgSend函数的调用,给receiver(方法调用者)发送了一条消息(selector方法名)ob...
面试题 block的原理是怎样的?本质是什么? 封装了函数调用以及调用环境的OC对象 __block的作用是什么?有什么使用注意点? block的属性修饰词为什么是copy?...
面试题 Category的使用场合是什么? Category的实现原理 Category编译之后的底层结构是struct category_t,里面存储着分类的对象方法、类方...
KVO面试题 iOS用什么方式实现对一个对象的KVO?(KVO的本质是什么?) 利用RuntimeAPI动态生成一个子类,并且让instance对象的isa指向这个全新的子类...
面试题 一个NSObject对象占用多少内存? 系统分配了16个字节给NSObject对象(通过malloc_size函数获得) 但NSObject对象内部只使用了8个字节的...
基本概念 什么是加固 加固是为了增加应用的安全性,防止应用被破解、盗版、二次打包、注入、反编译等 常见的加固方式有 数据加密(字符串、网络数据、敏感数据等) 应用加壳(二进制...
iOS签名机制 iOS签名机制的作用 保证安装到用户手机上的APP都是经过Apple官方允许的 不管是真机调试,还是发布APP,开发者都需要经过一系列复杂的步骤 生成Cert...