iOS技能 - 最新BAT 面试题目记录

这篇博客记录了作者在美团、阿里、头条和百度的面试经历,涵盖了一面到三面的常见iOS面试题目,包括网络、内存管理、数据结构、设计模式、性能优化等多个方面。面试官关注点包括KVO、MVVM、Block、网络协议、多线程等,并涉及到一些Python基础知识。此外,还分享了面试准备和学习资源。
摘要由CSDN通过智能技术生成

关于面试题,可能没那么多时间来总结答案,有什么需要讨论的地方欢迎大家指教。主要记录一下准备过程,和面试的一些总结,希望能帮助到正在面试或者将要面试的同学吧。

 

美团

一面

1、简历上写的项目问了一遍,然后开始问知识点。

2、volley的源代码,在图片缓存部分讨论了挺长时间,http中缓存机制,

3、视觉控制器的生命周期

4、数据库

5、多线程(NSTread、NSOPeration、GCDA+block)

6、http协议get post的区别

7、手机适配一些方案

8、真机调试、项目上线注意事项

9、静态方法是否能被重写

这些大概聊了1个半小时,开始的时候还有些紧张,慢慢聊开了,就好多了,面试官的语速有点快,老是需要面试官重复一遍,我也不经意间语速也变快了,不过能看出来面试官还是很厉害的。

二面

1、id和nill代表什么(nill和NULL的区别)

2、向一个nill对象发送消息会发生什么?

3、http中的同步和异步

4、MVC 和 MVVM 的区别。

用 MVVM 实现一个业务。VC 是入口,VC1 显示 “省” 的列表,VC2 显示省关联的 “市” 的列表,VC3 显示市关联的 “县” 的列表。VC 到 VC1,VC1到 VC2,VC2 到 VC3,VC3 再跳转到 VC。相关点在于如何设计 ViewModel 和 Model ,以及 VC3 到 VC。

如何编写单元测试,比如写了一个网络库,如何测试该网络库,用例怎么写的更全面一些。

代码从 Git 上拉下来到生成 .ipa 都有哪些过程,期间都生成了什么文件。

最近读过哪些书,看过哪些框架,有什么收获。

谈到 JSPatch,问 JSPatch 是如何处理 Block 的。

自己擅长的地方。

遇到过什么样的挫折。

新增二面被问到的问题:如果没有instruments,该如何检测memory leak, zombie object 之类的问题。

三面

1、iOS是如何进行资源管理的。

2、Python比较重要的几个特性

3、网络五层结构,每一层协议,由于我网络不是很好,还问了一些其他的问题(例如MAC地址和ip地址的区别等)。

先谈了下前两面的感受和问题,又和面试官聊到了单例和全局变量的区别。

Block和Protocol的区别,Block是为了解决什么问题而使用的。

iOS 的设计模式。iOS 为什么没有类似于 Java 和 C 之类的 “Bui

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值