都2022啦 找工作啦!
相比前一段時(shí)間找工作時(shí)的波濤洶涌,這會(huì)算得上是風(fēng)平浪靜了。下面,我就談一下我的面試經(jīng)歷及面試后的一些感悟。文章最后附上自己總結(jié)的面試題,供大家分享交流。由于本人文筆水平很臭,如有不通順的地方可以在評(píng)論區(qū)指出來(lái),看到我會(huì)麻溜的改正!對(duì)待學(xué)問(wèn)是馬虎不得的,你說(shuō)是不?
首先,我想說(shuō)目前iOS開發(fā)工作真的是不好找了(對(duì)于大牛,你就當(dāng)我這話沒(méi)說(shuō))。這是通過(guò)前一段時(shí)間我的親身經(jīng)歷感受到的(怪我水平很臭嘍)。為此,我總結(jié)出了以下四點(diǎn)原因:
1、你的不思進(jìn)取(原諒我說(shuō)話太直白,可事實(shí)就是如此)
2、iOS程序員供大于求,市場(chǎng)已經(jīng)飽和
3、移動(dòng)互聯(lián)網(wǎng)行業(yè)的逐漸成熟導(dǎo)致用人單位要求越來(lái)越高
4、來(lái)自小程序的沖擊
前面說(shuō)了,如果你是大牛,還用去找工作?工作都來(lái)找你了(大牛就是這么牛)。而你呢?還是好好反省反省吧!至于市場(chǎng)飽和,相信大家都早已經(jīng)得到這個(gè)消息了。這其中既有移動(dòng)互聯(lián)網(wǎng)前期積累的泡沫破裂的原因,也有大量新的iOS開發(fā)者不斷涌入的問(wèn)題。我的iOS技術(shù)交流QQ群里時(shí)不時(shí)會(huì)有人出來(lái)吆喝一句“iOS已經(jīng)爛大街了,沒(méi)人要了”。都爛大街了,好憂傷!至于用人單位要求越來(lái)越高,我就不解釋了,這個(gè)是你需要去好好反省反省的。最后我提到了小程序的沖擊。為什么這么說(shuō)呢?因?yàn)槲腋杏X到小程序把一部分人的視線轉(zhuǎn)移到了輕應(yīng)用上面去了,這就導(dǎo)致一些native移動(dòng)端的業(yè)務(wù)被小程序給搶走了。不過(guò)對(duì)一些業(yè)務(wù)比較簡(jiǎn)單的場(chǎng)景來(lái)說(shuō),小程序的確是一種比較合適的解決方案。一個(gè)是節(jié)省成本;另一個(gè)是方便快捷。總之,現(xiàn)在的iOS開發(fā)工作真的是越來(lái)越難找了。
分析了大的市場(chǎng)行情,再來(lái)看一下公司。公司如人,人有靠譜和不靠譜之分,公司亦是如此。前段時(shí)間的面試讓我感覺到一個(gè)靠譜的公司招人還是挺難的。大牛不好請(qǐng)(關(guān)鍵是貴啊),小牛又看不上,而且還怕被忽悠,同時(shí)又要控制人力成本,所以用人單位考慮的要比應(yīng)聘者多,他們一般情況下會(huì)找一個(gè)平衡點(diǎn)。即既要達(dá)到崗位要求,人力成本又要在可接受的范圍之內(nèi)。所以在招聘上那是一個(gè)糾結(jié)啊!稍微大一點(diǎn)的公司可能主要考慮聘者的技能了,因?yàn)榇蠊緲I(yè)務(wù)龐雜,規(guī)模和實(shí)力是小公司比不了的,對(duì)人才的渴求遠(yuǎn)比小公司要大。如何進(jìn)大公司呢?是不是又該反省了!!!
啰嗦的有點(diǎn)多,我的開場(chǎng)白就到這里吧!下面說(shuō)一下我的面試經(jīng)歷。
由于上家公司待的比較久,平常只顧擼碼,導(dǎo)致忽視了知識(shí)點(diǎn)的總結(jié)。一下進(jìn)入面試狀態(tài),面對(duì)面試官那么多的技術(shù)點(diǎn)問(wèn)題,還真有懵!所以第一天在面試?yán)鰞|發(fā)股份科技和51Talk兩家公司時(shí)表現(xiàn)不理想。由于好久沒(méi)有參加過(guò)面試了,心理上沒(méi)準(zhǔn)備好,語(yǔ)言組織的不好,技術(shù)點(diǎn)回答的不到位,導(dǎo)致整個(gè)面試過(guò)程感覺比較糟。完全不在狀態(tài)啊!相比第一家昆侖億發(fā)股份科技,第二家51Talk表現(xiàn)的比較從容一點(diǎn),一面我感覺問(wèn)題不大。可二面的問(wèn)題感覺有點(diǎn)奇葩,有點(diǎn)吃不準(zhǔn)。比如面試官司問(wèn)你之前公司(P2P金融)有催收嗎?是怎么催收的?針對(duì)第一個(gè)問(wèn)題我回答有,但第二個(gè)問(wèn)題我該怎么回答。我有點(diǎn)方,不知道他想考什么。是考查我對(duì)公司業(yè)務(wù)的了解程度還是試懷疑我之前待的公司是否是一個(gè)不正當(dāng)?shù)拇蚴止尽N倚πΓ瑳](méi)說(shuō)話...不過(guò)挺郁悶的。我一個(gè)程序員一定要去了解催收部門的手段嗎???第一天就碰了倆釘子。不過(guò)也沒(méi)關(guān)系,成事開頭難嘛。隨即,我加強(qiáng)了技術(shù)點(diǎn)的學(xué)習(xí)總結(jié)和面試技巧的學(xué)習(xí)。
面試是切磋,更是交流。通過(guò)面試,即能發(fā)現(xiàn)自身的不足,又能對(duì)自己從事的工作有更全面的了解。接下來(lái)的面試我去了滴滴、58同城、懂球帝、皇包車旅行、借貸寶、羅輯思維、美團(tuán)、新浪等公司。滴滴的面試是印象最好的。面試官比較隨和,專業(yè),干脆,幾個(gè)問(wèn)題下來(lái)明顯的能感覺到對(duì)方內(nèi)功很深;58同城主要問(wèn)的最近的項(xiàng)目,你在項(xiàng)目中做了哪些東西以及工程中使用到了哪些比較好的技術(shù)點(diǎn);懂球帝問(wèn)的問(wèn)題便向設(shè)計(jì),不過(guò)面試官的態(tài)度不怎么友善,一副不耐煩的樣子;皇包車旅行問(wèn)的主要是設(shè)計(jì)方面的問(wèn)題,便向于架構(gòu)方面;借貸寶是感覺最不好的一個(gè),老是被打斷,都不能了好的表達(dá)自己了,所以聊到一半我就放棄離開了;羅輯思維面試官挺溫和的,感覺不錯(cuò);美團(tuán)面試官是綿里藏針,要小心回答面試官的問(wèn)題,不要打哈哈;新浪面我的是一個(gè)老程序員了(大牛),問(wèn)的東西比較大,而且偏向后端的大并發(fā),有點(diǎn)小郁悶。為什么不找一個(gè)iOS程序員跟我聊呢?在跟不同的面試官溝通交流的時(shí)候的確學(xué)到了不少的東西,而且還增加了不溝通交流的技巧。最重要的就是跟很多同行過(guò)了招,發(fā)現(xiàn)了自身的很多不足不處,這會(huì)還在反省呢!
總結(jié)一下面試的要點(diǎn):
1、充分準(zhǔn)備,保持心態(tài)平和
2、尊重面試官司,包容心
3、隨機(jī)應(yīng)變
4、在面試中不斷學(xué)習(xí)總結(jié),為下一次面試做準(zhǔn)備
5、不卑不亢,敢于表達(dá)自己
6、坦承
做到以上幾點(diǎn),感覺offer也離你不遠(yuǎn)了!
經(jīng)過(guò)辛苦的耕耘,最終拿到了4家公司的offer,對(duì)這份成績(jī)還算滿意。不過(guò),前路仍然漫漫,需要更加努力!
最后還有一個(gè)比較痛的領(lǐng)悟:
機(jī)會(huì)總是留給有準(zhǔn)備的人的
機(jī)會(huì)總是留給有準(zhǔn)備的人的
機(jī)會(huì)總是留給有準(zhǔn)備的人的
ok!下面奉上本人總結(jié)的iOS面試題:
1、說(shuō)一下OC的反射機(jī)制;
2、block的實(shí)質(zhì)是什么?有幾種block?分別是怎樣產(chǎn)生的?
3、__block修飾的變量為什么能在block里面能改變其值?
4、說(shuō)一下線程之間的通信。
5、你們應(yīng)用的崩潰率是多少?
6、說(shuō)一下hash算法。
7、NSDictionary的實(shí)現(xiàn)原理是什么?
8、你們的App是如何處理本地?cái)?shù)據(jù)安全的(比如用戶名的密碼)?
9、遇到過(guò)BAD_ACCESS的錯(cuò)誤嗎?你是怎樣調(diào)試的?
10、什么是指針常量和常量指針?
11、不借用第三個(gè)變量,如何交換兩個(gè)變量的值?要求手動(dòng)寫出交換過(guò)程。
12、若你去設(shè)計(jì)一個(gè)通知中心,你會(huì)怎樣設(shè)計(jì)?
13、如何去設(shè)計(jì)一個(gè)方案去應(yīng)對(duì)后端頻繁更改的字段接口?
14、KVO、KVC的實(shí)現(xiàn)原理
15、用遞歸算法求1到n的和
16、category為什么不能添加屬性?
17、說(shuō)一下runloop和線程的關(guān)系。
18、說(shuō)一下autoreleasePool的實(shí)現(xiàn)原理。
19、說(shuō)一下簡(jiǎn)單工廠模式,工廠模式以及抽象工廠模式?
20、如何設(shè)計(jì)一個(gè)網(wǎng)絡(luò)請(qǐng)求庫(kù)?
21、說(shuō)一下多線程,你平常是怎么用的?
22、說(shuō)一下UITableViewCell的卡頓你是怎么優(yōu)化的?
23、看過(guò)哪些三方庫(kù)?說(shuō)一下實(shí)現(xiàn)原理以及好在哪里?
24、說(shuō)一下HTTP協(xié)議以及經(jīng)常使用的code碼的含義。
25、設(shè)計(jì)一套緩存策略。
26、設(shè)計(jì)一個(gè)檢測(cè)主線和卡頓的方案。
27、說(shuō)一下runtime,工作是如何使用的?看過(guò)runtime源碼嗎?
28、說(shuō)幾個(gè)你在工作中使用到的線程安全的例子。
29、用過(guò)哪些鎖?哪些鎖的性能比較高?
30、說(shuō)一下HTTP和HTTPs的請(qǐng)求過(guò)程?
31、說(shuō)一下TCP和UDP
32、說(shuō)一下靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)之間的區(qū)別
33、load和initialize方法分別在什么時(shí)候調(diào)用的?
34、NSNotificationCenter是在哪個(gè)線程發(fā)送的通知?
35、用過(guò)swift嗎?如果沒(méi)有,平常有學(xué)習(xí)嗎?
36、說(shuō)一下你對(duì)架構(gòu)的理解?
37、為什么一定要在主線程里面更新UI?
以下文章也可以做一個(gè)學(xué)習(xí)參考:
GCD面試要點(diǎn)
block面試要點(diǎn)
Runtime面試要點(diǎn)
RunLoop面試要點(diǎn)
內(nèi)存管理面試要點(diǎn)
MVC、MVVM面試要點(diǎn)
網(wǎng)絡(luò)性能優(yōu)化面試要點(diǎn)
網(wǎng)絡(luò)編程面試要點(diǎn)
KVC&KVO面試要點(diǎn)
數(shù)據(jù)存儲(chǔ)面試要點(diǎn)
混編技術(shù)面試要點(diǎn)
設(shè)計(jì)模式面試要點(diǎn)
UI面試要點(diǎn)