文章起源
最近出現(xiàn)了不少講述面試問題的日記娄昆,正巧這段時間也接連面試了不少家公司,最終順利拿到心儀的offer
晃痴,于是記錄下整體的面試感受。本文不會以過多的文筆講述面試題目财忽,主要是談談對iOS
就業(yè)市場的看法
******重要信息****
各位認識我的大大手下留情倘核,就別在評論區(qū)泄露面試的公司了
行情
即便是度過了最為寒冷
的2016
年,iOS
的就業(yè)市場也不見得回暖了多少即彪,這說明了iOS
開發(fā)市場在趨向于成熟紧唱。其實即便是在熱火朝天的O2O元年
也不代表著移動端市場就是遍地黃金,因為從頭到尾就業(yè)市場并沒有太大變化隶校。2015
年大量的創(chuàng)業(yè)公司本質(zhì)上以2VC
的商業(yè)模式創(chuàng)造了大量的偽就業(yè)
漏益,當資本熱褪去,供遠大于求的市場才會讓眾多開發(fā)者產(chǎn)生一種寒冬的感覺惠况≡馐總結一句就是:
真實的就業(yè)市場增長速度遠低于
iOS
開發(fā)者的增長速度
對于創(chuàng)業(yè)型、小型公司而言稠屠,如何快速實現(xiàn)業(yè)務的迭代是生存下去的根本峦睡,所以對于iOS
開發(fā)人員的技術要求相對較低。也因為這樣权埠,大部分的小公司并不會過多的關心應用的性能是否足夠好
榨了、代碼結構是否合理
等體現(xiàn)開發(fā)者軟實力
的技術點。而中型以上的公司在用戶量達到一定量級的時候攘蔽,就不得不去考慮每一次的業(yè)務改動是否會造成體驗的不適等造成用戶流失的原因龙屉,因此中型以上的公司對開發(fā)者的軟實力
更加看重
就業(yè)
就業(yè)不易。在更早之前為了測試找工作的難度满俗,筆者海投了一批中小型公司转捕,但是結果很遺憾,沒有一家回應唆垃。(ps: 多謝各位推薦筆者的朋友們五芝,感激)
很明顯的一點是在iOS
開發(fā)者魚目混雜的現(xiàn)狀下,學歷
以及工作背景
兩大因素成了最簡單粗暴的篩選方式辕万。所以我經(jīng)常和朋友說的一點是:如果我自己去投簡歷找工作枢步,還不如轉行找工作來得快
在這種環(huán)境下,就業(yè)更好的途徑就是推薦
或者找人自薦
渐尿,但是存在的前提是如果技術達不到對方的標準醉途,找再多人也是白搭。所幸的是砖茸,有那么一堆愿意幫助我的朋友隘擎,在這段時間內(nèi),面試的公司除了上述兩者之外還有面邀
凉夯。這種情況就可遇不可求了嵌屎,起碼要有人對你感興趣
培訓
大概是這兩年來培訓
出來不少開發(fā)者推正,很多人認為被搶了飯碗,于是對這種現(xiàn)象頗有意見宝惰。對于筆者來說植榕,一份形似培訓的簡歷如果能有自己的博客與Github
,并不介意給對方一次機會尼夺,這也只是筆者的看法尊残。
不過有部分開發(fā)者確實對培訓
這個詞刻意的去貶低,例如前幾天有個總結自己面試別人出的題目淤堵,對于題目分為低中高
三個層次的寝衫,理論知識題巨多,下面的回復有這么一句:
培訓出來的才能全部答上來
很明顯對于理論知識題答者抱著一種輕視的態(tài)度拐邪,并且在回答中扯上培訓
一詞慰毅,滿滿的諷刺。我不想去解讀答者的想法扎阶,但是假如連培訓都能背出來的東西你面試回答不上來汹胃,怪培訓
搶了你的工作還是你自己不給力呢?假如你以前背過东臀,為什么后來沒有嘗試去深究原理而是選擇遺忘呢着饥?
面試
到這里該總結一下面試題,由于私人原因具體的面試題不能公開惰赋,但是筆者總結了一下類型:
runtime
即便runtime
已經(jīng)爛大街了宰掉,但是這是OC
語言特有的機制,起碼要對動態(tài)時有了解過赁濒,才能了解屬性修飾的差異在什么地方runloop
這個屬于去年下半年開始熱起來的面試題目轨奄,為什么應用能夠一直運行到我們關掉或者閃退為止?runloop
做了什么工作拒炎?如何去利用runloop
等等多線程
性能優(yōu)化是一個權衡的過程挪拟,同樣算法的條件下,代碼執(zhí)行的時間幾乎是恒定的枝冀,使用多線程可以將任務分割分批執(zhí)行,有效的提高應用性能耘子。但是多線程存在使用的陷阱果漾,如何設計良好的異步方案,是進階的必備技術要求APM
應用性能管理谷誓,并不是人人都要弄個APM
系統(tǒng)绒障,但是對于整個系統(tǒng)的單個功能業(yè)務是否了解過怎么實現(xiàn)?APM
本身是為了優(yōu)化應用和收集數(shù)據(jù)制作的捍歪,又有什么思路響應鏈
經(jīng)典問題户辱,略過算法
中型以上的公司基本會考核這點鸵钝。比如你喜歡什么排序算法、使用合適的算法解題庐镐。一般來說非算法崗位只要LeetCode
能刷過Medium
的題目就比較容易了設計模式
設計模式實際上涉及到代碼的整體結構設計上恩商,由于高級語言封裝了大量的基礎算法以及使用了大量的設計模式,開發(fā)者接觸使用的設計模式相對而言比較少必逆,但是這是程序猿必備知識之一計算機基礎
除了算法以外怠堪,還包括計算機系統(tǒng)、網(wǎng)絡協(xié)議名眉、數(shù)據(jù)結構等粟矿,鑒于筆者基礎薄弱,不多闡述