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

相关推荐

  • 用户体验才是王道

    出生在委内瑞拉的亚历山德拉(ALEXANDRA VASQUEZ),在美国的波士顿大学毕业后不久就结婚了,婚后的她与德国籍的先生定居在柏林。和许多年轻女孩一样,对于新成立的家,亚历山德拉有许多憧憬,急着想布置有个人风格的家居特色。〝我去了大卖场,买了所有成家的基本家具,从床、沙发到餐桌。当这些东西送到我家时,我意识到我的家一点也不温暖,看起来像是一个商场的陈列间。它缺乏属于我和先生的个性以及属于自己生活的种种细节。〞〝意识到了这点后,对于...

    2018-02-03
  • 帮你梳理微交互的五个基本要素

    微交互应该火热了相当一段时间了。它成为话题中心很大程度是因为微交互所带来的令人动容的体验。如果说要界定微交互,那么它应该是围绕着用户完成单个任务前后而存在的微妙的交互和效果。小贴士:奖励机制是驱动用户的核心,奖励越强,产生的习惯效果也就越明显。小贴士:动效应当具有足够持久的生命力,所以设计的时候,应当思考它是否会在看过100次之后让人觉得厌烦?它是否清晰可见,或者完全无法引人注意?小贴士:用充满情感和人的姿态来同用户交流,这是让你的UI和交互变得更加温暖的最快的方式。小贴士:应当在你的设计中保持KISS原则(KISS 原则是用户体验的高层境界,简单地理解这句话,就是要把一个产品做得连白痴都会用,因而也被称为“懒人原则”),不要让那个你的微交互成为一个宏交互。

    2017-05-14
  • 译文 | iOS 10 人机界面设计指南 (完结)

    iOS10发布了,苹果遵循了一切从简但又增加了一些提升用户体验的功能,比如向开发者开放了更多接口,设计者又如何跟随iOS的步伐做好产品设计呢?本文是系列文章的完结篇,enjoy~Note
    模板图片(template image)会丢弃图片本身的色彩,而采用图片视图使用的色调。请参阅UIImage中的UIImageRenderingModeAlwaysTemplate。TIP  对于多行或是多样式的文本输入,请使用文本视图。请参阅Text Views。

    2017-05-02
  • UCD,以用户为中心的设计

    前言:一直有在梳理自己的知识结构,也靠这些所谓经验做了几年行业培训,今年是从业的第十一年,我觉得差不多是时候把这些最初来自同行、互联网和书籍的知识再还给行业,我会把所有所得分章节逐渐整理发出,希望能对行业尽一份绵薄之力,同时也作为一种仪式,好让自己重新出发。任何项目都从一个idea开始,你走在路上,蹲在马桶上;吃着饭,看着电视,灵光一闪,觉得大致可以做一个什么东西来实现世界的爱与和平,这就是一个愿景的诞生;来源无法归纳,却是后面折腾的开始。
    然后就是“分析研究”,分析市场,分析技术,分析用户,一边分析一边验证愿景;顺利通过这个环节,得到的就是设计需求。需求的来源多元,组成亦是多元。需求得到,就要进行梳理,以确定下来;这就是“需求过滤”或者“需求定义”。
    接下来就是把需求转化成对应的功能和数据,这是产品的骨骼血肉,功能数据要满足需求。比如需求是解渴,对应的功能就能是可乐或者矿泉水,但不能是热干面。从这个环节起,产品从抽象变具体。
    功能数据有了,长什么样?我们要把它们设计出来。设计分成“概念设计”和“细节设计”两个阶段,设计又分为“交互设计”和“视觉设计”两条线,所以就有了“概念交互和视觉设计”及“细节交互和视觉设计”。
    设计过程中需要进行“测试验证”,验证的结果用来迭代设计,所以大家看到有个双箭头。设计好了,提交研发。在这个阶段,我们做“研发支持”,也就是传达设计需求给研发,并且做研发过程中针对突发情况进行及时的设计修改;比如某个提示的补漏之类的。
    最后是“设计验收”。一般来讲,刚研发出来的版本多少有些变形有些不符合设计需求,所以我们要验收。列出结果清单,打回去重新调整。调整到什么程度才可以,要看具体到项目周期和策略。举个例子:我们筛选好约好被试(测试用户),分配给他们分析产品和分析任务,比如对比京东和淘宝的支付流程,让他们回去好好体验一个礼拜,让用户熟悉产品以心里产生评价。然后回到我们实验室,再走一遍,这一遍是被观察。然后就是访谈,询问他们的各种维度的评价,比如对于收货地址选择方式的偏好,最后我们统计归纳。这就是让用户来帮我们分析。“其实你什么都没有做错,错在你太老了。我们最早看到Snapchat,外国13-18岁小孩在用,我们高管用了觉得好傻好无聊,看不到价值,只投了一点,后来涨得很快。这个公司我们副总去过,就是海边一个玻璃房,很小的公司,感觉一个石头就把他们击破了。当时只有2000万美金,我们没进去,现在远远超过我们想象,百亿美金。

    2017-05-31
  • 设计总结|基于大屏设计的QQiPad主题

    主题一直是QQiPad比较薄弱的一块,在用户的强烈呼声下,项目组决定在6.5版本上线新的主题,为此做了大量的尝试和思考。基于大屏设计的QQiPad主题有何特点?应该如何设计?在此分享本次主题设计总结。

    2017-05-09
  • 用户体验设计中最常见的误解

    UX Myths网站收集了很多关于用户体验设计中最常见的误解和解释了为什么他们不适用。现在将这些经验研究整理出来,为各位设计从业者做参考,避免依赖个人的主观经验来做判断。建议你阅读完之后,还是应该结合自身的经验来审视你的设计是否满足用户的需求。

    2017-05-25
  • 一篇文章读懂用户体验(上)

    前言:一直有在梳理自己的知识结构,也靠这些所谓经验做了几年行业培训,今年是从业的第十一年,觉得差不多是时候把这些最初来自同行、互联网和书籍的知识再还给行业,我会把所有所得分章节逐渐整理发出,希望能对行业尽一份绵薄之力,同时也作为一种仪式,好让自己重新出发。

    2017-06-01
  • 【CIO说】花椒直播韩三普:用户体验与核心技术才是硬实力

    本期推荐韩  三  普花 椒 直 播 CTO社交直播作为一个年轻的行业,”高富帅”表现出的强大增长和吸金实力虽让业外人士倍感羡慕,然而作为一个严重依赖技术、用户体验要求极高的行业,流量等时代红利已经不能称其为门槛。如何打造平台差异化的竞争力?近日,花椒直播CTO韩三普接受了ENI经济和信息化网的采访,分享了花椒直播快速增长背后技术所提供的强大支持。并结合当下创新趋势,分享了直播在其中可发挥的作用。亮点提炼如何打造平台差异化的竞争力,以核...

    2018-04-26
  • 【译】毁掉移动应用设计的6个想当然

    过去几年来,用户交互进化如此迅速,设计师们都快跟不上了——导致在创建移动应用时,从其他媒介(甚至陈旧的应用设计)中照搬交互设计技巧。 其实重要的是要记住:交互模式和设计要随着媒介的改变而变化。 这种思想…

    2016-02-01
  • 我们如何创造先进的经验生态系统?

    "物联网是有趣的因为它迫使我们重新思考我们有与对象的交互范例 — —,东西是不同的关于智能对象与 '哑巴' 一个与我们接触"Thomas Wendt 写在他最近的 UX 杂志文章,"互联网的东西。"和手上的工作

    2015-01-03