iOS开发/设计程序员面试题汇总

简历本 07月16日 面试攻略      面试官常问问题

01.png

关于面试,无论是对公司来讲还是开发者或设计师个人而言,都是一件耗时耗钱的事。对公司而言,当然是想要尽快找到自己需要的员工进而推进项目的运行;对于求职者来说,也是想尽快找到合适的工作,在得到回报的同时体现自己的价值。

特别是IOS行业,企业和求职者在面试这个问题上,双方确定选择相对来说都是比较漫长的。为此,小编从编程、设计、App Store等各个方面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。一方面,能够帮助HR在短时间内获取更多反馈信息,更好地甄选合适人选,而iOS开发者及设计师在寻找相关工作时,也可作为参考,为面试做好万全准备。

◆◆

iOS开发/设计程序员面试题汇总

◆◆

01
常见问题

你昨天/这周学习了什么?

你为什么热衷于软件开发?

你对哪一种控制系统比较熟悉?

是否参与过GitHub项目?

是否参与过GitHub或其他同类型网站的iOS开源项目?

请描述一下你的iOS应用开发流程。

是否熟知CocoaPods?它是什么?如何运行的?

请概括一下你对软件授权的理解,及其对软件开发的影响。

请概括一下你在构建iOS应用时的测试过程。iOS应用如何实现对其他语言、日期格式以及货币单位的支持?

请描述一下Instruments及其作用。

02
关于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+在硬件性能方面有何差异?这对注重性能的应用有何限制?

03
关于编程

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?

04
关于界面

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通知属于什么类型?

05
关于设计

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(苹果平台广告)有哪些要求?

06
趣味问答

最近有没有开发什么好玩的东西?你最引以为豪的作品是什么?

谈一谈你常用的开发工具都有哪些优势?

你最敬佩的独立Mac或者iOS应用开发者是谁?

最喜欢什么项目?哪种类型的?

你觉得Xcode有哪些需要改进的地方?

iOS上你最喜欢哪些API?

是否有最中意的错误报告?

你最爱以哪种方式来检验一项新技术是否好用?

为什么词典被称作Dictionaries,而不是HashTable或HashMap?

看完以上iOS开发/设计程序员面试题汇总,相信有人还是会有点懵,因为一下要记住那么多面试题肯定是不可能的,大家可以根据之前面试遇到过或者觉得以后会碰到的有针对性的去选择,然后加以解答,那么下次遇到的时候就得得心应手了。

END
有用

相关推荐

  • 对于要应聘销售岗位的求职者来说,为了能够更好地通过面试,不仅要增强面试应对能力,掌握相应的面试技巧,同时还需了解面试时的注意事项。今天就给各位分享应聘销售岗位需要知道的面试技巧及注意事项,一起来看看吧!01销售员面试技巧及注意事项一在准备阶段,需要注意的一点就是“自我评价”对于这一个面试必问的问题,
    2300人阅读
  • 面试是每个求职者都必须面对的一个环节,也是非常重要的一环,即使你简历做的再完美,面试表现不好,还是白搭。所以为了更好的找到理想工作,必须了解面试的整个流程。那么面试有的流程是怎样的?不同的公司对面试过程的设计会有所不同,有的公司会非常正式,有的公司则相对比较随意,但一般来说,面试可以分为以下四个阶段
    2180人阅读
  • 作为求职者,投递简历后最重要的就是面试,直接关乎你是否可以成功找到工作。可能你面试够很多次,经验丰富;也许你是一个应届生,对面试也是一知半解,但是你们是否从hr的角度来了解这个面试的流程呢?都说知己知彼,方能百战不殆。从另一个角度看待面试,也许你就明白未来,自己该如何准备面试了。◆◆HR面试前即策划
    3836人阅读
  • 一般的面试流程包括面试前、面试中、面试后三大阶段。◆◆面试流程◆◆1、自我介绍(2到3分钟,一开始略紧张,说着说着就淡定了,一般的面试官很和蔼。2、接下来问项目,其中负责什么,怎么会这么做,对应届生会问校内有没有实践,还问了一下让一份工作怎么工作的,工作日常和业绩。3、然后就是问对目前的职位的理解,
    1366人阅读
  • 刚从大学出来的学生,相对于已经工作几年的职场人来说,他们没有经验,那么在求职的道路上,他们难免会碰到一些问题,然后为此而担忧。例如:面试的时候总是碰壁,不是怯场就是表达的不好,进而一次次错过摆在他们面前的机会。如果你刚好是准备要找工作的实习生,看到了这篇文章,希望你能往下看,因为下面就是教你们怎么面
    1764人阅读