先簡單說說我最近的面試經歷吧,面試的公司很多,大部分最后都能得到令人滿意的結果,我將這些體會記錄下來,面了這么多公司,如果不留下什么,那豈不是太浪費了,對于我來說,這也是一次自我檢查,在這次面試中總結經驗,認清自己,同時希望這些對即將換作業或者打算看看其他機會的你有一些幫助,
以下的部分有具體的面試經歷,也有自己的一些總結面試必備技能和自己的一些感想,
準備
其實我很早就開始準備了,準確來說也不算準備,只是一直在總結iOS相關方面的知識,因為在華為雖然作業有時候比較多,但是還是有大把時間可以自己學習一些感興趣的方向,從過完年回來,我就有計劃的復習和總結了一些知識,
看過的書籍,這里并不是泛泛的讀一遍,而是詳細理解了大多數內容,通俗一點就是可以用自己的話將相應的知識解讀出 來 ,
《Android開發藝術探索》(這本書真心不錯,我反復讀了4、5遍)、《iOS群英傳》(比較接近開發使用,因為做過一些應用開發,讀起來還是比較簡單的,讀了2遍)、《劍指offer》(感覺面試中碰到的演算法,70%都能找到相應的題目,保證所有的題都可以手寫出來就行),4個月精讀了以上書籍,還有其他的都是簡單了解,這里就不列舉了,讀完這些書,應該可以讓你上一個層次吧(媽媽再也不用擔心我面試啦…),
刷題,主要是LeetCode(大概刷了300道題左右,每天3-6道,堅持下來,需要多復習,因為很多題過一段時間會忘記),還有看過一些牛課網,
看別人的面試經驗,主要在網上,這里我列舉兩個比較好的,
1、 iOS客戶端面試題集錦
2、 iOS阿里面試題錦集
投遞簡歷
一份好的簡歷是非常有必要的,需要突出你的重點和閃光點,具體怎么寫簡歷可以參考
有了一份好簡歷,接下來就是投遞簡歷,一般是:拉鉤+BOSS直聘+內推,從我這次面試機會來看,三者比例是2:2:1,也可能我作業經驗還不到一年,內推滴滴、阿里和騰訊直接就把我的簡歷刷掉了,但是內推也是具體到某個部門,如果被刷掉也不要灰心,現在大公司基本上各個部門都有自己的hr,可以在拉頭和BOSS上多投遞一些,萬一其他部門看中你呢?
面試經歷
快手
快手就在五道口地鐵站出口不遠地方,能看到很顯眼的LOGO,看上去很霸氣的樣子,但是當我進入到快手前臺的時候,連一個標示符都沒有, 一度以為自己走進了假快手,好吧,我是來面試,這些都不重要,接下來接待的人員把我領進了一個小屋里,等待面試的開始,
一面
面試官是一個很fashion的人,是從小米核心部門過來的,是iOS小組的領導,
問了關于資料庫的一些問題,SQLite的相關操作,沒辦法,我在華為唯一一個做的和iOS相關的專案,但是不太擅長資料庫, 網路相關的問題,網路的五層模型,又問了TCP和TIP,還有iOS相關的長連接,這里問的比較深,
開始iOS相關的知識,視覺控制器的生命周期(view的生命周期)記憶體告急的處理(手動釋放不可見視圖的記憶體和成員變數)
第一面這就算過關了等待二面,
二面
問了專案相關的問題,這部分根據自己的專案經驗,由于大家的經驗都不同,這里我就不詳細說了,
設定一個場景,怎么去實作相應的功能,因為快手這個部門想做社交,因此這里是問我是如何實作微信的聯系人頁面(包括與服務端有什么樣的互動)
最后也是一個演算法,寫出所有陣列的子序列
二面面試官是這個組的Eva,跟我講了現在這個組的發展情況和快手現在的情況,由于快手成長很快,所以不能僅僅依靠一個APP,還需要在其他方面進行一些嘗試,而這個組的任務就是在一些方面做一些嘗試,大概就是這個樣子,
二面也順利通過,接下來就是HR面了,這時候正好是12點,他們要去吃飯,不過快手是提供午餐和晚餐的,第一個面試官帶給我一份飯,還不錯,后來HR跟我說,現在只是過渡時期,后面午餐和晚餐會改成自助餐的形式,
三面
HR上來很親切,問了我一些面試的情況,難不難之類的,然后又聊了聊我大學和研究生情況,我只想說我“too simple , too naive “,大概了解我后,只跟我聊我的不足,以此來壓低我期望的薪水,說了一下薪資期望,加了微信,讓我回去等待,說發offer大概是2周時間,因為需要走各種審批流程,讓我不要著急,
快手是一個很年輕的公司,技識訓是需要一定的積累,希望不要像小咖秀一樣曇花一現,
美團外賣
一面
1、簡歷上寫的專案問了一遍,然后開始問知識點,
2、volley的源代碼,在圖片快取部分討論了挺長時間,http中快取機制,
3、視覺控制器的生命周期
4、資料庫
5、多執行緒(NSTread、NSOPeration、GCDA+block)
6、http協議get post的區別
7、手機適配一些方案
8、真機除錯、專案上線注意事項
9、靜態方法是否能被重寫
這些大概聊了1個半小時,開始的時候還有些緊張,慢慢聊開了,就好多了,面試官的語速有點快,老是需要面試官重復一遍,我也不經意間語速也變快了,不過能看出來面試官還是很厲害的,
二面
2次握手和3次揮手的原因,以及為什么需要這樣做,
1、id和nill代表什么(nill和NULL的區別)
2、向一個nill物件發送訊息會發生什么?
3、行程與執行緒區別
4、寫一個NSString類的實作
5、http中的同步和異步
聊了一些專案上做的東西,問了問職業規劃 由于二面面試官不是做iOS,本來面試我的人臨時開會去了,所以這一輪面試沒怎么問iOS相關知識,不過二面面試官一直是微笑,所以這一輪很輕松,更像是一起討論問題,
面試完已經是下午4:30了,由于面試當天是星期五,而周五美團的會議比較多,所以等了會,二面面試官說三面面試官在開會,面試另約時間,我還是說這次一次面試完吧,這一等就等了2個半小時,期間hr跟我說三面面試官是個大牛,
三面
我認為iOS做的優秀的幾個地方,然后又根據我說的問了問比較深入問題,
1、iOS是如何進行資源管理的,
2、Python比較重要的幾個特性
3、網路五層結構,每一層協議,由于我網路不是很好,還問了一些其他的問題(例如MAC地址和ip地址的區別等),
為什么離開原來公司,以及職業規劃,然后因為面試完大概就晚上8點了,就先讓我回去,下周讓HR跟我聯系,我想這是應該通過面試了吧,
美團技識訓是很厲害的,從面試官的水平就可以看出來,尤其是外賣核心部門,辦公環境是不錯,但是感覺就是有點亂,不知道是不是因為今天面試的人很多,基本上一直有很多人來回走動,有一些嘈雜,
作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個我的iOS交流群:519832104 不管你是小白還是大牛歡迎入駐,分享經驗,討論技術,大家一起交流學習成長!
另附上一份各好友收集的大廠面試題,需要iOS開發學習資料、面試真題,可以添加iOS開發進階交流群,進群可自行下載!
百度
夢寐以求的百度終于找我來面試了,之前不管是內推還是網路上投遞都被拒絕了,原因是我作業不到一年,沒辦法誰讓馬云爸爸太厲害,我投遞的是杭州的天貓,是做虛擬現實的小組(剛聽到這個名字感覺和自己不太相符),這是我到面試完后,才知道的,面試官也跟我說iOS上的需求可能不會很多,更多的是AR技術在iOS上的應用,包含OpenGL等技術,
一面
詢問了我博客上寫的一些東西,從專案立意談起,到設計,再到詳細的技術實作,可謂是面面俱到,由于自己寫的博客還是比較熟悉,回答的還不錯,
1、GLSurfaceView的相關知識,OpenGL,Shader,繪制流程,
2、詢問當前做的專案,以及到具體的實作和優化,
3、多行程間的通訊,Binder機制,
4、詢問看過哪些框架原始碼,EventBus,Volley講了一下,
大概聊了一個小時左右,聊得還可以,基本上都回答上了,中間給了我很多建議,不懂的地方,也會仔細跟我講解一番,其實有一半的時間都是跟我聊產品,為什么這個產品好,怎樣做才能迎合市場,然后怎么設計整個產品等,感覺跟我現在水平不是一個層次的,果然,第二天就給我發了一封郵件,說我現在暫時不太合適投遞的崗位,
最后總結
自己對于互聯網有一些小小的見解:隨著資本的冷卻,整個互聯網市場也逐漸的冷靜下來,iOS應用開發從一開始能說幾個四大組件的名詞,能隨便寫個監聽事件,就能拿到高達上萬的月薪的時代了,歸根到底并不是作業難找了,而是iOS應用開發工程師這個職位已經趨于正常,再也不是沒什么技術也能拿高工資的香餑餑,當然這個也不是絕對的,對于中高級的開發人員來說,市場還是比較缺少的,尤其是知名企業對于招聘員工來說,不僅要求有過硬的技術,還要求有高素質,好的教育背景等等,總的來說,高工資可以給你,但是前提條件是你要足夠優秀,或者說讓面試官覺得你很優秀,
其實面試程序就是一個把你自己推銷給別人的程序,對于我們(畢業不久的同學,因為我畢業不到一年)來說就是要讓面試官感覺你技術好,有培養價值,感慨有點多了,還是來點干貨吧,大概列舉一下每一輪面試的大概范圍和深度,但是也不是絕對的,還是要看具體情況,
筆試
近一段時間的面試經歷來說,一、二面的問題沒有什么很大的區別(公司基本上都有3面技術面,但是也有例外,我在美團就是2面技術面,),基本上都是一線開發人員,主要考察你是否有牢固的基礎知識和是否在平常開發中能熟練使用,
是否能講解清楚你所做的專案,以及使用到的相關知識,
1、iOS基礎知識
2、Python基礎知識,大概是多執行緒,執行緒安全,集合類,JVM,類相關知識等,
3、iOS一些原始碼的閱讀
4、優秀的第三方框架原始碼閱讀
四面
一般公司都是三輪技術面,但是也有四輪技術面的,不過不多,很多公司基本上每一輪面試官都會記錄他所詢問的問題,以便給下一輪面試官作參考,還有就是避免對同一個知識點多次詢問,所以到了這輪面試,基本上不會再詢問比較基礎的知識,
會從兩個方面考察:
1、廣度:比較新的技術(多執行緒,插件化等),http協議,資料庫,iOS(一般不會詢問之前面試官問過的問題),
2、深度:一般會通過1或2個問題來考察,例如:專案中的貢獻,所做的優化,設計能力,基本上不多,這個要看面試的崗位,因為我這里面試的只是高級開發,并不是架構,
作業中的亮點和突出,
HR面
基本上到了這輪,你就算通過面試了,hr會詢問一些你的經歷,最主要的還是和你商定薪資待遇,在這輪,大家應該要對自己的薪資水平有一個大體的了解,一般都是在原來的工資基礎上增長20%~30%的樣子,當然,如果你在面試程序中表現非常優秀,也可以不受這個限制,當然如果公司誠心要你,就算你要的工資過高,hr也會委婉的告訴你,不會直接把你pass,
點擊此處,立即與iOS大牛交流學習
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/14361.html
標籤:其他
