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

目前大三,准备暑假去腾讯做 iOS 开发实习,昨天接到了电话面试,(应该是那个部门的 iOS 开发组组长打来的,我也不确定),来分享一下他问的那些题目。

感觉他提问是按照我写的简历来问的,而且考虑到我是准备去做实习生,也可能问的相对简单,我根据回忆写一下,大家就凑合着看吧。

1.我看你也上线了几个项目,说一下你做过的这些东西,工程体量大概都是多大,代码有多少行?
(我说多的有五六千行,少的就一千行)

2.你那个五六千行的项目是干嘛的?
(一个招聘会信息聚合应用)

3.这个项目用户量有多少?
(我说这个项目没多少用户,我个人用户最多是项目是 Gif Master,然后提到了用户量)

4.你怎么知道你这个 App 有多少活跃用户的?用的友盟吗?
(我说我用 Flurry,通过 App 更新情况也能看出来)

5.那你跟我说说你这个 Gif Master 是干嘛的?
(……说了一堆,其中重点是提到了,可以把某一条微博作为网页提出来,然后抓取这个网页中的 Gif 图,再分享到微信)

6.你是怎么把这个 Gif 图从微博上抓下来的?
(因为是用的从 Github 上找到的一个现成的方法,所以我并不清楚具体的技术细节,就只说了是把整个图片作为 NSData 提取出来的)

7.你是怎么把图片分享到微信的?
(用的是 mob 的 SDK,不只是分享到微信,还能分享到 QQ 和微博。因为微信原生不支持 Gif,所以是做为表情分享过去的)

8.你统计过你这个 App 的 Crash 情况吗?
(我说我在用雅虎的 Flurry 平台,这里面有非常详细的数据。但是实话实话,我并没有详细地监测用户如何触发了 crash,而更多地是自己不断地试用,然后解决问题。)

9.你是如何监测这个 App 的内存情况的,以及如何处理内容泄露?

10.平时用过 WebView 吗,你在用的时候除了单纯地用它加载网页,还用过其他的吗?
(我说用过 JS 交互)

11.(这里忘了他问了啥了,但是我觉得总要说点东西,而且我确实经常用 WebView,就说了下 UIWebView 和 WKWebView 在 JS 交互上的区别)

12.说一下你自己理解的 RunTime

13.知道 RunLoop 吗?
(我只在 NSTimer 里面用过,所以知道这个东西,但不是很了解,就实话实说了,然后他继续问细节,我算是说出来了一半,就下一个问题了)

14.Objective-C 里面 property 写成 assign 和 weak 的区别?
(这里还说了一下 weak 解决循环引用的问题)

15.知道 STL 吗(问了 List 和 Vector)

16.用过 TableView 吗,平时怎么解决 TableView 滑动卡顿问题的?

17.懂网络方面的问题吗?TCP/IP 三次握手?
(我说不知道,就仅仅是平时与服务器交互用过 get post)

18.说一下 get post 的区别?
(我说出来了,这时候已经开始感觉到这个人什么都会,就算他问的问题你不知道,也要随便说点相关的自己知道的,因为他一定可以把这个问题无限延伸下去)

19.你写过这么多代码了,知道设计模式吗?
(我说知道 MVC 和 MVVM,然后他让我说一下单例模式 - 显然仅仅会用是不够的,这题我算答出来一半)

20.知道观察者吗?
(监听事件那个 observer 嘛,这个我还是非常熟悉)

21.知道本地存储吗?
(这个我也非常熟悉,巴拉巴拉说了一堆 NSUserDefaults、Plist,还有如何存储自定义类型的问题,然后他说你知道 NSUserDefaults 本质上也是用 Plist 存储的吗,我诚实地说不知道,他又说除此之外其实还有 keychain 存储的方法,我也诚实的说我知道这种方法,但我自己没用过)

22.你发布的那些 App 都是自己独立完成的吗?
(我说是,但是他可能怕我撒谎,还要继续问一下)

23.说一下你平时发布 App 的流程

24.是你自己买的开发者账号吗?有 iPhone 吗?
(of course~)

25.是怎么想到要做 iOS 或者 Android 开发这个行当的?
(我说了我的心路历程 = = )

26.会用 C++ 吗?
(我说我学了,但是没在实际项目中用过)

27.C++ 里面传递一个引用和传递一个指针有什么区别?
(其实我是知道的,但是当时懵逼了,瞎说了一通,大概是说错了)

28.问了多线程、主线程阻塞、UI 更新、异步这一块的问题

29.全剧终,他说过两天还要再有人给我打电话,所以我感觉应该第一关是过了,据说下一面是总监面,如果顺利通过的话,再来写第二篇

推荐阅读更多精彩内容