Tag: Ios面试

第四天:什么是快速落败?

如果要转到 第3天的 上一篇文章 ,或者要从 第1天 开始 。 有趣的故事 :我在一家知名公司的采访中,他们进行了第一轮的客观类型问题,有四个选择。 一个特别的问题(或您可以说的选项)引起了我的注意,该问题是基于开关控制流的问题,它有一个选项是失败。 我认为这是打印错误,在Swift中没有一个名为fallthrough的关键字。 面试刚结束,我就意识到自己是多么的傻瓜。 重新营业! 如果您使用C风格的语言进行过任何编程,则将特别记住开关控制流程中的一个非常不安全的功能,即如果我们不(或偶然地错过了,我经常这样做)在案例结束后写断点 ,那只会在接下来的情况下驳船? (谁给我一些隐私,bru?) 显然, Swift是更安全的语言,它的默认特性不是那样,而是更简洁 , 可预测,并且避免错误地执行多个切换案例 。 但… 如果您想在Swift中使用(C样式)功能,则需要在每次 您需要的情况。 Swift编程语言书中的示例 失败 最后一件事,也是最重要的 fallthrough关键字不检查导致执行陷入的switch条件的条件。 fallthrough关键字仅导致代码执行直接移至下一个case(或default case)块内的语句,就像C的标准switch语句行为一样。 那是一个问题,明天见。 如果您在本文中❤️,请给我一个give,并支持我的工作。 等等,要继续吗? 转到第5天 。 没有人会知道!

运营和中央调度的面试问题(第二部分)

iOS面试问题,gcd面试问题,多线程ios面试问题,iOS 在本文中,我将介绍一些与Dispatch相关的问题,但是解决方案以目标C语言给出,并且可以在Swift上移植。 为这些问题在目标C中提供解决方案的原因是我在Citrix等公司接受采访的一位朋友,他们之所以要求在目标C中编写解决方案,是因为开放是面向同时了解obj C和Swift的开发人员的。 希望它也能帮助其他开发人员,让我们开始吧。 Q1。 dispatch_once和dispatch_once_t的用途是什么,用示例写下代码? 解决方案 : 单身人士 Q2。 dispatch_after的用途是什么,用示例写下代码? 解决方案 :如果您需要在特定的时间点运行某些内容,那么dispatch_after可能是正确的选择。 一定也要检查NSTimer。 Q3。 什么是目标队列,用示例写下代码? 解决方案 : 惊喜:您已经在使用它们! 您创建的任何队列都必须具有目标队列。 默认情况下,它设置为DISPATCH_QUEUE_PRIORITY_DEFAULT全局并发队列。 Q4。 下面的代码有什么问题,如何解决? 解决方案 : dispatch_set_target_queue使从firstQueue或secondQueue执行的每个块都表现得“好像”已使用dispatch_async提交给并发队列。 成为目标队列不会影响dispatch_barrier_ *函数的语义。 屏障保证在屏障块运行时队列中没有其他任何执行。 Q5。 编写用于创建所有类型的队列的代码,还让我们知道优先级吗? 解决方案 : Q6。 编写一个资源,多个读取器和一个写入器的代码(基本上是用于多线程读取和单线程写入的读取器写入器)? 解决方案 :同步/异步模式的一种优化是读写器模式,在该模式下,允许并发读取,但不允许并发写入。 因此,您将使用并发队列,dispatch_barrier_async进行写操作(实现写操作的类似串行行为),但是使用dispatch_sync进行读操作(就其他读取操作而言,享受并发性能)。 Q7。 编写死锁条件代码? 解: Q8。 什么是dispatch_apply ? 为用例编写代码? 解决方案: dispatch_apply —迭代执行性能的改进,请查看下面的示例以更加清楚。 Q9。 编写DispatchGroup用例的代码? 解: Q10。 编写DispatchGroup用例的代码? 解: […]