#微软面试经验#【微软中国iOS工程师面试经验总结】
面试共五轮,面试官是五位工程师,等级不同、次序不同,全英语。
第一轮:
1、让我对自己的基本情况做了介绍。
2、如何优化应用程序启动时间?
3、email应用程序,经过简化的outlook,只有message和contacts两个tab,如何设计一个架构,使API读取的数据能够及时进入tabs?
4、让我做启动速度的优化、做下载的优化,让用户及时看到contacts中的内容。
第二轮:
在Xcode上运行一个contacts页:上部为左右滚动的collectionView,下部为上下滚动的tableView,两个东西相互连接,通过与TableView、 CollectionView、 ScrollView相关的操作,需要在代码中设置可改进的地方。
第三轮:
1、让所有面试的人员相互介绍了一下自己。
2、问我如何加载caching,因为我使用了dictionary,他问我如何加快读写速度,以及如何防止线程冲突?
第四轮:
问的是出界算法,因为将有许多块,这些块之间没有连接,需要分别计算它们的size,因为是whiteboard,所以只 pseudocode,15分钟内没有到达,边说边写就好了。
第五轮:
对于celecrityin the party,我们给出了一个算法问题:party可以有celeb,也可以没有,大家都知道celeb,而celeb却一个也不知道,每个人都用一个array表示,即Personclass,这个class用know(person: Person)-> Bool表示,使用这种方法,可以找到celeb。