猎头推荐,HR约好了时间之后,和一个iOS工程师进行了微信视频面试(我还在美国)。这个面试官还会挖鼻屎。最奇怪的是,他基本上每一个问题,都会以“诶”来开头。面试持续了一个小时。
问题:
1. 你可以做个自我介绍吗?
2. 诶,你知道Swift和Objective C有什么区别吗?Swift可以和C++混编吗?Swift和C可以混编吗?Swift可以用pointer,“*”吗?
3. 你知道Objective C里面用Swift要Bridge吧?我说,应该是Swift用Objective C要用Bridge吧?面试官沉默了,在纸上划了一道什么。我是说错话了还是说错答案了呢?诶,你喜欢Swift什么地方?
4. 诶,你知道虚拟内存吗?那你知道App启动的过程吗?
5. 诶,你知道Mach O文件吗?那你知道App包里,都有哪些Mach O文件吗?
6. class和struct有什么区别。
7. 诶,CoreData里面那个fault,你知道是什么吗?那你知道SQLite吗?
8. Get和Post有什么区别?我一一例举的区别。他说:“你不觉得其实他们是一样的吗?” 我以为这是测试我的决心,又例举了一遍它们在CDN下载上的区别。他说:“哦,我是说,从协议的定义上,他们没有区别,你懂吧?”
9. 你知道https和http有什么不同吗?http有三次握手,你知道https多了哪些步骤吗?
10. 诶,你知道iOS的内存是怎么管理的吗?
11. 多线程的线性,并发,同步,异步。
12. 给了我一道GCD题,一堆DispatchQueue嵌套打印ABCDEFG字母,让我给出最终打印结果。里面有这么一句:DispatchQueue.main.sync。这句是著名的卡主线程句,我说了这个意思,他说:“我不知道啊,反正你给我最后结果”
13. 一个变量,怎么实现同步读,异步写?
14. 你说的这个cards deck,架构是怎么样的?
15. 诶,你知道怎么tableView怎么优化图片加载吗?那如果用户疯狂滑动,你怎么缓存图片?我说延迟缓存,用isDragging来判断什么时候可以缓存。他接着问:那人家又慢慢滑动了呢?这里有点复杂,要判断的东西多了。我想了一会,面试官打断了我:“太慢了,我过了啊”。
...查看更多
包含1个问题,1个回答
Q:Get和Post有什么区别?我一一例举的区别。他说:“你不觉得其实他们是一样的吗?” 我以为这是测试我的决心,又例举了一遍它们在CDN下载上的区别。他说:“哦,我是说,从协议的定义上,他们没有区别,你懂吧?”