【面试】腾讯 iOS 开发实习电话面试记录(二)

2,935 阅读3分钟

继上一篇文章【面试】腾讯 iOS 开发实习电话面试记录(一)后,又接到了第二个电话,继续记录。根据回忆写的,问题先后可能不对。

(一开始让我自我介绍一下,这一介绍,就说了我基本在用 Swift 而不是 OC 写正式项目,然后他就开始偏重 Swift 来问,也不知道是照顾我,还是怕我撒谎)

  1. 说一下 C/C++ 里面变量定义和声明的区别

  2. OC 里面的 property 有没有像 Swift 里面一样的 public 和 private 之分

  3. 我看你简历里面说你写过超过5万行 Swift,你怎么知道你写过 5 万行?
    (我说可以通过 Terminal 来统计我的项目文件夹里面任意后缀文件的行数)

  4. 你这个5万行,包括第三方 API 吗?
    (我说不包括,不过只要他问 Swift 少问 OC,我还是有信心)

  5. 你说一下你对 Swift 这门语言的理解,有什么和 C、C++ 或 OC 不同的地方?
    (我说了关于 protocol 和 extension 相关的东西,还有关于 OC 里面的 NSString 浅复制,现在 Swift 对 String 类型是深复制,以及 Swift 对这个值拷贝的优化的问题……会的东西还是要多说)

  6. 平时你对你上架的这些产品是怎么监测崩溃情况的

  7. 平时怎么检测内存泄露,有什么解决方案

  8. TableView 滑动卡顿有什么优化方案
    (这个因为刚好在面试之前还准备了一下,噼里啪啦说了好多,可能还说了点面试官不知道的东西。然后他说你怎么知道这些东西的,平时都在用吗,我说都是在网上看的,因为平时没有做过非常复杂的 Cell,所以实际应用起来了的优化手段并不多)

  9. 说一下 HTTP 协议
    (我说不会,就简单说了下 http 和 https 的区别,和 iOS 9 开始引导访问 https 的问题,大家可以背一下这一段:【为了强制增强数据访问安全, iOS9 默认会把所有从NSURLConnectionCFURLNSURLSession发出的 HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译时,默认会让所有从NSURLConnectionCFURLNSURLSession发出的 HTTP 请求统一采用 TLS 1.2(SSL 3.1) 协议。】

  10. 说一下你最复杂的一个项目的技术内容

  11. 你所有项目都是你独立开发完成的吗,包括切图、UI
    (我说是,不过他也没问我 Photoshop,就此作罢)

  12. 说一下不同版本 iPhone 的分辨率
    (我说我没背下来那个 320*568 什么的分辨率,但我知道硬件屏幕上 dot 的数量和软件屏幕 pixel 数量的关系,而且很特殊的一点是,虽然 iPhone 3GS 对应的是 1x,iPhone 4S 开始对应 2x,但是 iPhone 6+ 对应的所谓 3x 实际上是 1:2.6几,Apple 帮我们做了把 3x 的图做成 2.6x 的这个工作)

  13. 你平时是怎么做技术积累的

好像电话面试就此结束了,下次面试是面试官来本地走校招流程,然后之前打过电话、简历评级够好的,现场面试的时候会比较容易给 offer。