本文主要内容

一.内容总结
二.重要常识点总结
三.高档问题扩展与思想延伸

一.内容总结

全方位剖析iOS高级技术问题(十三)之总结

二.重要常识点总结

  • 1、系统的UI事件传递传递是怎样的?
  • 2、KVO的完成原理是怎样的?
  • 3、消息传递机制和消息转发流程?
  • 4、当一个obj废弃的时分,指向它的weak指针为何会主动置为nil?
  • 5、Block的本质是怎样的?使用Block为何简单发生循环引证?
  • 6、怎样使用GCD完成高效的多读单写逻辑?
  • 7、Runloop为何能做到有事做事,没事歇息?
  • 8、怎样处理DNS劫持?
  • 9、什么是桥接形式、责任链形式?
  • 10、怎样规划一个图片缓存结构?
  • 11、编写查找一个字符串中,第一个只出现一次的字符的算法
  • 12、AFNetworking大致是怎样完成的?

三.高档问题扩展与思想延伸

3.1、怎么规划一款APP的架构

描绘
移动互联网年代,各大公司都有或多或少的APP,乃至存在APP矩阵,意思便是有多个具有协同效果的APP,典型的如阿里系的:淘宝、天猫、支付宝、优酷、高德、虾米等,如果让咱们来规划一个APP的架构,都需求考虑哪些因素?

思路指点
要点要考虑并结合事务的发展阶段及演进式的架构规划;怎么进行架构分层、事务阻隔、跨库通信、怎么进行页面结构规划、怎么运用规划原则、规划形式更好的规划各个功能模块;

3.2、怎么建造端上的UI千人千面?

描绘
跟着精细化运营的需求,各大厂纷繁建造千人千面才能;从开始的数据、供应千人千面,再到如今较为流行的UI千人千面;众所周知UI款式关于用户决议计划的影响,典型的关于点击率的影响仍是很大的;阿里系的淘宝特别注重人货场的概念,怎么在线上经过UI建造分别营造出高端shoppingmall、购物商场、街边/胡同品牌店、夜市地摊等货场的感受精细化运营目标用户是值得深化考虑的问题;作为终端技能同学,怎么使用你的技能完成UI千人千面的才能建造呢?

思路指点
一个页面能够笼统多个容器、每个容器包含多个卡片、一个卡片能够拆分多个组件、每个组件又是由最基本的系统UI控件构成;怎么完成一套协议能够经过云端下发的方法完成动态装备;在动态装备的基础上,怎么树立用户人群画像、用户行为特征与某个原子粒度的UI组件风格款式上的映射关系;

3.2、怎么在端上树立端AI才能?

描绘
跟着手机硬件的老练,主流手机都内置了NLP等AI相关模块;在流量盈利不是特别凸显的互联网阶段,怎么结合端AI才能做个性化、精准化的工作是咱们当下比较热门的话题,比方阿里的MNN结构想必咱们有所关注,那么在端上树立端AI才能有诸多好处,比方经过端AI运转,完成分布式核算,节约云端算力成本;端有丰富的用户行为数据以及面对国家方针监管对个人隐私数据越来越垂青,在端上闭环消费数据也许是可行的; 思路指点
端AI才能建造的演进步骤,如规则引擎、核算脚本、端运转AI模型;怎么完成模型端云联合练习,怎么在端上做AI模型的部署运转;怎么树立端AI才能配套的埋点数据收集、模型练习、部署热更新、运转容器、配套的监控系统等等。

3.3、怎么做动态化建造?

描绘
前端发展趋势愈加显着,作为客户端研制同学,怎么经过动态化技能的系统化建造提高研制效率,提高事务交付效率是咱们继续研讨的课题;市面上动态化技能层出不穷,怎么结合你的事务需求做适宜的动态化技能建造

思路指点
结合事务特色从稳定性、功能、动态化才能强弱等方向选型;乃至发明性的发明一些除RN、Flutter、Weex等动态化建造;包含关于客户端与前端的结合;咱们每天编写的代码能够大致笼统为视图、数据、逻辑;动态化的范畴也能够从模块级到页面级再到Bundle级;你的事务需求怎样样的动态化才能呢?

3.4、怎么系统化做功能体会优化?

描绘
功能体会优化是老生常谈的话题,关于功能体会优化不只包含页面渲染功能优化,也包含程序发动优化、页面加载时长优化、网络体会优化、内存优化乃至安装包大小优化等等;系统化处理功能问题应该怎么做呢? 思路指点 不同方向的优化手法、方案是什么,比方程序发动优化,怎么识别活动关键途径,区分哪些能够并发,哪些需求串行以及对应的时序;main函数前、main函数后,你可能需求了解下mach.o相关常识与原理;再比方渲染功能优化,除了常见的布局核算优化方法,是否还有其他方面,比方光栅化、离屏渲染、图片编解码、乃至绘制;怎么结合事务做有偏重的优化;怎么衡量优化建造成果,打算怎么做功能的监控等等。

有任何问题,欢迎各位谈论指出!觉得博主写的还不错的费事点个赞喽