百度移动云可穿戴部门iOS工程师社招面试经历分享

一面

1、Objective C runtime libraryObjective C的对象模型,block的底层实现结构,消息发送,消息转发,这些都需要背后C一层的描述,内存管理。

2、Core Data:中多线程中处理大量数据同步时的操作。

3、Multithreading:什么时候处理多线程,几种方式,优缺点。

4、Delegate NotificationKVO other 优缺点

5、runtime有一点追问,categorymethod 的实现机制,class的载入过程。


1面整体感觉不错,40分钟不到,感觉回答的还可以。被通知一会儿二面。


二面

1、设计一个progress bar解决方案,追问到 Core GraphicCGPathmaskLayer

2、设计一个popup view被追问到 keyWindowUIWindowlayerUIView hierarchy

3、从设计模式的角度分析DelegateNotificationKVO的区别。

4、自己写的library和开源的项目中用到哪些设计模式,为什么使用,有哪些好处和坏处,现在能否改进。

5、设计一个方案来检测KVO的同步异步问题。

6、willChange didChange的不同点,有没有其他地方也有类似情况,然后被追问到Core Data ***t object

7、设计一个KVO系统。

8、Multithreading,什么时候采用Multithreading方案,以及理由。

9、系统还有哪些在后台运行的thread

10、view life cycleiOS6之后的不同以及内存管理。

11、Multithreading中常常遇到的问题,追问到死锁,优先级翻转,线程池等。

12、百度有一个亿级别的APP需要统计用户行为的日志系统。不使用数据库,只是使用普通文件,设计一个系统。被追问到内存映射文件。


13、算法考了3个。一个是如何求2个集合的交集。一个是百亿数据中查找相同的数字以及出现的次数。还有一个是牛客题霸上的原题,大家可以去看看:NC78 反转链表

14、自己对可穿戴设备的感受

15、自己如果进入这个team,自己准备做那方面的事情

16、自己未来规划


三面

3面的时间和1面差不多40分钟,问了几个问题,主要是考察精神层面的东西。


1、为什么做Windows Mobile

2、为什么来百度

3、你认为为什么iPhone 可以成功,哪些点吸引你?

4、如何看待AppStore 现在的生态圈

5、后面就是他说的多一些,介绍团队遇到的困难以及14年团队的打算。

#面经##社招##百度##iOS工程师#
全部评论
14年团队的打算?
点赞 回复
分享
发布于 2020-12-02 14:19

相关推荐

1. C语言的函数调用原理是什么?2. 什么是封装、继承、多态?3. 深拷贝和浅拷贝有何区别?4. 友元在C++中的含义是什么?5. struct和class在C++中的区别是什么?6. 构造函数和析构函数的作用是什么?7. CPU、MPU、MCU、SOC、SPOC有何区别?8. 交叉编译是什么?为何需要交叉编译?9. 嵌入式系统基于ROM和基于RAM的运行方式有何区别?10. 什么是哈弗结构和冯诺依曼结构?11. ARM流水线技术的概念是什么?12. ARM有多少个32位寄存器?13. ARM指令集分为几类?14. ARM处理器有几种工作状态?15. ARM体系中函数调用时参数是如何传递的?16. 锁相环的概念是什么?17. 中断和异常有何区别?18. 中断和DMA的区别是什么?19. 中断的响应执行流程是怎样的?20. 中断和轮询的区别是什么?21. 同步传输和异步传输有何区别?22. RS232和RS485的区别是什么?23. 常用的GCC指令有哪些?24. 硬中断和软中断有何区别?25. 中断为何要分为上半部和下半部?26. 如何求解整数型的二进制表示中1的个数?27. 不使用第三个变量如何变换两个变量的值?28. 给定一个整型变量a,如何设置a的第3位?如何清除a的第3位?29. 什么是虚函数?30. C++如何实现多态?纯虚函数的概念是什么?  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
转发
头像
不愿透露姓名的神秘牛友
05-08 15:13
vivo 嵌入式 20*15 硕士211
点赞 评论 收藏
转发
3 15 评论
分享
牛客网
牛客企业服务