iOS 各种常见问题

作者: 神魔狼 | 来源:发表于2017-05-03 16:36 被阅读210次

    常见问题

    你昨天/这周学习了什么?
    自己扯
    
    你为什么热衷于软件开发?
    自己扯
    
    你对哪一种控制系统比较熟悉?
    自己扯
    
    是否参与过GitHub项目?
    自己扯
    
    是否参与过GitHub或其他同类型网站的iOS开源项目?
    自己扯
    
    请描述一下你的iOS应用开发流程。
    自己扯
    
    是否熟知CocoaPods?它是什么?如何运行的?
    自己扯
    
    请概括一下你对软件授权的理解,及其对软件开发的影响。

    参考链接:http://www.cnblogs.com/ioriwellings/p/5066652.html

    1.(非对称加密就是指加密密钥和解密密钥是不同的,而且加密密钥和解密密钥是成对出现。
        非对称加密又叫公钥加密,也就是说成对的密钥。
        著名的RSA算法就是非对称加密算法,RSA以三个发明人的首字母命名。
        非对称加密算法如此强大可靠,却有一个弊端,就是加解密比较耗时。
        因此,在实际使用中,往往与对称加密和摘要算法结合使用。)
    2.(摘要算法是指,可以将任意长度的文本,通过一个算法,得到一个             
        固定长度的文本。
        这里文本不一定只是文本,可以是字节数据。
        典型的摘要算法,比如大名鼎鼎的MD5和SHA。)
        理解了非对称加密和摘要算法,来看一下数字签名。实际上数字签名就是两者结合。
    3.数字签名
    假设,我们有一个APP需要发布,为了防止中途篡改APP内容,保证APP的完整性,以及APP是由指定的私钥发的。
    首先,先将APP内容通过摘要算法,得到摘要,再用私钥对摘要进行加密
    得到密文,将源文本、密文、和私钥对应的公钥一并发布即可。
    那么如何验证呢?验证方首先查看公钥是否是私钥方的,然后用公钥对密文进行解密得到摘要,将APP用同样的摘要算法得到摘要,
    两个摘要进行比对,如果相等那么一切正常。这个过程只要有一步出问题就视为无效。
    
    请概括一下你在构建iOS应用时的测试过程。iOS应用如何实现对其他语言、日期格式以及货币单位的支持?

    自己看: http://www.cocoachina.com/ios/20151120/14258.html

    请描述一下Instruments及其作用。

    自己看: http://www.jianshu.com/p/92cd90e65d4c

    关于iOS技术

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

    mac iphone ipad 三者互联通信,Handoff 可与邮件、Safari、Pages、Numbers、Keynote、地图、信息、提醒事项、日历和通讯录配合使用,并且苹果还允许 Handoff 功能被集成在第三方应用上,可见此功能的潜力将是非常大的。举一个简单的例子,当你在 iPhone 上编写一封邮件时,走到 Mac 电脑旁边,而这时邮件并没有编写完成,此时就可以直接在 Mac 继续编写那封未完成的邮件。相信这对于很多朋友将会是一个非常实用,人性化的功能。但是也有不方便的时候,比如来了电话,几个设备同时响铃,而且有时候信号不好,响铃不会因为你接起一个设备以后其他设备自动挂断。

    如何实现??? 不知道!!!

    iCloud包含了哪些技术与服务?

    icloud是同步备份服务。跟网盘是两回事。
    音乐图片存到icloud也只是供您将来恢复用的,如果你在本地删除了音乐照片,不仅仅在手机上无法查看使用,同步之后icloud云端对应的音乐图片也会删除掉,这就叫同步。
    icloud是一系列服务的技术封装,主要包括各个平台的信息同步(比如你在手机上存了某个人的号码,那登录了该iCloud账号的ipad上的通讯录内也会有这个号码)
    另一个主要功能就是备份恢复,也就是说你手机初始化之后,可以通过之前在iCloud的备份直接进行内容恢复。
    而网盘是对指定文件的上传下载,和备份、同步的概念是有区别的!也就是说你无法像操作网盘一样把暂时不用的文件放在icloud上,想用的时候再取回来。

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

    作用:
    · 能为某个类附加额外的属性,成员变量,方法声明
    · 一般的类扩展写到.m文件中
    · 一般的私有属性写到类扩展
    使用格式:

    @interface Mitchell()
    //属性
    //方法
    @end
    
    HealthKit是什么?

    http://www.cocoachina.com/ios/20140915/9624.html

    HomeKit是什么?

    http://www.cocoachina.com/ios/20150324/11411.html

    Apple Pay是什么?能否描述一下如何在应用中使用Apple Pay?

    http://www.cocoachina.com/ios/20141024/10026.html

    请解释一下iOS应用沙盒机制。
    C6C05390-AFD6-42D4-9491-3F82DE8C2EC1.png

    产品经理们是如何越过 iOS 沙盒机制的?

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

    VoiceOver是苹果“读屏”技术的名称,属于辅助功能的一部分。VoiceOver可以读出屏幕上的信息,以帮助盲人进行人机交互。
    http://www.cocoachina.com/ios/20160509/16142.html
    实践:http://blog.csdn.net/CHENYUFENG1991/article/details/49207669

    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?

    相关文章

      网友评论

        本文标题:iOS 各种常见问题

        本文链接:https://www.haomeiwen.com/subject/iotltxtx.html