91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何面試 iOS 工程師?(知乎熱點)

發布時間:2020-02-27 17:35:25 來源:網絡 閱讀:291 作者:iOSSir 欄目:移動開發

這個問題已經有很多優秀的答案了,但最近一周面試了很多iOS開發,也準備了一些題目,忍不住發上來...

首先需要聲明的是,此次的面試者大多在有1~3年的iOS開發經驗,并非需要找一個真正的大牛,所以我準備的題目,自己覺得大多數還是比較基礎,比較能夠看出這個層次的人的水準的。如果你也是個有3年左右開發經驗的從業者,不妨一試。

面試開始的時候,我會讓面試者選擇一個他最熟悉的項目,給我們介紹一下它的技術架構,以及面試者在其中參與的模塊和具體工作。因為我本人很討厭面試上來做自我介紹,所以我一般開門見山,直接開始講項目了。事實上,很多開發者并不明白我提到的“架構”的具體意思,有些人說了一大堆產品的功能,還有人說的非常籠統(比如,遵循MVC架構之類),一般這種時候我會打斷他們,直接讓他們給我講一下這個APP的層次結構,或者是核心模塊等。

之后我會問兩個問題:

  1. 講述一次在這個APP中,用戶觸發了一個事件,引起了一個服務請求,然后獲取服務端返回,并且更新前端界面的過程。請說的詳細一點,比如數據經過了哪些類的處理,每一次傳遞時的格式是怎么樣的?
  2. 你參與的APP,是如何處理多個服務的同步發起的?隨后讓面試者說一下APP的界面架構,這個比較隨意。

問完了項目,就開始基礎知識題啦~

Model層:

數據持久化存儲方案有哪些?
沙盒的目錄結構是怎樣的?
各自一般用于什么場合?
SQL語句問題:inner join、left join、right join的區別是什么?
sqlite的優化
網絡通信用過哪些方式(100%的人說了AFNetworking...)
如何處理多個網絡請求并發的情況
在網絡請求中如何提高性能
在網絡請求中如何保證安全性

語言與基礎知識:

內存中的棧和堆的區別是什么?
那些數據在棧上,哪些在堆上?
#defineconst定義的變量,有什么區別
什么情況下會出現內存的循環引用
block中的weak self,是任何時候都需要加的么?
GCD的queue,main queue中執行的代碼,一定是在main thread么?
NSOperationQueue有哪些使用方式
NSThread中的Runloop的作用,如何使用?
.h文件中的變量,外部可以直接訪問么?(注意是變量,不是property)
講述一下runtime的概念,message send如果尋找不到相應的對象,會如何進行后續處理 ?
TCP和UDP的區別是什么?
MD5和Base64的區別是什么,各自場景是什么?
二叉搜索樹的概念,時間復雜度多少?

架構:(我們招的不是架構師,這方面問的不多,而且從之前對APP的架構介紹里可以邊聽邊問)

哪些類不適合使用單例模式?即使他們在周期中只會出現一次。
Notification的使用場景是什么?同步還是異步?
簡單介紹一下KVC和KVO,他們都可以應用在哪些場景?

APP相關:

如何添加一個自定義字體到工程中
如何制作一個靜態庫/動態庫,他們的區別是什么?
Configuration中,debug和release的區別是什么?
簡單介紹下發送系統消息的機制(APNS)

UI:

系統如何尋找到需要響應用戶操作的那個Responder
多屏幕尺寸的適配
UIButton的父類是什么?UILabel呢?
push view controller 和 present view controller的區別
描述下tableview cell的重用機制
UIView的frame和bounds的區別是什么

最后是幾道場景題,也是我最喜歡問的:

發送10個網絡請求,然后再接收到所有回應之后執行后續操作,如何實現?
實現一個第三方控件,可以在任何時候出現在APP界面最上層
實現一個最簡單的點擊拖拽功能。上面那個拖拽之外,如果在手放開時,需要根據速度往前滑動呢?
如何減小一個應用程序的尺寸?
如何提高一個性用程序的性能?
不同版本的APP,數據庫結構變化了,如何處理?

平心而論,這些題目并沒有特別難,沒有講到黑科技,也沒有講到ACM算法題,都是iOS的基礎概念以及很容易遇到的場景。可能也是因為我們招的目標,也只是一個可以完成業務開發的3年左右經驗的人而已,所以大部分面試者水平并不如意,能答出以上大半題目,同時思路清晰態度積極向上的人,不到四分之一吧...

另外的感想就是,這個行業可能真的有點浮躁,很多面試者,連簡單的幾個場景題都答不出來,基礎知識更是一般,只會用幾個第三方庫,就開口要25~30w的年薪,還有一種愛理不理的感覺。也有些人,在原來的公司,自稱是技術負責人,但連APP的基本架構,包括哪些主要模塊都講不清楚,各種兜圈子,甚至有人講了半天的產品功能和亮點,我不得不一次次打斷才能繼續面試。其實我從11年開始自學iOS,做的事情越多,越覺得自己有越多的東西要學,離大牛的標準也是越來越遠。而無論從深度還是廣度來看,iOS開發都是一個值得挖掘的技術領域。由于蘋果產品的火熱,市場上的iOS開發一直供不應求,但真正有能力,高素質的可能真的不那么多。

最后:

小編有一個iOS開發的QQ交流群,整理了一些比較知名大廠的面試題以及答案總結,還有一些比較常用的學習資料,需要的可以自行下載的哦,QQ群號:679884541!
如何面試 iOS 工程師?(知乎熱點)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永泰县| 交城县| 龙门县| 宜昌市| 卢氏县| 得荣县| 南汇区| 汕头市| 蛟河市| 巴中市| 静海县| 浦城县| 陆河县| 普安县| 观塘区| 绥滨县| 鱼台县| 富阳市| 阜宁县| 石狮市| 获嘉县| 瑞昌市| 句容市| 霸州市| 乐东| 彭山县| 昭平县| 孟津县| 巢湖市| 宣城市| 黄大仙区| 岗巴县| 永州市| 石狮市| 汉中市| 商水县| 基隆市| 徐汇区| 蓝山县| 翁源县| 中超|