IOS面试题100问,干不干IOS先收藏了,说不定那天就转IOS了。

作者Cameron Banga

摘要:本文作者对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。一方面,能够帮助HR在短时间内获取更多反馈信息,以甄选合适人选,而开发者及设计师在寻找相关工作时,也可作为参考,为面试做好万全准备。

无论是对于公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,本文作者Cameron Banga从编程、设计、App Store等各个方面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。一方面,能够帮助HR在短时间内获取更多反馈信息,更好地甄选合适人选,而iOS开发者及设计师在寻找相关工作时,也可作为参考,为面试做好万全准备。

IOS面试题100问,干不干IOS先收藏了,说不定那天就转IOS了。

常见问题
  • 你昨天/这周学习了什么?
  • 你为什么热衷于软件开发?
  • 你对哪一种控制系统比较熟悉?
  • 是否参与过GitHub项目?
  • 是否参与过GitHub或其他同类型网站的iOS开源项目?
  • 请描述一下你的iOS应用开发流程。
  • 是否熟知CocoaPods?它是什么?如何运行的?
  • 请概括一下你对软件授权的理解,及其对软件开发的影响。
  • 请概括一下你在构建iOS应用时的测试过程。iOS应用如何实现对其他语言、日期格式以及货币单位的支持?
  • 请描述一下Instruments及其作用。
关于iOS技术
  • 请解释一下Handoff是什么,并简述它是如何实现iOS、Mac/网页应用互通的。
  • iCloud包含了哪些技术与服务?
  • iOS扩展是指?能否列举一些热门或常见的范例?
  • HealthKit是什么?
  • HomeKit是什么?
  • Apple Pay是什么?能否描述一下如何在应用中使用Apple Pay?
  • 请解释一下iOS应用沙盒机制。
  • VoiceOver是什么?请举例解释一下iOS中的辅助功能(Accessibility)。开发者如何使用这些功能?
  • iOS应用是如何实现后台多任务处理(Multitasking)的?
  • Game Center针对iOS游戏有哪些功能?
  • iBeacons是什么?
  • Cocoa/Cocoa Touch是什么?
  • 请概括一下Core Audio,Core Data以及Core Location各是什么。它们对iOS应用有何意义?
  • 请描述SpriteKit和SceneKit的作用。
  • Metal是什么?
  • 响应链(Responder Chain)是什么?它是如何发挥作用的?
  • 按钮和其他控制方式对哪些操作做出回应?
  • AppDelegate扮演着什么样的角色?
  • 请解释一下NSUserDefaults。就你而言,你会如何在磁盘中对数组对象进行序列化?
  • 你会如何储存用户的认证信息?
  • 请问何为Keychain服务?
  • 为什么移动设备上的缓存和压缩是不可或缺的?
  • 请解释一下~/Documents,~/Library和~/tmp。 iOS中的~属于什么目录?
  • AirPlay是如何运行的?换做是你,你会如何通过编程提高应用的实用性以及演示效果?
  • 传感器,IO以及WiFi、拨号等连接方式如何在iOS平台上运作?它们有何利用价值?请扼要地谈谈你的观点。
  • iPad 2,iPad mini 1-3,iPad Retina,iPad Air 2,iPhone 5、5S、6以及6+在硬件性能方面有何差异?这对注重性能的应用有何限制?
关于编程
  • Cocoa Touch包含什么?不包含什么?
  • 为什么Cocoa Touch的类名称是以两个大写字母开头的?
  • Swift和Objective-C分别是什么?两者相比有何不同之处,又有何联系?
  • 为什么Optional在Swift语言中非常重要?
  • 请解释一下NSError。在Swift中,什么情况下能使用NSError ,什么情况下不能?
  • 请说明如何使用Instancetype及其重要性。
  • 在Swift中,什么时候该用let,什么时候该用var?
  • 为什么map函数必不可少?该在什么情况下使用它?
  • 你会选择什么工具来追踪Bug?
  • 如果在Cocoa中发现一个Bug,你会如何处理?
  • 如果应用的新版本出现了Regression的情况,该如何补救?如何防止用户在使用过程中遇到新的Bug?
  • Objective-C的类是怎么执行的?Objective-C Runtime是如何实现的?
  • iOS是如何提高安全性,保护用户隐私信息的?
  • 应用可以下载并即刻显示数据。如何根据MVC来判断下载的最佳位置?
  • MVC对代码库(Codebase)的设计有何影响?
  • Controller Life-Cycle以及View Life-cycle分别有哪些调试方法?
  • iOS使用的是哪些设计模式(Design Patterns)?你的代码库使用的是哪些设计模式?
  • iOS提供哪些线程?如何充分利用这些线程?
  • 请简要描述一下UIScrollView的执行过程。它是如何响应手势识别(Gesture Recognizer)、多点触控(Multi-Touch)和Run Loop的?
  • 你认为iOS需要添加或改进哪些API?
关于界面
  • iPhone5、6、6+以及iPad Air 2的屏幕分辨率分别是多少?
  • 分辨率的计算单位是什么?
  • 请解释一下Interface Builder的作用以及NIB文件的概念。
  • iOS UI的图像储存类型是什么?
  • 请描述一下Storyboard和标准NIB文件的差别。
  • 设备状态栏(Device Status Bar)是什么?高度如何?是否透明?在手机通话或者导航状态下,它是如何显示的?
  • 导航栏(Navigation Bar)是什么?能否拿出你的iPhone,指出你下载的哪些应用运用了导航栏?
  • 选项卡(Tab Bar)和工具栏(Toolbar)分别是什么?两者之间有何共同点和不同点?
  • 表视图(Table View)是什么?集合视图(Collection View)又是什么?
  • 什么时候用“弹出(Popover)”属性最为合适?
  • Split-view Controller是什么?
  • 选取器视图(Picker View)适合存放哪类内容?
  • 应该在什么情况下使用标签、文本域和文本视图?
  • 分段控件(Segmented Control)的作用是什么?
  • 模态视图(Modal View)是什么?
  • iOS通知属于什么类型?
关于设计
  • iOS应用图标是指什么?请尽可能详细地描述一下。
  • 最小尺寸和最大尺寸的应用图标分别是什么样子的?
  • 应用图标能否包含透明的部分?
  • Newsstand的图标与常规应用有何不同?
  • 请解释一下启动画面(Launch Images)。
  • 自动布局(Auto Layout)的作用是什么?请概括一下它是如何运行的。
  • 设计软件时为什么要加上动画?
  • 请描述一下软件设计中的交互和Feedback有什么作用。
  • 设计iPhone和iPad应用时,应分别考虑哪些因素?
  • 请描述一下原型设计对于软件开发的意义。其作用是什么?
关于App Store
  • 应用内购买(In-App Purchases)是怎么回事?IAP能够为用户带来哪些新体验?
  • 你是否在App Store上发布过应用?能否概括一下过程?
  • iTunes Connect是什么?
  • Provisioning Profiles是指?
  • App ID是什么?
  • iOS的开发和发布签名证书有何异同?
  • 如何使用TestFlight?通过Ad-hoc发布应用的话,该如何使用UUID?
  • 应何时验证购买收据?
  • 发布iAds(苹果平台广告)有哪些要求?
趣味问答
  • 最近有没有开发什么好玩的东西?你最引以为豪的作品是什么?
  • 谈一谈你常用的开发工具都有哪些优势?
  • 你最敬佩的独立Mac或者iOS应用开发者是谁?
  • 最喜欢什么项目?哪种类型的?
  • 你觉得Xcode有哪些需要改进的地方?
  • iOS上你最喜欢哪些API?
  • 是否有最中意的错误报告?
  • 你最爱以哪种方式来检验一项新技术是否好用?
  • 为什么词典被称作Dictionaries,而不是HashTable或HashMap?
其他参考

文章来源:GitHub

原创文章,作者:ioued,如若转载,请注明出处:https://www.iamue.com/3569/

(0)
iouedioued
上一篇 2015-01-29 09:41
下一篇 2015-02-02 11:45

相关推荐

  • 5个设计小技巧,创造令人愉悦的用户体验

    我们常常探讨用户体验,那么用户体验到底是什么?许多人认为,用户体验更多的是关乎产品的可用性(产品是如何运作的)。而实际上,用户体验远不止于一个“能用”的东西,它是关于用户的主观感受的。通过设计为可用的产品增添令人愉快的体验,同用户产生情感联系,这才是用户体验设计所要做的事情。个性是一种神秘的力量,它吸引一部分人,并且让我们与另外一部分人区分开来。

    2017-05-13
  • 听Google设计团队讲述新logo是如何被设计出来的

    [核心提示] Google 为什么要换 logo,这个新 logo 是以什么样的理念和思路设计出来的?来听听 Google 设计团队自己的解释吧~

    2017-06-04
  • 【干货】2014年微博话题年终盘点

    阿西导读:对于交互设计师来说,需要掌握很多信息。以免在自己的产品设计中让用户感觉落伍,适时添加一些热词的交互会提升产品体验,下面来瞅一瞅最火的话题先 。 本报告在进行2014年话题盘点时,以专题形式进行。…

    2015-01-20
  • 用户体验设计中的简单与复杂

    当大大小小的界面设计案都做过一轮之后,你就会发现,做一台小小的MP3拨放器,跟搞一台智能型机器人,过程中会遇到的问题,其实都是很类似的。所谓的简单与复杂,并不在于案子的规模,而在于你看事情的角度。 &nbsp…

    2014-12-05
  • 交互设计师如何做竞品分析

    竞品分析的目的并不是为了抄袭,而是为了超越竞品。

    2017-05-15
  • 为了App更新,程序猿都变成段子手了

    头图来自:flickr 本文转自歪楼(easy1414),已获得其授权。 这年头混你们互联网创业圈真是太难了。 按着互联网思维,连修bug的程序猿小哥们都被逼得寂寞如雪。 有的自带牛逼气质: 有的在App更新日志里写起了诗: …

    2016-01-26
  • Axure RP 7.0 安装教程

    Axure RP是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。作为专业的原型设计工具,它能快速、高效的创建原型,同时支持多人协作设计和版本控制管理。•可以在公众号后台回复『042』或『Axure RP』获取下载链接。安装步骤:❶下载并解压安装包。❷双击安装程序。❸同意,并下一步。❹选择安装路径,下一步。❺下一步。❻取消勾选,点击Finish结...

    2018-03-20
  • 我们招人啦:高级UX/UI设计师

    For EN version, clickhere生活在笔驰!想不想为前卫的客户创造出杰出的作品?加入我们紧密团结,具有才华,能吃苦耐劳的大家庭,你将会为不同行业构建最具深刻印象的品牌形象。你将迎接带有刺激和创造性的挑战。你会和一个带有创新思维的团队一起工作,不断地推动自己,让自己继续迈向未知的步伐。有时混乱,但永远是具有想象力的一个过程,我们能够专注于做出一个非凡的设计并将它和乐趣结合到一起。我们需要的高级UX/UI设计师!我们正在寻...

    微信热点 2018-04-05
  • 一个APP的视觉风格:配图是一个重要的,同时极易被忽略的点

    在我们常规意义上组成一个APP的视觉风格有几大元素——颜色、交互元素、字体、阴影、ICON的图形等,但是有一个总容易被设计师们忽略的元素,它能给与用户一个非常直观的视觉记忆,大家却总是忽略,甚至做的很糟糕。那就是APP里面的配图。

    2017-05-12
  • 从「不修边幅」到「衣冠齐楚」,Google是这样一步步变漂亮的

    在很多人眼里,Google的产品一直与优雅设计无关。但现在,搜索巨人比其他互联网巨头都懂得如何打造一款设计优雅的软件(互联网)产品,如果你不相信这个判断,不妨放下你对苹果产品的钟爱,做个深呼吸,好,现在我们来对比一下Google与苹果在移动操作系统的设计:Android vs iOS。

    2017-06-05