微信iOS暑假实习三次面试
4道基础算法题
1.链表反转
2.斐波拉契数列
3.有序数组A、B合并到A上,要求不开辟新空间
4.2n+1个数的数组,其中有n对一样的数,求出那个唯一存在的数
挑一个项目详细介绍,然后根据项目问问题
UI测试的原理,苹果如何把触摸事件转化成代码,你在UI测试中使用了哪些技巧
介绍事件传递机制,hitTest的原理,视图如何捕捉到事件
有哪几种本地化的方式,coredata相对于其他方式有什么优点
内存泄露的原因,处理方法
远程通知的流程。用户APP在什么状态下能获得通知,点击通知之后能做哪些处理
除了远程通知,还有哪些方法能够唤醒进入后台的APP
如何将页面中的所有关键字改变颜色,你的搜索算法是什么原理,时间复杂度是多少。假如每个模型有一个字符串,每个字符串k个,现在有n个模型时间复杂度有多少。
1.解释TCP三次握手,为什么要三次握手而不是两次。
2.现在有一个两两PK的游戏,一百个人参与,每个人初始一级,PK赢了的话升一级,输了降一级。一级的玩家不会再降级,十级的玩家不会再升级,问很长时间后玩家的等级状况如何。
3.微信朋友圈打开后会加载信息,向下翻滚的时候会加载旧时间轴信息,而看朋友圈的时候又会有新时间轴的信息产生。问如何设计该模型的网络层请求模型。当你加载了十条信息而看到五六条后,如何判断接下来是加载缓存的信息和是请求新的数据。
微信电面50min
选择coredata的理由,coredate怎么保证安全性,与FMDB、WCDB的区别
讲讲UITest、APNs、MVVM、CallKit
视频合成流程、视频如何边下边播、如何加水印、如何加滤镜(面试官总结:所以你就用了个框架)
runtime
微信三面40min:
objective-C跟swift、c++相比的不同点
objective-C的内存管理与C++的不同
热修复的原理?不懂?那你猜猜它是什么原理
做热修复的弊端,你也猜一下。
可不可以在收到推送前对推送内容做些预处理预下载(notification service)
APP中如何下载视频,可不可以把下载到一半的视频放给用户看
视频跟它的音轨是什么关系,我微信新做的一个给一段视频换音频的功能该怎么实现
除了MP4有没有接触其他视频格式,了解有什么高效保存视频的方法吗?
#微信##实习##面经##腾讯##iOS工程师#