成都ios培训
达内成都高升桥中心

15023458194

热门课程

百度ios面试总结!

  • 时间:2018-02-12 13:38
  • 发布:成都达内ios课程首页
  • 来源:ios培训

  
一面  
ObjectiveCruntimelibrary:ObjectiveC的对象模型,block的底层实现结构,消息发送,消息转发,这些都需要背后C一层的描述,内存管理。  
CoreData:中多线程中处理大量数据同步时的操作。  
Multithreading:什么时候处理多线程,几种方式,优缺点。  
Delegate,Notification,KVO,other优缺点  
runtime有一点追问,category,method的实现机制,class的载入过程。  
1面整体感觉不错,40分钟不到,感觉回答的还可以。被通知一会儿二面。  
二面  
二面的时间非常长,差不多将近3个小时,直接面到快下班了。1面问的主要是知识点。2面问主要考察的是设计解决方案的能力,另外辅助追问的方式,考察深度和广度,回答过程中需要列出适合的具体例子,方案还需要细致到具体的关键的函数名称,方法。另外考察设计模式的理解,还考了算法。因为时间太长,这里记录一些重要的问题。  
设计一个progressbar解决方案,追问到CoreGraphic、CGPath、maskLayer。  
设计一个popupview被追问到keyWindow、UIWindow的layer、UIViewhierarchy。  
从设计模式的角度分析Delegate、Notification、KVO的区别。被追问到自己写的library和开源的项目中用到哪些设计模式,为什么使用,有哪些好处和坏处,现在能否改进。  
算是问题3的追问,设计一个方案来检测KVO的同步异步问题。willChange和didChange的不同点,然后被追问到有没有其他地方也有类似情况,被追问到CoreData中falutobject。  
这个是问题4的追问,设计一个KVO系统。  
Multithreading,什么时候采用Multithreading方案,以及理由。追问到系统还有哪些在后台运行的thread,被追问到viewlifecycle、iOS6之后的不同以及内存管理。  
Multithreading中常常遇到的问题,追问到死锁,优先级翻转,线程池等。  
百度有一个亿级别的APP需要统计用户行为的日志系统。不使用数据库,只是使用普通文件,设计一个系统。被追问到内存映射文件。这个问题本来是服务器的问题,我表示从来没做过,回答很瞎。  
算法考了2个。一个是如何求2个集合的交集。另一个是百亿数据中查找相同的数字以及出现的次数。  
还补充了几个小问题  
自己对可穿戴设备的感受  
自己如果进入这个team,自己准备做那方面的事情  
为什么创业,自己未来规划  
一会被告知3面,但是因为太晚,约到次日下午3面。  
三面  
3面的时间和1面差不多40分钟,问了几个问题,主要是考察精神层面的东西。  
为什么做WindowsMobile  
为什么改iOS  
为什么来百度  
为什么iPhone可以成功,那些吸引你  
如何看待AppStore现在的生态圈  
后面就是他说的多一些,介绍团队遇到的困难以及14年团队的打算。他给了我2句话的评价,我觉得还是蛮对的。  
选择的时候都是经过深思熟虑的  
有野心,wannamakeadifference  
有意思的是,他说他也wannamakeadifference。

上一篇:这大概是你遇见过相当古怪的面试题了!
下一篇:写给广大非科班iOS开发者的一篇面试总结
选择城市和中心
贵州省

广西省

海南省