2019暑期實習面試 - 騰訊PCG移動客戶端iOS開發面試


基本信息

事業群:PCG

崗位:移動客戶端開發(iOS、Objective-C語言開發)

實習時間:6月份之后的暑期實習

面試日期:3月30日 - 3月31日

offer call:4月10日(看到很多小伙伴都接到offer call了,內心有一些着急,9號換了ycy頭像)

 

一面

面試時間一共為:28min,3月30日

問題涉及:iOS項目、操作系統

問題未涉及:計算機網絡、數據結構、算法、場景

項目介紹及相關問題:

APP

1.獲取當前天氣功能為什么要使用協議代理?過程如何?

表述還需加強。

2.是否接觸TableView渲染性能相關的東西?

  • cell的數目,配置tableview數據

    重用單元格的形式,數據成千上萬行,最終渲染個數為屏幕上顯示的數目。

    往下拉的時候,最上面的cell到最下面來,放置重復渲染,提高手機性能。

  • 刷新頁面的兩種方法

    • 無動畫效果:tableView.reloadData(),就是相當於執行 cell for row的方法,將結果取出來,再更新視圖

    • 將刷新語句放在View.beginUpdates()、tableView.endUpdates()中間,可以提高app的性能

基礎問題

iOS相關問題

3.MVC模式,有什么缺點?

介紹了概念和優點。

缺點猜測作答。

4.RunLoop是什么?

  • 概念:事件循環對象,在循環過程中處理各種事件(點擊、刷新等),從而保持程序持續運行;在沒有事件處理的時候,會進入睡眠模式,從而節省CPU資源,提高程序性能。

  • 為什么需要:一個線程只能執行一個任務,執行完就會退出,如果我們需要一種機制,讓線程能隨時處理時間但並不退出,那么 RunLoop 就是這樣的一個機制。Runloop是事件接收和分發機制的一個實現。

  • Runloop 和線程是綁定在一起的。每個線程(包括主線程)都有一個對應的 Runloop 對象。我們並不能自己創建 Runloop 對象,但是可以獲取到系統提供的 Runloop 對象。

5.點擊事件之后發生什么?

這里沒准備過,跟面試官說是否可以根據已有知識猜測一下流程,面試官說可以。

大概從獲取事件源,執行事件內容方面作答。

操作系統問題

6.進程和線程的區別?

操作系統的概念;異同點;iOS上的進程和線程,多線程。

7.多線程共享資源,如何防止資源問題?

  • 資源是否是獨占(獨占鎖 - 共享鎖)

  • 搶占不到資源怎么辦(互斥鎖 - 自旋鎖)

  • 自己能不能重復搶(重入鎖 - 不可重入鎖)

  • 競爭讀的情況比較多,讀可不可以不加鎖(讀寫鎖)

提問環節

我:為什么面試時間較短?

有人面試一個小時,被舉報了。

面試官:是否介意轉正率低?

不介意,先努力轉正,不行可以秋招再投遞。

 

二面

面試時間一共為:28min,3月30日

問題涉及:iOS項目、網絡、排序算法

項目介紹及相關問題

自由探索科研項目

1.高維數據降維

2.數據稀疏如何處理

3.梯度下降過程

APP

4.網絡請求的第三方庫是什么?

基礎問題

網絡

5.HTTP狀態碼

6.HTTP和HTTPS的區別

算法

7.穩定的排序有哪些?

 

三面

面試時間一共為:23min,3月31日

項目介紹及相關問題

1.遇到的困難?

反向傳值delegate+protocal;

GCD主線程控制UI刷新。

2.是否了解性能相關的東西?

渲染和多線程

3.是否了解跨平台開發?

不了解,聊了一些前端的東西。

https://juejin.im/post/5b076e3af265da0dce48fe95

social環節

4.為什么想做iOS開發?

5.未來移動端開發的趨勢是什么?

可能以后 Web 和 Native 的邊界會越來越模糊。偏向於Hybrid APP開發。

(我是果粉,面試的時候表現的是熱愛iOS開發。然而說到最后,面試官老師說未來的趨勢是安卓,感覺就有點崩了。最后建議我了解跨平台開發。)

 

HR面

時間:9min,3月31日下午4點半

自我介紹+哪里人+是否願意來深圳之類的問題。

 

offer call

時間:2min,4月10日上午11點

確認個人信息、部門、崗位、工作地點。

通知今日之內會發放offer到郵箱。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM