淘宝
面试过程:
1、首先介绍自己做过的项目,在项目中承担的角色,遇到的技术难点等等等。
2、Runtime的消息转发机制
3、Runloop的工作原理
4、内存管理
5、Block
6、手撕代码。牛客题霸上的原题,可以去看看:NC76 用两个栈实现队列
Never China
面试过程:
整个面试过程三个小时,到公司首先要求一个小时内完成一份全英文面试题,有9道基本概念的题,1道修改程序的题,前9道还是没有压力的,程序修改题给出一段代码然后指出不合理的地方并修改。之后面试官拿着我做的答案一道道讲解,要求的是举一反三挖的比较深,直到挖到我回答不出来为止。最后问了一个思维方面的问题,给了我半个小时的思考时间。
相关题目:
1、GCD
2、定时器的几个类方法底层分别是怎么实现的([NSTimer timerWithTimeInterval:repeats: block:]等)
3、KVO、delegate、通知的区别以及底层实现
4、Struct与Union主要区别
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、还问了组件化的问题,怎么修复线上卡顿、崩溃问题,项目结构等等。
全部评论
(0) 回帖