iOS开发—设计面试题汇总

1.常见问题

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

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

是否参与过GitHub项目?

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

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

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

请描述一下Instruments及其作用

2.关于iOS技术

请解释一下Handoff是什么,并简述它是如何实现iOS、Mac/网页应用互通的。

iOS扩展是指?能否列举一些热门或常见的范例?

VoiceOver是什么?请举例解释一下iOS中的辅助功能(Accessibility)。开发者如何使用这些功能?

请解释一下NSUserDefaults。就你而言,你会如何在磁盘中对数组对象进行序列化?

AirPlay是如何运行的?换做是你,你会如何通过编程提高应用的实用性以及演示效果?

传感器,IO以及WiFi、拨号等连接方式如何在iOS平台上运作?它们有何利用价值?请扼要地谈谈你的观点。

iPad 2,iPad mini 1-3,iPad Retina,iPad Air 2,iPhone 5、5S、6以及6+在硬件性能方面有何差异?这对注重性能的应用有何限制?

3.关于编程

Cocoa Touch包含什么?不包含什么?

为什么Cocoa Touch的类名称是以两个大写字母开头的?

SwiftObjective-C分别是什么?两者相比有何不同之处,又有何联系?

为什么OptionalSwift语言中非常重要?

请解释一下NSError。在Swift中,什么情况下能使用NSError ,什么情况下不能?

请说明如何使用Instancetype及其重要性。

Swift中,什么时候该用let,什么时候该用var

为什么map函数必不可少?该在什么情况下使用它?

你会选择什么工具来追踪Bug

如果在Cocoa中发现一个Bug,你会如何处理?

你认为iOS需要添加或改进哪些API

4.关于界面

请解释一下Interface Builder的作用以及NIB文件的概念。

iOS UI的图像储存类型是什么?

请描述一下Storyboard和标准NIB文件的差别。

设备状态栏(Device Status Bar)是什么?高度如何?是否透明?在手机通话或者导航状态下,它是如何显示的?

导航栏(Navigation Bar)是什么?能否拿出你的iPhone,指出你下载的哪些应用运用了导航栏?

选项卡(Tab Bar)和工具栏(Toolbar)分别是什么?两者之间有何共同点和不同点?

5.关于设计

iOS应用图标是指什么?请尽可能详细地描述一下。

最小尺寸和最大尺寸的应用图标分别是什么样子的?

应用图标能否包含透明的部分?

Newsstand的图标与常规应用有何不同?

请解释一下启动画面(Launch Images)。

自动布局(Auto Layout)的作用是什么?请概括一下它是如何运行的。

设计软件时为什么要加上动画

结论

最好能始终跟上iOS世界的变化,那对你来说是很有利的.即使你有很大概率在新工作中并不需要知道所有那些知识,对新知识持开放态度总是好的,并且,你可以让面试官知道你一直在不断的学习。

你可能感兴趣的:(ios)