iOS面试

作者: 不要和哥闹 | 来源:发表于2020-06-22 15:05 被阅读0次

iOS面试题
阿里、字节:一套高效的iOS面试题
iOS源码分析

1、谈下iOS开发中知道的哪些锁? 哪个性能最差?SD和AFN使用的哪个? 一般开发中你最常用哪个? 哪个锁apple存在问题又是什么问题?
2、http的post和get啥区别

1、Get是最常用的方法,通常用于请求服务器发送某个资源,而且应该是安全的和幂等的。
2、POST方法向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理。
GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母或数字,则原样发送;如果是空格,转换为+;如果是中文或其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII码值。而与之对应的,POST把提交的数据放置在HTTP包的包体中,文章最下面将会有代码示例。
POST的安全性要比GET的安全性高。注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修改,而这里安全的含义是真正的Security的含义。比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为:(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击(CSRF,跨站请求伪造,也被称为:one click attack/session riding)。

3、离屏渲染
image.png

计算机系统中 CPU、GPU、显示器是以上面这种方式协同工作的。CPU 计算好显示内容提交到 GPU,GPU 渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会按照 VSync 信号逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示。

4、weak原理
5、Autorelease实现原理
6、iOS 性能优化总结

iOS 性能优化总结
iOS底层面试总结
Swift 正则表达式完整教程

相关文章

网友评论

      本文标题:iOS面试

      本文链接:https://www.haomeiwen.com/subject/epwxfktx.html