- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
探秘百度移动面试 iOS试题分享
百度移动云可穿戴部门的面试经历,面试官都非常热情友好,一上来到弄的我挺不好意思的。下面记录一下自己的面试过程,因为我真的没啥面试经验,需要总结下。
AD:
百度移动云可穿戴部门的面试经历,面试官都非常热情友好,一上来到弄的我挺不好意思的。下面记录一下自己的面试过程,因为我真的没啥面试经验,需要总结下。
1面
Objective C runtime library:Objective C的对象模型,block的底层实现结构,消息发送,消息转发,这些都需要背后C一层的描述,内存管理。
Core Data:中多线程中处理大量数据同步时的操作。
Multithreading:什么时候处理多线程,几种方式,优缺点。
Delegate, Notification,KVO, other 优缺点
runtime有一点追问,category,method 的实现机制,class的载入过程。 1面整体感觉不错,40分钟不到,感觉回答的还可以。被通知一会儿二面。
2面
二面的时间非常长,差不多将近3个小时,直接面到快下班了。1面问的主要是知识点。2面问主要考察的是设计解决方案的能力,另外辅助追问的方式,考 察深度和广度,回答过程中需要列出适合的具体例子,方案还需要细致到具体的关键的函数名称,方法。另外考察设计模式的理解,最后还考了算法。因为时间太长,这里记录一些重要的问题。
设计一个progress bar解决方案,追问到 Core Graphic、CGPath、maskLayer。
设计一个popup view被追问到 keyWindow、UIWindow的layer、UIView hierarchy。
从设计模式的角度分析Delegate、Notification、KVO的区别。被追问到自己写的library和开源的项目中用到哪些设计模式,高山茶 eupai.net为什么使用,有哪些好处和坏处,现在能否改进。
算是问题3的追问,设计一个方案来检测KVO的同步异步问题。willChange和 didChange的不同点,然后被追问到有没有其他地方也有类似情况,被追问到Core Data 中falut object。
这个是问题4的追问,设计一个KVO系统。
Multithreading,什么时候采用Multithreading方案,以及理由。追问到系统还有哪些在后台运行的thread,被追问到view life cycle、iOS6之后的不同以及内存管理。
Multithreading中常常遇到的问题,追问到死锁,优先级翻转,线程池等。
百度有一个亿级别的APP需要统计用水草玛瑙 mnwg.net户行为的日志系统。不使用数据库,只是使用普通文件,设计一个系统。被追问到内存映射文件。这个问题本来是服务器的问题,我表示从来没做过,回答很瞎。
算法考了2个。一个是如何求2个集合的交集。另一个是百亿数据中查找相同的数字以及出现的次数。
最后还补充了几个小问题
自己对可穿戴设备的感受
自己如果进入这个team,自己准备做那方面的事情
为什么创业,自己未来规划
一会被告知3面,但是因为太晚,约到次日下午3面。
3面
3面的时间和1面差不多40分钟,问了几个问题,主要是考察精神层面的东西。
为什么做Windows Mobile
为什么改iOS
为什么来百度
为什么iPhone 可以成功,那些吸引你
如何看待AppStore 现在的生态圈
后面就是他说的多一些,介绍团队遇到的困难以及14年团队的打算。最后他给了我2句话的评价,我觉得还是蛮对的。
选择的时候都是经过深思熟虑的
有野心,wanna make a difference
有意思的是,他说他也wanna make a difference。
总结
整体还是挺尴尬的,几乎所有的知识点都是1,2年前积累的,13年积累的东西基本上没有,都是一些虚的东西。 2面挺好的,暴露了自己不少问题,设计模式那部分几乎没有概念了。
最后
面试通过,我个人觉得2面我的问题在思考设计模式上面少,另外在window hierarchy 上面有不足。设计 KVO 上面在 didChange上面考虑不足。这些都是被当场戳穿的。 有一点疑虑的是整个面试中并没有问到Core Animation。这个还是我蛮喜欢的部分。Anyway 个人很喜欢追问的方式,很容易考察出来理解的深度和广度。
整个面试收获很大,发现了很多不足。另外1,2面的面试题目个人觉得也不错。这里分享给大家。【编辑推荐】探索iOS开发中的消息传递机制iOS项目目录结构和开发流程汇总iOS开发中需要用到的开源库总结分享10大iOS开发者最喜爱的库Android和iOS如何防御恶意应用【责任编辑:闫佳
文档评论(0)