淘宝、Never China、蚂蚁金服、百度ios社招面经

淘宝

面试过程:

1、首先介绍自己做过的项目,在项目中承担的角色,遇到的技术难点等等等。

2、Runtime的消息转发机制

3、Runloop的工作原理

4、内存管理

5、Block

6、手撕代码。牛客题霸上的原题,可以去看看:NC76 用两个栈实现队列


Never China

面试过程:

整个面试过程三个小时,到公司首先要求一个小时内完成一份全英文面试题,有9道基本概念的题,1道修改程序的题,前9道还是没有压力的,程序修改题给出一段代码然后指出不合理的地方并修改。之后面试官拿着我做的答案一道道讲解,要求的是举一反三挖的比较深,直到挖到我回答不出来为止。最后问了一个思维方面的问题,给了我半个小时的思考时间。

相关题目:

1、GCD

2、定时器的几个类方法底层分别是怎么实现的([NSTimer timerWithTimeInterval:repeats: block:]等)

3、KVOdelegate、通知的区别以及底层实现

4、StructUnion主要区别

5、思维题:情景:20个主人,20条狗,在同一个小区每天在同一个地方同时遛狗,狗主人绝对聪明,一旦发现自己家的狗是疯狗,回家之后就会用枪把狗打死。第一天晚上遛狗回家后没有听见枪响,第二天晚上遛狗回家后没有听见枪响,第三天晚上遛狗回家后听见多声枪响,请问有多少条疯狗。

条件:

①狗主人不能直接发现自己家的狗是否是疯狗,可以直接发现别人家的狗是否是疯狗,凭此可以推断自己家的狗是否是疯狗

②狗主人遛狗期间不会有任何交谈

③疯狗不会传染


蚂蚁金服

面试过程:

1、iOS11的新特性

2、点击应用图标到启动应用整个过程,系统进行了什么操作

3、swift相关知识

4、Apple pay的支付流程


百度

第一轮面试:

1、写一段程序判断文本框内输入的IP地址是否合法

2、+的实现逻辑

3、runtime的相关知识

4、autorelease的使用场景

5、plist读写操作如何进行锁管理

6、NSNotification实现逻辑,子线程中给主线程发送通知,主线程是否会处理通知

7、编译器怎么检测#import#include导入多次的问题,三方库导入时如何设置""<>


第二轮面试:

1、问的基本都是关于业务方面以及性能方面的问题

2、还问了组件化的问题,怎么修复线上卡顿、崩溃问题,项目结构等等。

#百度##社招##蚂蚁集团##阿里巴巴##面经##iOS工程师#
全部评论

相关推荐

1 19 评论
分享
牛客网
牛客企业服务