寫在開篇的思路
2020年是多災難的一年,對于我們每個人來說,健康地活著比什么都重要。受到疫情的影響,很多公司都過得比較艱難,裁員更是普遍,所以對大部分來說保住飯碗就很不錯了,更別說什么跳槽晉升了。
但今年的我,似乎要比很多人幸運,??瞥錾恚瘘c很低了,在看重學歷的一眾大廠中殺出一條血路。工作兩年我就跳槽進入了蘇寧,在蘇寧待了3年,現(xiàn)在竟到了阿里。身邊很多人都好奇,我究竟是怎么做到的?下面就來分享一下我這些年是怎么快速晉升的,希望能夠給你帶來一些啟發(fā)和幫助吧。
本文主要分享4個點,可按需來閱讀:
Share1:阿里iOS崗面試題
Share2:蘇寧開發(fā)三年,我如何積累經(jīng)驗?
Share3:5年開發(fā)經(jīng)驗,如何跳槽阿里?
-
Share4:如何提升阿里社招面試通過率?
Share1:阿里iOS崗面試題
1、介紹項目
2、在KVO中,他是怎么知道監(jiān)聽的對象發(fā)生了變化?
3、字典的工作原理 ?怎100w個中是怎么快速去取value?
4、一個上線的項目,知道這個方法可能會出問題,在不破壞改方法前提下,怎么搞?
5、Block和函數(shù)指針的區(qū)別?
6、性能優(yōu)化
7、YYModel和AF源碼
8、如何自己設計json轉model
9、架構
他們的面試官好像都愛問一下底層的東西,比如這次面試上來機會問我KVO的問題。
問題【1】,看著好像很吊的樣子,仔細一樣不去思考,可能還真不是太了解,
問題【2】,這個就是純純的數(shù)據(jù)結構的問題了。
問題【3】,這個就是iOS的runTime的問題了,要只要isa,和一些swizzling技術
問題【4】,就是看你了解有多廣泛了。
二面
1、淺拷貝和深拷貝的區(qū)別
2、Block的循環(huán)引用、如何解決、原理
3、Block和delegate的比較
4、kvo的實現(xiàn)原理
5、Autorelease pool的實現(xiàn)原理
6、消息轉發(fā)機制
7、線程死鎖的四個條件
8、進程和線程的區(qū)別
9、持久化
10、事務的特征
中途還討論了Masonry的約束應該寫在哪里,我說應該寫在layoutSubViews,他說會調(diào)用多次,然后爭論了一會兒
三面
主要問了項目的一些東西 和給一些場景問我如何實現(xiàn)
自我介紹 介紹一些項目難點
主線程是相對于什么而言的
一張圖片的內(nèi)存占用大小是由什么決定的
索引的作用
索引的優(yōu)缺點
在數(shù)組中找最小的k個數(shù)
淘寶下拉加載更多如何優(yōu)化
淘寶頁面發(fā)送HTTP請求的過程
介紹一下MVVM
知道哪些設計模式
三面面試官主要就聊了一些具體場景問題和一些基礎,基礎應該是沒太大問題。

(1)善于利用碎片時間,學習提升自我
- 從初級程序員升到資深開發(fā),沒有別的捷徑可走,從始至終我都奉信:進步得靠學習,學習得靠時間堆砌。現(xiàn)在互聯(lián)網(wǎng)行業(yè)基本上都是996趨勢,程序員加班情況更為明顯,所以利用碎片時間來學習,才是提升自己最合適的方式。
- 先算算我個人的學習時間賬(可參考,可借鑒):
每天早上起床后,大概30min(上廁所,吃早餐,通勤等)
每天上班時,利用別人劃水的時間搜一些技術資料,逛逛技術博客,約30min。
晚上通勤、吃飯(這個階段我一般會休息+娛樂來調(diào)整自己狀態(tài),刷刷微博、朋友圈)
晚上到家后,不管再累都會抽出1~2個小時來學習,看書+看視頻。
- 這樣計算下來,一天大概平均在2~3小時,一周5天至少10個小時,不包括周末。
- (2)解決Bug積累經(jīng)驗(提升自己優(yōu)化能力)
- 論壇上流行一種說法:大部分的程序員都是通過BUG來積累經(jīng)驗的,你解決的每一個BUG都是你的經(jīng)驗。
- 實際上,這觀點并不在強調(diào)BUG的重要性,而是意味著程序員可以通過改Bug來提升自己的優(yōu)化能力,但這個“改”就非常關鍵了。
(3)參與開源項目
其實,在很多面試攻略和分享中,我們都能get到一個信息:參與過開源項目的面試者往往更吃香,更容易獲得offer。
那么,為什么參與過開源項目的程序員會更吃香更搶手呢?
大型的開源項目幾乎都是大型團隊構建的,且非常復雜,由此可以推斷出你個人的能力和素質(zhì)都是過關的;
開發(fā)開源項目,說明個人的綜合能力得到極大提高,這些能力包括“書面溝通能力”、“了解如何挑選和協(xié)商要處理的事情”、“完善Git流程/GitLab流程”、“理解語言語法”等等;
其他:建立線上聲譽、保持個人的進步的動力等等。
(4)提升自己的軟實力,讓自己更專業(yè)
按照我個人的理解來說,初級程序員更像學生,而高級程序員則需要擁有“獨當一面”的能力,而這個過渡是需要時間的,也是我前兩年來努力的方向之一。
提升自己的軟實力,成為更專業(yè)的程序員:
要學會積極主動溝通;
提升自己解決問題(bug)的能力,積累解決問題(bug)的經(jīng)驗;
協(xié)調(diào)(扯皮)的能力:工作方面積極主動協(xié)調(diào)部門;
學會合作,一起完成一個任務或目標。
Share3:5年經(jīng)驗如何跳槽阿里?
- Step1:知己知彼(了解崗位職責,規(guī)劃職業(yè)成長路徑)
- ①崗位職責
- 求職時,我們往往更注重簡歷,卻忽略了“崗位職責”這個關鍵詞,實際這往往也會影響到我們的面試結果。
- 俗話說“知己知彼,百戰(zhàn)不殆”,崗位職責非常清晰明確地標注了應該干什么,怎么干,干到什么標準,對于程序員來說,技術掌握程度以及之后的開發(fā)內(nèi)容都要了解清楚。
②成長路徑
在第一次正式工作后,我就非常認真仔細的思考過自己日后的發(fā)展方向,實際上程序員的成長軌跡(晉升路徑)越早確定越好。程序員的方向大致分為技術崗和管理崗,而這兩個方向所看重的能力還是有很大本質(zhì)區(qū)別的。
成長路徑如下:
管理崗:初做者→技術經(jīng)理→技術總監(jiān)→副總裁→總裁
技術崗:初做者→高級工程師→技術專家→領域?qū)<摇I域權威

Step2:制定目標(制定明確的、可衡量的、可達到的、有時間限制的目標)
在職場中,一定要制定自己的的目標,這樣才不免被淪為“咸魚”,想要快速晉升,就得從目標下手,目標需要滿足SMART原則:
具體的(Specific)
可以衡量的(Measurable)
可以達到的(Attainable)
具有相關聯(lián)性的(Relevant)
有明確的時間截止的(Time-based)
簡單來說,我的操作就是將自己的目標進行階段性的拆分,比如我1-3年需要達到一個什么階段,3-5年要達到什么階段,然后在這個階段里繼續(xù)進行拆分,樹立一個一個小目標,然后構成一個大目標,總目標,這樣就會容易達到得多了。
Step3:善于思考(培養(yǎng)逆向思維、優(yōu)化思維)
不想機械式的碼代碼,快速晉升之道首先就要轉變自己的思維,要開始慢慢調(diào)整,善于思考一些問題,培養(yǎng)逆向思維和優(yōu)化思維。
所謂的逆向思維,就是要多問自己為什么?如:
為什么需要這些數(shù)據(jù)?
為什么要做這些事?
為什么要做總結?
為什么要做規(guī)劃?
為什么要做代碼審核?
而優(yōu)化思維,則是把事情做得更好,即使是繁瑣雜事,也有優(yōu)化的空間,包括效率和效果,任何事都是有優(yōu)化空間的,缺少的是發(fā)現(xiàn)的眼睛。
Share4:如何提升阿里社招面試通過率?
- (1)準備簡歷
- 面試是會根據(jù)簡歷來進行對你提問的,尤其是對于開發(fā)人員來說,看到你的項目經(jīng)歷后,或多或少都會問相關的問題,甚至一線互聯(lián)網(wǎng)公司會針對項目進行提問,所以準備簡歷這一環(huán)節(jié)就尤為重要。
-
準備簡歷時,一定要真實,簡歷作假是職場大忌,切記切記。其次,要分清楚“了解、熟悉、精通”三詞的區(qū)別,對技術棧的掌握程度跟面試題難度密切相關
當然,為了幫助各位能夠順利過了簡歷,我也準備了一些模板大禮包,包括我自己的個人簡歷也在里面,歡迎大家參考:> 這里有我準備的一線大廠面試資料和簡歷模板,歡迎Star!
https://docs.qq.com/doc/DVXdtWXJGVWt0TkVG
(2)盡量找內(nèi)推
校招容易,社招難。這是一線互聯(lián)網(wǎng)的普遍現(xiàn)象,對于應屆生的要求相對來說還是比較寬松的,但對于有一定工作年限的人來說,技術要求就比較高了,因此很多中途想要進一線大廠的人都說社招實在太難了,簡歷都過不了。
那其實也是有一些“捷徑”可走的,可以找一些內(nèi)推機會,相對直接社招來說,幾率大大提升了。
(3)對技術要掌握一定的廣度和深度
既然是技術崗,那么企業(yè)對于技術掌握的廣度和深度是有自己相應的要求的,學歷在技術面前都顯得沒那么重要了,因此努力提升自己的技術水平是程序員的首要目標。
那么,技術要掌握到什么程度呢?特梳理了一下技術路線,如下圖譜:
對于現(xiàn)在流行的一些技術框架,我又掌握得如何了呢?實際上,我是有一個記錄學習心得,做學習筆記的習慣,所以我對一些技術也有自己的總結和經(jīng)驗。
iOS核心成長筆記:

面試核心技術筆記

高效高質(zhì)量代碼方法:

學習干貨與總結

以上文章中,提及到的所有筆記內(nèi)容、面試題等資料,均可以免費分享,只需要你:在文末 “點個贊” 或者 評論 “Mark”,謝謝您的支持
歡迎加入我的iOS討論圈子:761407670 加入回復簡書就好了! 獲取文章資料 一起交流技術
學習,永遠不會辜負你,靠學習得到的,永遠是你最寶貴的財富。

