前述
丁香园从swift 1.x的版本就开始使用开发,而我并未上手过实际的swift项目。
技术面试官进来后,首先就是问有没有用swift做过实际项目或者demo,可惜,我没有做过拿得出手的东西,就直接跨过了。
然后,整个面试内容,是依据我的简历上所提到的东西进行提问和交流的,全称没有看过我所做的项目,只是进行技术交流。
问题
问题顺序不分先后
Q 1:weex与RN的区别
Q 2:ARC是怎么实现内存管理的
Q 3:AF是用的connect还是session
Q 4:说说session的config
Q 5:pch文件是什么
Q 6:runloop的机制 主线程的runloop是如何保持事件监听的 或者说当runloop在睡眠状态 怎么唤醒
Q7:用pods除了管理第三方框架,还用来干嘛了
Q8:对http有什么理解
Q8:swift的值类型和引用类型的差异
由于整个面试的过程,没有一个回答是完整,感觉非常惭愧,就问了面试官对于像我这样水平的,有什么建议,面试官微笑着说,你学习weex,应该搞清楚js与oc的转换的实现,这才是weex的核心
weex JSBridge的实现
总结
在这次面试中,所有的内容都不是停留在应用层上,而是看你能否知道内容的具体实现或者实现思路。这也为我接下来的学习提供一个具体的方向,感谢卓大给的机会。
记支付宝面试问题
Q: 是否阅读过AF 、SDWebImage等三方框架
Q: GCD是属于哪个框架
A libdispatch
Q: GCD栅栏的实现原因
Q: OC中哪些是线程安全类和非线程安全类
A: 苹果总结
session的应用场景
A: 获取session的两种方式
/*
* Customization of NSURLSession occurs during creation of a new session.
* If you only need to use the convenience routines with custom
* configuration options it is not necessary to specify a delegate.
* If you do specify a delegate, the delegate will be retained until after
* the delegate has been sent the URLSession:didBecomeInvalidWithError: message.
*/
+ (NSURLSession *)sessionWithConfiguration:(NSURLSessionConfiguration *)configuration;
// 可以用于下载任务 走代理回调方法
+ (NSURLSession *)sessionWithConfiguration:(NSURLSessionConfiguration *)configuration delegate:(nullable id <NSURLSessionDelegate>)delegate delegateQueue:(nullable NSOperationQueue *)queue;