Petru是一名开发人员,他在移动行业工作了14年, 在App Store上发布了100多款应用. To any project, 他带来了对sdk /库和iOS硬件/软件的深入了解, 出色的OOP技能, solid Node.js知识,以及在移动应用中使用RESTful web服务的实践经验. 除了他的技术专长, 他对敏捷工作流程也很熟悉, working with Git, 并在团队环境中茁壮成长.
Swift是苹果公司开发的一种通用的、多范式的编译式编程语言. It is powerful, intuitive, 并适用于广泛的平台, 包括移动设备, watches, desktops, and the cloud. 由于开源,它迅速流行起来. Swift的代码简单、交互且有趣. 语法简洁而富有表现力,应用程序在设计上是安全的,运行速度非常快.
At Toptal, 我们对Swift开发人员进行了彻底的筛选,以确保我们只为您匹配最优秀的人才. Of the more than 200,每年有5000人申请加入Toptal网络, 只有不到3%的人能达标. 你将与工程专家(而不是一般的招聘人员或人力资源代表)一起了解你的目标, technical needs, and team dynamics. 最终的结果是:经过专家审查的人才从我们的网络,定制匹配,以满足您的业务需求.
转折点出现在2015年12月,当时苹果对其新生儿的强烈偏好通过将其开源来证明, 发布带有补丁和更新的新大版本. Swift 2已经足够稳定,可以在应用程序中安全使用, 从而确保了它作为watchOS首选语言的地位, tvOS, and iOS development.
尽管Swift的发展在两年前才出现, 目前已经有一个庞大的开发人员社区,他们被认为是这方面的专家. However, 开发者和优秀开发者的区别在于他们的适应能力, learn, 与世界其他地方保持同步. 因为斯威夫特面临着一个光明的未来, 而且每年肯定会有很多新的更新, 一个伟大的开发者必须始终站在进化曲线的顶端. 找到这样的人才并不是一件容易的事. So, 这篇文章提供了一些问题的样本,这些问题对于评估候选人对Swift掌握的广度和深度至关重要.
问题与答案
Q: Describe Swift. 这是一种什么样的语言啊? 它的主要福利是什么?
Swift是一种编译语言,其源代码被翻译成机器码. 它与它的前身Objective-C和苹果的Cocoa框架完全兼容. 通过开源语言, 苹果明确表示,Swift不仅仅是一种用于移动应用程序的语言. New frameworks, like Perfect这些都是Swift成为服务器端语言的第一次尝试. 这样一来,Swift开发人员和全栈开发人员将能够使用同一种语言创建客户端和服务器端应用程序.
在我们的例子中,我们调用 myControllers two times in viewDidLoad (这只是为了测试目的,看看初始化是如何工作的). Our lazy 变量包含一个print语句来演示底层发生的事情. 打了两次电话之后 let _ = myControllers,控制台日志中只有一条消息. 那是因为第二次 lazy 变量已经初始化,不需要再初始化一次.
在Swift中,所有的类实例都是引用类型. 带有类对象的变量只是指向内存的指针. 这同样适用于作为参数的函数. Consider the example:
类A: CustomStringConvertible {
var name = "Patrik"
var description:字符串{
return name
}
}
函数changeName(对象:A) {
object.name = "Thomas"
}
let myObject = A()
changeName(myObject)
print(myObject) //
Here, an instance myObject is passed to the changeName 函数,并且不需要将参数标记为引用类型. Instead, 我们只需要知道它们在与不同参数类型一起使用时的一些行为规则. In this case, the print(myObject) will write “Thomas”.
这个数大于零
defer positive
input is 10
这个数大于零
defer positive
input is 10
Using deferS可以显著地帮助程序员避免重复,但了解它是至关重要的 defer它的行为和执行时间. Simple print 函数可以验证开发人员是否理解问题.
问:为什么使用高阶函数更好? Explain with examples.
以另一个函数作为参数的函数, or return a function, as a result, 被称为高阶函数吗. Swift将这些函数定义为 CollectionType. 最基本的高阶函数是a filter. 它是数组上的一个函数,它接受另一个函数,该函数将用于返回数组的新过滤版本. 高级函数的主要目的是帮助我们在更短的时间内编写bug更少的代码. At first glance, 这些函数可能有点吓人, 但优秀的开发人员应该尽可能多地使用它们.
回答我们在本文中提到的问题对于任何顶级Swift应用程序开发人员来说都是小菜一碟. 事实上,Swift语言本身并不难学习和使用. However, 请记住,当越来越多的新更新发布和新功能加入时,你的专职开发者是否优秀就会显露出来. Swift的精通在于能够在尽可能短的时间内正确理解和应用新的应用程序开发原则,以保持应用程序的功能领先.