網上已經有很多針對各種知識點的面試題,面試時有些人未必真正理解也能通過背題看上去很懂。我自己總結了4道面試題,好快速的判斷這個人是否是一個合格的工程師,歡迎大家點評。
1.struct和class的區別
在面試之前你覺得所有的計算機專業的學生都應該能答的上來,事實是我面的人裡有超過三分一沒有答上來。
有時我還會順便問下swfit裡的array是什麼型別,在大量複製時會不會有效能問題。
2.介紹一下觀察者模式
也許有些人已經覺得設計模式有些過時,沒有整本讀過。就算如此iOS裡常用的幾個設計模式我覺得總要了解吧。
這裡如果說NSNotificationCenter怎麼使用的就直接pass。
這個回答應該包括三個部分:首先這個設計模式為了解決什麼問題,其次通過什麼方案來解決,最後才是當前體系下的具體實現方案。
3.在一個https連線的網站裡,輸入賬號密碼點選登入後,到伺服器返回這個請求前,中間經歷了什麼
這題是在其他看到的,本來題目是登入gmail的時候,但是國內也許有些人不知道Google很早就全站https了,所以這裡特別指出是https的連線。
這裡面可以談的東西就很多了,TCP/IP下有非常多的協議。不需要什麼都能說的清楚,但是對於整個網路連線模型的理解可以看出基本功。
4.在一個app中間有一個button,在你手觸控螢幕點選後,到這個button收到點選事件,中間發生了什麼
runloop和響應鏈需要說的清楚。
有時還會順便問問UIResponder、UIControl、UIView的關係。
這4個問題只是為了一上來可以快速篩選掉不合適的程式設計師,畢竟有的人只需要幾分鐘就知道他不合適了,好節省時間。
中午吃飯我和一個資深的同事說這些題目,我說,一個15k+的程式設計師我覺得一定能答的上這四題。他說你也太樂觀了,按現在這行情他覺得恐怕要20k的程式設計師才能答的上來。