reactivecocoa

2020年面向高级开发人员的iOS面试题总结(附答案)

做~自己de王妃 提交于 2020-08-14 06:34:16
前言: 这是许多硅谷公司用来衡量iOS候选人资历水平的一系列问题。 这些问题涉及iOS开发的各个方面,旨在触及对平台的广泛理解。 毕竟,高级开发人员应该能够从头到尾地发布完整的iOS产品。 这绝不是一个详尽的列表,但它可以帮助你为即将到来的技术iOS面试做准备。 目录 你使用的最新版本的iOS是什么?你喜欢什么,为什么? 什么是iOS应用程序,您的代码适合哪里? 你喜欢或不喜欢什么Swift特性?为什么? 内存管理在iOS上如何处理? 你对单身人士有什么了解?你会在哪里使用一个,你不在哪里? 你能否解释一下Delegate和KVO有什么不同? iOS应用中通常使用哪些设计模式? 你知道除了常见的可可模式外还有哪些设计模式? 你能否解释并展示SOLID原则的例子? 你有什么选择在iOS上实现存储和持久性? 你有什么选择在iOS上实现网络和HTTP? 如何以及何时需要在iOS上序列化和映射数据? 在iOS上布置UI有什么选择? 你将如何优化动态大小的表或集合视图的滚动性能? 你将如何在iOS上执行异步任务? 你如何管理依赖关系? 你如何在iOS上调试和配置文件? 你有TDD经验吗?你如何在iOS上进行单元和UI测试? 你编码审查和/或配对计划? 在下面的章节中,我们将讨论每个问题,背后的原因,预期的答案,以及可能为面试官带来危险的答案。 1.你使用的最新版本的iOS是什么?你喜欢什么

2020年面向高级开发人员的iOS面试题总结(附答案)

北城余情 提交于 2020-08-08 07:37:09
前言: 欢迎关注 我的简书 查看更多好文章 这是许多硅谷公司用来衡量iOS候选人资历水平的一系列问题。 这些问题涉及iOS开发的各个方面,旨在触及对平台的广泛理解。 毕竟,高级开发人员应该能够从头到尾地发布完整的iOS产品。 这绝不是一个详尽的列表,但它可以帮助你为即将到来的技术iOS面试做准备。 目录 你使用的最新版本的iOS是什么?你喜欢什么,为什么? 什么是iOS应用程序,你的代码适合哪里? 你喜欢或不喜欢什么Swift特性?为什么? 内存管理在iOS上如何处理? 你对单身人士有什么了解?你会在哪里使用一个,你不在哪里? 你能否解释一下Delegate和KVO有什么不同? iOS应用中通常使用哪些设计模式? 你知道除了常见的可可模式外还有哪些设计模式? 你能否解释并展示SOLID原则的例子? 你有什么选择在iOS上实现存储和持久性? 你有什么选择在iOS上实现网络和HTTP? 如何以及何时需要在iOS上序列化和映射数据? 在iOS上布置UI有什么选择? 你将如何优化动态大小的表或集合视图的滚动性能? 你将如何在iOS上执行异步任务? 你如何管理依赖关系? 你如何在iOS上调试和配置文件? 你有TDD经验吗?你如何在iOS上进行单元和UI测试? 你编码审查和/或配对计划? 在下面的章节中,我们将讨论每个问题,背后的原因,预期的答案,以及可能为面试官带来危险的答案。 1

过招多家大厂提炼的iOS面试心经

天涯浪子 提交于 2020-08-04 18:36:30
2020年,整个资本市场风起云涌,大环境下,互联网更是风声鹤唳,大多数公司面临着裁员,结构重构,他们收紧资本,为自己取暖。在漫长的寒冬下,互联网人只有自己修炼内功,才能在寒风中屹立不倒。 作为一名iOS开发者,要时时刻刻保持学习的冲劲,新的知识每年都是海量增长,要学的东西真的太多太多。很多公司收紧资本,所以,对于找人这块,更是慎之又慎,如果不是实力过硬,很难找到一份称心的工作。 所以,学好iOS很重要,大公司对于开发者的要求也越来越偏向于底层。一个有扎实内功的开发者,才会受到公司的青睐。 晋升iOS高级开发者,无怪乎有几大块的知识点需要掌握,也必须掌握: 大致可以分为以下几个部分: 一、UI视图 其中包括事件传递、视图响应、UI布局、绘制、Tableview重用机制的理解等基本技术点,也包括如离屏渲染、流式页面的性能优化、异步绘制、UI渲染机制等偏底层技术的考察。 二、Objective-C语言 其中包括如KVO、KVC、分类、扩展、关联对象等系统实现原理和机制,以及NSNotification、属性关键字等相关技术点的考察。 三、Runtime 可以说是中级以及以上工程师的必备技术要求,面试官往往会考察大家对对象、类对象、原类对象的理解、消息传递机制、消息转发流程、Method-Swizzling、ISA-swizzling、动态方法解析、动态添加方法等。 四、内存管理

ReactiveCocoa使用详解-1

六月ゝ 毕业季﹏ 提交于 2020-02-04 22:11:35
ReactiveCocoa (简称为RAC),是由 Github 开源的一个应用于iOS和OS开发的函数式响应式编程框架,它提供了一系列用来组合和转换值流的 API 一. 什么是响应式变成思想? 学习一个框架之前, 首先要了解这个框架的编程思想, 这里在介绍响应式编程思想之前, 先介绍一下之前接触过的编程思想 1.面向对象 万物皆对象 是一类以对象作为基本程序结构单位的程序设计语言 典型的面向对象的编程语言有 C++, C#, Java 等 2. 面向过程 一种以过程为中心的编程思想 C语言就是一门面向过程的语言 3. 链式编程思想 是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好 链式编程特点:方法的返回值是block, block必须有返回值(本身对象),block参数(需要操作的值) 典型框架: masonry 框架。 4. 函数式编程思想 万物皆是流 不需要考虑调用顺序,只需要知道考虑结果 类似于蝴蝶效应,产生一个事件,会影响很多东西,这些事件像流一样的传播出去,然后影响结果 代表:KVO运用 5. 函数式编程思想 是把操作尽量写成一系列嵌套的函数或者方法调用 特点: 每个方法必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果) 代表: ReactiveCocoa 6.

ReactiveCocoa学习资料

大憨熊 提交于 2020-02-04 06:20:33
ReactiveCocoa 学习资料: ReactiveCocoa入门教程:第一部分 http://www.cocoachina.com/ios/20150123/10994.html Reactive Cocoa 3.0 在 MVVM 中的应用 http://ios.jobbole.com/82232/ 啊峥 最快让你上手 ReactiveCocoa 之基础篇 http://www.jianshu.com/p/87ef6720a096 最快让你上手 ReactiveCocoa 之进阶篇 http://www.jianshu.com/p/e10e5ca413b7 ReactiveCocoa学习笔记 http://yulingtianxia.com/blog/2014/07/29/reactivecocoa/ ReactiveCocoa 用 RACSignal 替代 Delegate http://iiiyu.com/2014/12/26/learning-ios-notes-thirty-six/ 小码哥大神班视频 https://yun.baidu.com/share/link?uk=2049949779&shareid=2130880953&third=0&adapt=pc&fr=ftw#list/path=%2F&parentPath=%2FiOS开发 来源: https:/

OS10.11安装Cocoapods并集成ReactiveCocoa

别说谁变了你拦得住时间么 提交于 2020-01-10 10:53:00
最近换了一台机器, 发现上面没有安装Cocoapods, 因为自己的机器是在10.10的时候安装的没有发现问题, 更新了10.11之后发现cocoapods安装真是一个浩大的工程(那是之前没找对方法). 首先安装cocoapods的教程烂大街了, 百度下先. 1. 首先sudo gem update --system 卡住; 2.唉 不管了, 先把数据源改了再说 gem sources --remove https://rubygems.org/ gem sources -a https://ruby.taobao.org/ 看下gem sources -l看下数据源修改了没 3.安装Cocoapods sudo gem install cocoa pods 出现了pods:activesupport requires Ruby version >= 2.2.2错误, 看意思可以看出是Ruby的版本太低了, 升级下Ruby 找了下教程 : http://blog.csdn.net/lissdy/article/details/9191351 按照这个教程我安装了2.2.2版本  sudo gem install cocoa pods安装成功了; 4.最后一步也是坑死我的这一步, 执行 pod setup 很多人看到这个会卡在这个一直都不动, 那是因为他一直在向/User/用户名/

ReactiveCocoa 4 文档翻译目录

。_饼干妹妹 提交于 2019-12-06 00:35:15
文/没故事的卓同学(简书作者) 原文链接:http://www.jianshu.com/p/fccba7be1ca1 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。 因为决定不再支持iOS7,全面使用Swift,RAC也要升级,就把RAC4的文档都读了一遍,翻译出来,希望能给后面要学习的人一些帮助。翻译的不是很好请见谅。 ReactiveCocoa 4 官方文档翻译 ReactiveCocoa 4 文档翻译:基本操作符(一) ReactiveCocoa 4 文档翻译:基本操作符(二) ReactiveCocoa 4 文档翻译:框架组成介绍 ReactiveCocoa 4 文档翻译:兼容Objective-C ReactiveCocoa 4 文档翻译:设计指南(一):事件的规范 ReactiveCocoa 4 文档翻译:设计指南(二):信号的规范 [翻译]ReactiveCocoa 4 最佳实践 在查找RAC 4 资料的时候发现有个小哥认真的做了几份图解觉得也不错,也一起推荐给大家: ReactiveCocoa 4 图解之一——事件(Event) ReactiveCocoa 4 图解之二——监听器(Observer) ReactiveCocoa 4 图解之三——存根(Disposable) ReactiveCocoa 4 图解之五——信号(Signal)

reactivecocoa true shouldChangeCharactersInRange textfield equivalent

匿名 (未验证) 提交于 2019-12-03 08:30:34
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: i begin with reactiveCocoa and i have some trouble with UITextfield. i try to do a basic check on a textField to display only 4 digit. i try to follow this exemple: http://nshipster.com/reactivecocoa/ but in here, shouldChangeCharactersInRange is always true so the textfield is always updated. i tried 2 solution : [RACSignal combineLatest:@[self.pinDigitField.rac_textSignal] reduce:^(NSString *pinDigit) { NSCharacterSet *numbersOnly =[NSCharacterSet characterSetWithCharactersInString:@"0123456789"]; NSCharacterSet *characterSetFromTextField

iOS开发,一篇写得非常好的入门级ReactiveCocoa教程(二)

北城以北 提交于 2019-12-03 01:39:23
ReactiveCocoa入门教程——第二部分 ReactiveCocoa iOS 翻译 2015-05-20 16:37:16 4710 1 1 本文翻译自 RayWenderlich ReactiveCocoa Tutorial – The Definitive Introduction: Part 2/2 ReactiveCocoa 是一个框架,它能让你在iOS应用中使用 函数响应式编程 (FRP)技术。在本系列教程的 第一部分 中,你学到了如何将标准的动作与事件处理逻辑替换为发送事件流的信号。你还学到了如何转换、分割和聚合这些信号。 在本系列教程的第二部分,你将会学到一些ReactiveCocoa的高级功能,包括: •另外两个事件类型: error 和 completed •节流 •线程 •延伸 •其他 是时候深入研究一下了。 Twitter Instant 在本教程中你将要开发的应用叫Twitter Instant(基于 Google Instant 的概念),这个应用能搜索Twitter上的内容,并根据输入实时更新搜索结果。 这个应用的 初始工程 包括一些基本的UI和必须的代码。和 第一部分 一样,你需要使用 CocoaPods 来获取ReactiveCocoa框架,并集成到项目中。初始工程已经包含必须的Podfile,所以打开终端,执行下面的命令: pod

iOS开发,一篇写得非常好的入门级ReactiveCocoa教程(一)

非 Y 不嫁゛ 提交于 2019-12-03 01:39:09
ReactiveCocoa入门教程——第一部分 ReactiveCocoa iOS 翻译 2015-01-21 18:33:37 9657 6 15 本文翻译自 RayWenderlich ReactiveCocoa Tutorial – The Definitive Introduction: Part 1/2 作为一个iOS开发者,你写的每一行代码几乎都是在响应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO)或者用户位置的变化(通过CoreLocation)。但是这些事件都用不同的方式来处理,比如action、delegate、KVO、callback等。 ReactiveCocoa 为事件定义了一个标准接口,从而可以使用一些基本工具来更容易的连接、过滤和组合。 如果你对上面说的还比较疑惑,那还是继续往下看吧。 ReactiveCocoa结合了几种编程风格: 函数式编程( Functional Programming ):使用高阶函数,例如函数用其他函数作为参数。 响应式编程( Reactive Programming ):关注于数据流和变化传播。 所以,你可能听说过ReactiveCocoa被描述为函数响应式编程(FRP)框架。 这就是这篇教程要讲的内容。编程范式是个不错的主题,但是本篇教程的其余部分将会通过一个例子来实践。 Reactive