本文是給想進入「BAT」等企業的開發朋友們提供思路的,內容所有來自於真實經歷。前端
你們好,我是小白(化名),一名 iOS 開發工程師。程序員
有些人在畢業的時候就能順利進入「BAT」、「TMD」、「FLAG」,可是更多的人並無這個機會,好比,最典型的——我。面試
努力就能改變命運。這是真的嗎?算法
在我看來,雖然我不是特別聰明(但也不笨),可是努力確實給我帶來了更多的機會。經過努力,我順利拿到大廠offer,相信此時正在看這篇文章的你也必定能夠的。編程
因此,不管你是想跳槽去大廠的工做黨,仍是即將畢業找工做的應屆生,若是你想要進大廠殊不知從何着手,但願你能將這篇文章反覆看幾遍,根據本文的內容找到正確且適合本身的方法,努力打磨,而後堅持堅持再堅持,我相信你必定能拿到大廠的offer。安全
我畢業於一所普通的二本院校,大學時曾夢想成爲學霸,幻想進入 BAT 大企業。然而,現實啪啪打臉,學渣一名。畢業的第一天,就成爲一名待業狀態的社會人。性能優化
曾經的我就是現實版的「餘歡水」:「努力」地活着,卻老是被生活「欺騙」。數據結構
上大學時,興趣普遍,但葉公好龍,無一擅長; 我想要成爲學霸、有所成就,但好高騖遠,無所做爲; 畢業那年考研,順利落榜; 後來痛定思痛,背水一戰,參加公務員考試,意外經過筆試,卻惜敗在面試。架構
那一年,我深入地感覺到 世界辣麼大,卻沒有個人容身之處。框架
迫於生活壓力,在親戚的介紹下,我進入深圳的一家創業公司作 iOS 開發。
因爲我技術比較菜,工資只有 5k。當時我連 UITableView 的代理方法都不會用,UIView 的 frame 都不會設置,每次參加需求討論會的時候,都插不進話,由於我都不是很懂啊。
實在要發言時,卻也只能附和安卓的同事,說:俺也同樣。
若是連最簡單的業務需求都不能完成,是要被開的,因此當時的我就是處於被開的邊緣。 迫於工做壓力,我必須花額外的時間把基礎知識都弄懂。
可是,由於虛榮心做祟,我又不想被同事說我太菜,因此天天選擇在同事們下班後,一我的在公司瘋狂學習。 若是別人正點下班,我就「996」; 若是別人"996",我就"10106"。
功夫不負有心人,三個月左右,我就能勝任獨立模塊的開發了。爲了向進階發展,我看完了《Effective Objective-C》、《Core Animations》等當年市面上全部的 iOS 書籍和技術文章,並及時地把一些高級技巧在項目中實踐。
因爲在公司表現良好(多是加班比較多😂),領導給我漲薪到 8k。可是我以爲當時個人水平最起碼可以得上 12k 以上。在這家公司幹滿一年後,我決定跳槽了。那年是 2015 年。
2015 年 iOS 的行情還不錯,趁熱打鐵,我本身投簡歷面試,很輕鬆就進入一家 Top 10 的金融互聯網公司。
大公司的分工更細,流程更規範,我在這裏待了兩年,時刻保持一顆學習的心態。
在這兩年中 iOS 開發的大環境已經出現了拐點,因爲開發者數量供大於求,總體上找工做的狀況不如以前。 爲了讓本身不掉隊,我複製在我在上家公司的成長模式——瘋狂學習。
我研究並實踐了當時社區比較流行的技術,好比 RAC、RxSwift、逆向開發、組件化等等。但我明白,因爲我大學時候基礎太差,離去一線互聯網大廠的水平還有差距。
有一天,我收到獵頭的電話,問我是否考慮騰訊?我欣然答應,沉睡在我心中多年的幻想又被喚醒。
然而想進入大廠沒那麼容易,須要對面試作系統性的準備。
我開始利用業餘時間夯實面試須要的基礎知識,通過大概三個月的準備,經過了五輪面試,終於順利加入鵝廠!
下面我把準備面試的經驗分享給你們(爲了尊重公司,我不能把原題告訴你們,但我會把方向告訴你們,由於方向裏天然有「題庫」),分爲基本功、軟實力、加分項三個方面。下面一個個來講。
所謂基本功,就是你須要練到有肌肉記憶的技能,當面試官問起的時候,你可以信手拈來。
簡歷的好壞決定第一印象。
不少人可能技術很牛逼,卻沒能得到面試機會,就是吃在簡歷的虧上。好比,錯別字連天、排版混亂、語句冗餘不通順。下面是我總結出的要點:
我走的是極簡風格,直接使用 Markdown 進行書寫,而後轉換爲 PDF 格式。
做爲一個 GUI 開發者,你也能夠把簡歷製做成一個靜態頁面,加上漂亮的動畫效果,來展現你優秀的基本功,給面試官眼前一亮的趕腳。好比,個人一位朋友就是這樣製做簡歷的,當時也順利地經過了面試。
請遵循「STAR」法則。即情境(situation)、任務(task)、行動(action)、結果(result)。
好比,「爲解決項目中遺留的回調地獄和內存問題,我用了 RxSwift 重構了 XX 模塊,在團隊內普及了響應式編程思想,受到了團隊成員的一致好評」。這一般也是面試官提問的邏輯。
不少人會諷刺:面試造航母,上班擰螺絲! 其實否則,面試的高要求對於一家優秀的iOS需求單位來講是必須的!
iOS開發實現的確有不少的方式,可是一個真正懂得原理的開發人員在往後的開發工做中是很是重要。我見過一些開發人員:遇到BUG都是直接面向百度,不知道爲何直接 command + c
/command + V
OK,解決了,打版走人,下次又遇到了仍是要面向百度,其中浪費的時間和小夥伴之間的溝通成本可想而知!
底層原理只是你在工做開發中偷懶而逃避選擇使用而已(或者全然不太瞭解)
技術不斷更新,底層原理是永恆根基
底層原理是很是重要的,只有真正掌握原理才能迎接將來無限可能。
下面是我推薦你們學習的內容:
OC 底層探索篇也是你們熟悉而又陌生的地方,平時到處用,就是不知道爲何!
只要你面試要求 20-30K
必然要求性能優化能力!
怎麼優化啓動速度,應用包的瘦身!
界面優化(卡頓檢測以及分析解決)
內存管理方面也是面試以及平時開發的重災區!
架構並不屬於性能優化,可是我要求每個 3以上開發
都要有必定的架構思惟!
數據結構算法應該是每個程序員必備的根據。我記得個人導師跟我說過:一個程序員須要兩樣東西:智商和勤奮
英文能力陪襯你的勤奮度
數據結構算法反饋你的智商等級
數據結構與算法並不僅是抽象的概念,掌握好的話能夠寫出更高效、運行得更快的代碼,這對於現在盛行的網頁和移動應用開發來講尤其重要。若是你最近一次使用算法是在大學課堂上或求職面試時,那你應該還沒見識到它的真正威力!
這個主題的大多數資料都有一種通病——晦澀難懂。滿紙的數學術語,我以爲一種有趣的學習方式也是很是重要的!
跨平臺的方案有不少:
如上表所示,RN
、Weex
採用的技術方案大致相同,它們都使用JavaScript
做爲編程語言,而後經過中間層轉換爲原生的組件後再利用Native
渲染引擎執行渲染操做。而 Flutter
直接使用 skia
來渲染視圖,而Flutter Widget
則使用現代響應式框架來構建,和平臺沒有直接的關係。
從性能方面來講,Flutter
的性能理論上是最好的,RN
和Weex
次之,而且都好於傳統的 WebView方案
而從社羣和社區的活躍來看,RN和Flutter無疑是最活躍的
總結:我我的針對如今的行情比較推薦你們學習:Flutter
同時如今不少人也開始着手學習了
如何陪襯你的優點,我我的還要推薦在平時入門到項目的過程,不妨花點時間探索了一下背後的原理:渲染的流程,Flutter
和原生的共存通信優化
下面這張思惟導圖你們能夠參考學習
我用四個詞來歸納: 自信、流暢、耐心、禮貌。
不少小夥伴可能編碼技能不錯,卻不能在面試中表達出來。
在面試過程當中,不管面試環境怎樣,面試官態度如何,你都要保持積極的態度。請記住,你是在求職,就要創造一切對你有利的因素。
好比,你能夠與面試官主動握手,增長好感。
若是面試官問你的問題,你恰好不會,也要儘量列舉這個問題相關的概念,而後推測出這個問題的答案。
好比,面試官問,二進制重排的原理是什麼?
假設你恰好不知道這個知識點,你能夠答 App 啓動前 dyld 相關的概念或者說一下 Mach-O 二進制格式的原理,來推測可能的二進制的重排機制,即便推測錯了也沒有關係,由於在這個過程當中至少展現了你積極解決問題的能力。
固然,若是連相關概念也想不出來,那就誠實地回答不知道或者向面試官請教一下吧。
做爲開發人員,不免會在工做中與各類人撕B,可以扛過這些壓力,也是一項重要的素質。
好比,面試官問,你的學歷背景通常,學校排名靠後,和2十一、985的畢業生競爭有什麼優點?
那你要怎麼做答?
若是你是一個心理素質很差的面試者,極可能就會支支吾吾或者憤而離場了。 相反,你應該不卑不亢,冷靜做答,由於這偏偏多是某些面試官看好你的信號。 經過壓力面試給你最後的考驗,因此千萬不要失之交臂。
做答舉例:
雖然個人學歷不是2十一、985,可是我仍然經過了前面的技術面試,說明了貴司對個人技術實力的承認; 學歷證實了過往的學習能力,我是普通本科,卻能與2十一、985的畢業生同臺競爭,說明個人學習能力並不輸給他們。
如今的iOS開發爲何會遇到瓶頸是由於:前面儲備過少,坐吃山空! 技術不斷更新的時代,我但願你沉下心來與時俱進,不斷儲備技能爲本身加分
其實這裏並無很是具體的推薦學習方向,總的以下幾點!
5G時代,小視屏/直播技術都是如今當紅,而且掌握人羣很是少的技術,OpenGL ES、Metal、FFmpeg等等!
而應用逆向安全,是大部分大廠都一直重視的,只是在小公司突顯不出來,若是對於大廠有想法的,能夠嘗試學習!
固然除了跟iOS有關係的,好比被炒火的Python,謠傳比iOS好找工做的前端等等都是能夠學習的!
技術儲備和亮點,這些都得根據我的興趣或者公司需求來進行學習,固然越多的儲備就會使你後面的路走的越容易!
如今不少大公司招人已經明確限制須要 2十一、985 的學歷,而對於咱們大多人這種雙非二本學歷,連敲門磚都木有。可是,可否拿到 offer,除了真的很幸運,也和自己的努力分不開。
020 持續更新,精品小圈子每日都有新內容,乾貨濃度極高。
結實人脈、討論技術 你想要的這裏都有!
搶先入羣,跑贏同齡人!(入羣無需任何費用)
BAT大廠面試題、獨家面試工具包,
資料免費領取,包括 數據結構、底層進階、圖形視覺、音視頻、架構設計、逆向安防、RxSwift、flutter,