很多時候,我們作為面試者其實(shí)也是很盲目的在參加面試轨蛤,如果我們了解了面試官的心理蜜宪,以及面試官會針對那些問題對我們進(jìn)行提問,我們前期做好相應(yīng)的準(zhǔn)備祥山,在我們的面試過程中會有很大幫助的圃验,下面是我在網(wǎng)上搜索一些關(guān)于面試官會對iOS開發(fā)工程師進(jìn)行相關(guān)面試的一些整理。希望對大家有用缝呕。也希望和大家進(jìn)行交流澳窑。
1.簡歷上的描述以及項(xiàng)目要是最熟悉的,講自己熟悉的東西容易讓面試官進(jìn)入狀態(tài)供常,展示自己好的一面摊聋。(面試官主要考察兩方面,一是有沒有在某些點(diǎn)上有過深入研究栈暇。二是對項(xiàng)目整體了解如何)麻裁。
2.在描述項(xiàng)目的時候選幾個自己能夠清晰描述的功能點(diǎn)。(面試官主要是了解候選人在這塊功能點(diǎn)深入的程度,從思路到方法煎源,從上層?API?調(diào)用到框架流程再到底層實(shí)現(xiàn)色迂。如果我們在講述時有一條邏輯主線,例如講述業(yè)界普遍是怎么做的手销,自己在業(yè)界方案基礎(chǔ)上做了什么改進(jìn)歇僧,怎樣做到更好,進(jìn)一步改進(jìn)的思路是怎樣锋拖,這是最好的诈悍。如果還能把解決問題的方法歸納起來運(yùn)用在其他地方,能舉一反三兽埃,包裝成通用解決方案侥钳,或者做開源貢獻(xiàn),就更好了柄错。)
3.面對面試官體提問我們哪一個項(xiàng)目技術(shù)點(diǎn)最能體現(xiàn)自己的技術(shù)慕趴,然后不停追問技術(shù)細(xì)節(jié),例如做了一個相冊項(xiàng)目鄙陡,覺得列表優(yōu)化是最能體現(xiàn)技術(shù)點(diǎn)的冕房,會問這里優(yōu)化的思路是什么,怎樣評估趁矾,遇到過什么困難耙册,怎么解決的,如果用到圖片緩存開源項(xiàng)目毫捣,說說它具體做了什么事详拙,緩存策略是什么,從下載到顯示的整個流程是怎樣的蔓同,還有沒有更好的方案饶辙,追問到一定程度后也會發(fā)散去問跟這個話題相關(guān)聯(lián)的問題,例如如果有部分用戶反饋圖片顯示不了斑粱,你會怎樣排查問題弃揽,排查修復(fù)后怎樣監(jiān)控,就會過度到一些網(wǎng)絡(luò)和運(yùn)營監(jiān)控方面的內(nèi)容则北,也會順便問到一些基礎(chǔ)知識矿微。
4.通過上面的了解,面試官會選擇項(xiàng)目的大致架構(gòu)以及核心功能進(jìn)行提問尚揣,我們最好能畫出項(xiàng)目的大致結(jié)構(gòu)涌矢,也會問網(wǎng)絡(luò)層和數(shù)據(jù)層是怎樣實(shí)現(xiàn)的,為什么這樣實(shí)現(xiàn)快骗,項(xiàng)目最核心功能是怎樣實(shí)現(xiàn)的娜庇,例如做讀書的至少要知道項(xiàng)目里的排版引擎的大致實(shí)現(xiàn)方式塔次,做?QQ?的要知道消息收發(fā)的機(jī)制,如果不知道名秀,也可以說說如果自己實(shí)現(xiàn)會怎么做俺叭。這里主要看看有沒有技術(shù)好奇心,會不會積極主動了解項(xiàng)目里已有的非職責(zé)范圍內(nèi)的技術(shù)點(diǎn)泰偿,主動和好學(xué)這兩點(diǎn)是很重要的。
5.到最后面試官會問一些基礎(chǔ)知識蜈垮,如果前面的回答的都很好耗跛,這塊應(yīng)該會減少很多≡芊ⅲ基礎(chǔ)知識比如像內(nèi)存?/?網(wǎng)絡(luò)?/?存儲?/?線程等调塌,例如?ARC?是怎樣做到自動管理內(nèi)存的,跟?java/js?的垃圾回收的區(qū)別惠猿,網(wǎng)絡(luò)?http?協(xié)議是怎樣的羔砾,用過什么數(shù)據(jù)庫框架,db?索引是什么偶妖,多線程開發(fā)要注意什么姜凄,跟?runloop?的關(guān)系是什么等等。數(shù)據(jù)結(jié)構(gòu)和算法在筆試時會涉及趾访,面試會比較少态秧,如果問算法的話只會問問思路,一般我覺得如果項(xiàng)目經(jīng)歷方面不太好扼鞋,才會考慮考考算法作為輔助判斷申鱼。
6.一些通用能力像邏輯思維能力,溝通能力云头,自我驅(qū)動能力等都可以在上面那些問題的交流中表現(xiàn)出來捐友,另外像團(tuán)隊(duì)協(xié)作能力、抗壓能力和性格特征這些也會看情況考察一下溃槐,比如會問如果產(chǎn)品做的個設(shè)計(jì)匣砖,你覺得不靠譜,會怎樣做昏滴,設(shè)計(jì)讓你做個很難實(shí)現(xiàn)的效果脆粥,你會怎樣評估等。
7.作為程序員影涉,如果我們有?GitHub?開源項(xiàng)目是最好的变隔,直接可以看到代碼風(fēng)格,代碼質(zhì)量蟹倾,處理?issue?和?PR?的方式匣缘,如果有技術(shù)博客也是很好的猖闪,可以提前看到平時的一些技術(shù)積累,省了很多事肌厨。但如果?GitHub?內(nèi)容是培訓(xùn)班的那種仿寫?APP培慌,博客內(nèi)容是摘抄文章什么的就是負(fù)分了。
總結(jié):其實(shí)面試就是公司想低成本找到合適在團(tuán)隊(duì)里一起工作的人柑爸,因?yàn)槿绻ㄟ^一起工作一段時間去判斷是否合適吵护,成本太高。這種低成本的代價就是會誤判表鳍,有些工程師是理論型馅而,有些是實(shí)踐型,面試的方式會對實(shí)踐型的人不利譬圣,盡管我們?nèi)绻徽羞M(jìn)去是適合的人瓮恭,而且人會在不同環(huán)境下會有不同的表現(xiàn),只根據(jù)過去的經(jīng)歷去判斷有時是不準(zhǔn)確的厘熟。對于面試官只能盡量采取一些措施去減少誤判的概率屯蹦,例如公司會提高面試官的判斷能力,或多幾輪面試绳姨。一般如果不是急招登澜,策略都會是寧殺錯不放過,所以其實(shí)就算面試被否了飘庄,也不一定代表能力不行帖渠。