前言
2022-2023 年是IT行業受到嚴重衝擊的一年,行業情況是:多個公司裁員,很多員工失業……市面上各種人才,大廠出來的、機構出來的、公司倒閉的等等,找工作變得格外漫長。
隨著2022 年年底疫情放開,各大公司經濟正在恢復,但是坑位卻很少,甚至沒有。一些大廠甚至不招人,只裁人,“僧多粥少”的局面特別嚴重。這裡引用當時任先生的一句話:“把活下來作為最主要綱領,邊緣業務全線收縮和關閉,把寒氣傳遞給每個人。”
慢慢地,熬過了冬天。2023 年的春節之前,幾乎沒有公司招人,直到 2023年2月10日 左右,春節後的兩週,招聘軟體上開始湧現出一些公司,搜尋結果列表明顯增多:一些年前未曾看到的公司名字冒出來了。 是有真正在招人的,也有的只是為了打公司知名度,掛著招聘不理人的。(這種不要花時間在它上面)這是好的現象,但是,目前市面上競爭者仍然很多,換句話說,就是:一個崗位,簡歷很多。我們要做的就是:充分準備,出類拔萃!
一、求職經歷
本博主是2022年底被某個大廠裁員的,因此從年前看到了年後,期間回家過了個年。還在準備自己的某個考試。對於這場裁員,我其實是在等著的,先前的工作環境壓力很大,工作氣氛及其嚴肅,身體也有些變化。大禮包誰不想拿?只是這份禮包給的時機,作為員工,我們想不到。來了也挺好,因此,本博主完美避開了公司大面積感染陽性的危險,至今從未陽過!^_^
行情不好,著急就業的話其實可以很快,但是給的都是平薪或微漲,從大公司到小公司都是這個樣子,心氣再高也得向行情低頭。我有前同事找了半年的工作,據說2022年下半年基本沒有面試機會。好在我這位同事最近也拿到了滿意的offer!從獵頭以及一些HR那邊得到訊息:“今年基本就是這個樣子,大廠出來的也不好找工作,給的薪資基本都是平的,著急的即使是小公司也去了。” 所以,我這裡,本來可以早就業,但是心裡想達到期望的薪資範圍,於是又拖了快一個月…… “相差不大的薪資水平下,選一個更好的發展平臺”成了我最終的決策,現在在阿里旗下的某公司工作。當然,有行業內的同學,“騎驢找馬”,自己又有實力,跳槽漲薪是可以達到正常水平的!
本博主是一位女生,但是還年輕,單身未婚,這一點可能也有優勢。用其中一位HR的話說:“相比那些工作時間更久的,你認為自己怎麼樣?”,當時我是在面試,沒想太多,只是簡單說了幾句。後面反思,這或許就是HR在拿我與其他人對比,是我表現自己優勢的機會。當然,公司招人,需要的是技術能力!我面試的是高階前端開發工程師(期間不小心面了個前端專家,面試中才知道對方招的職級,阿里某部門)。還有面試官認為我很優秀的,但是薪資是個大問題……難啊!這時代,這行情,不易!
確定工作後,我們組急招人,好不容易拿到HC(坑位),是 Java 後端崗位的,我們領導鼓勵下屬幫忙內推。於是我又開始從市面上撈人,發現簡歷真的很多……但是更多的是30歲以上的,這裡對年齡沒有偏見,只是客觀描述一下現象,可能是有公司又裁員了吧。據一位應聘者說,他回家半年多,照顧家裡,先前還有不錯的機會,沒有去,現在已經找不到工作了。期間我也有幫其他組內推,但是結果是:被刷掉的居多……當然,年輕又有能力的,特別棒!背景好能力強的不愁工作,相信自己!
這些是現在的行情分析以及個人求職經歷概述,下面說說我們的專業技術吧!

## 二、前端面經
博主這次求職,真的是大大小小的公司都面過了。起初從不海投,瞄準中大廠合適的職位再投遞,是想選出與自己更匹配的崗位。但是,吃虧了,好久沒面試,我其實得先積累經驗呀,都問啥?我得先做個準備。
### 1. 投簡歷的正確開啟方式
正確的開啟方式是:
1. 先投小公司或不想去的公司
2. 回顧一下面試題,總結知識點
3. 優化簡歷,再投自己希望去的
4. 繼續總結面試題,覆盤(這點非常重要!!!)
>本博主有些三天打魚兩天晒網的,呃呃,可能由於我的簡歷背景好,基本都能得到面試機會,就忙著面試了,做覆盤有些不及時。別學我……
>面試太多,每次面試前我都提前開啟電腦,精心打扮一番的(疫情剛放開,視訊面的特別多,後期也有去現場面試)。就比較花費時間,有時候也會心慌的,面試完又去平復心情,覆盤就落下了。
>但是,年後的面試,基本都有做覆盤總結,查漏補缺我是有用心的!
**告訴大家一個終極技能:面試題真的會重複!**
###
2. 面試經歷及面試題覆盤
咳咳,前端小夥伴注意了啊!大到`阿里`、`百度`、`拼多多`等,小到XX不知名公司,還有一些中廠,不具體羅列了,核心面試題都在這了,我嘔心瀝血整理的!免費領。。。
>對了,說明一下,騰訊、愛奇藝、美團、京東、得物,這都是大廠、中廠吧,我求職期間他不招人,我能咋辦。。。他們可能還在忙著裁員呢,哎……
#### 外企面經、面試題
外企要求英語,某外企我面了下,說實話,博主本次求職中的第一次面試,我面過了啊!But,薪資稽核沒過,我藍瘦,好吧……TT 我當時不知道行情啊,HR跟我談薪資時,一直堅持自己,結果可想而知。
然後,中間過程,著名大外企`花旗`我也面了,年初面的,有內部人員告訴我說他們不招人,沒HC,他們自己還準備裁員。引用《狂飆》蔣天的一句話:**“拿我當炮灰啊!”** 想吐槽,他們HR讓準備一份英文簡歷,英文自我介紹,還有英文的專案溝通,然而它家面試官態度極其敷衍,一句外國語沒問!!!全中文!不過我謝謝他,積累經驗了。
**面試題**:
- 準備一段英語自我介紹,面試官真的會問。(第一家面試官問了)
- HTML、CSS基礎問題問幾個。[塊級元素行內元素](http://blog.csdn.net/aaqingying/article/details/116767750)、定位這些。
- [BFC](http://blog.csdn.net/aaqingying/article/details/119522529) 你知道嗎?(`高頻`)
- 說說[JS的陣列遍歷](http://blog.csdn.net/aaqingying/article/details/129115093),有幾種方法?(`高頻`,阿里也問了)
- [陣列亂序](http://www.cnblogs.com/macq/p/6650586.html)怎麼實現?(這個問題有中型公司也問了)
- 深拷貝、深對比如何實現?(答案在我腦子裡,這裡先說題目,需要知道的評論區請留言)
- [陣列怎麼去重](http://blog.csdn.net/aaqingying/article/details/112793878)?
- React生命週期有哪些?(花旗是一句框架都沒問,這是另一家的)
>加超連結的請注意,是答案解析。
>這裡先羅列面試題,有疑問請留言或私聊。
#### 大廠面經、面試題
我這,能記清是哪家的就標註下,記不清的就直接寫。無償分享,希望會對同行們有幫助~

**一面**:一般都是`八股文`,年輕的面試官經驗少,他們全都大炮轟擊問不停(阿里、飛豬、米哈遊),有的感覺是走過場,反正阿里基本都有`演算法筆試`,可能他們問個基礎後面留給二面去篩了;有資深的會問的比較有水平,一步一步問,然後`扒原理`,測試候選人基礎。
**二面**:前端負責人或團隊老大或技術總監,問專案,剖析難點。這個答出來了就問另一個方向,能問到頭疼。各方面都問,非有一個問倒你,不過不影響,好好表現就行。問倒你也只是代表面試官水平高,想讓你佩服他。
**三面**:如果還是技術的,就是技術總監或CTO,看公司大小,問各種軟實力。
**HR面**:大多數公司三面就是HR了,有的HR難搞,對於她們的心理,博主還嫩著(捂臉),分析不了多少。**懂HR的請留言,一起分享經驗**。會問之前工作情況,薪資,跳槽/離職原因,對以後工作的期盼,對自己的定位等。還會考察穩定性。
然後呢,他們不會立馬下決定,會讓面試者等通知,其實就是和其他候選人對比去了,考察能力、薪資等。這時候,要主動去問他!代表你還在,他迴應說在考慮中就說明沒被 pass,還在對比。
絕招:薪資說低點 `offer` 拿得快!
(但是這,不想要高薪了,點選)
**說實話,這些都是高頻的,不高頻我也記不住啊,超高頻的我註明。**
**面試題:**
- 專案中的跨域如何處理的?(`高頻`,各大公司都問那種)
- [防抖與節流](http://blog.csdn.net/aaqingying/article/details/128968528),什麼場景用?(基礎)
- [HTTP協議](http://blog.csdn.net/aaqingying/article/details/119483272) 的理解。(`高頻`,米哈遊,阿里,眾安保險)
- `React`原始碼讀過嗎?讀了哪些?(`高頻`,阿里等各大公司都問)
- 懶載入如何判斷元素出現在視口內?(`高頻`,阿里某部門面試官直接對著我部落格問。答案:[C站](http://blog.csdn.net/aaqingying/article/details/128808977)、[掘金](http://juejin.cn/post/7194453607108837431),作者都是我。)
- [`React` 的類元件與函式式元件什麼區別?](http://blog.csdn.net/aaqingying/article/details/116714444)(`高頻`)
- `React` 中的元件通訊。(都問,能提到`forwardRef`是[加分項](http://blog.csdn.net/aaqingying/article/details/122581477))
- `React Hook`的副作用。
- `React` 裡面的優化點。(其實是想引出`useMemo,useCallBack`)
- 場景題。面試官提問題,問怎麼解決。
- `React Portal` 的理解與使用。
- `Event Loop`事件輪詢機制。(說完做題)
- 如何判斷是手機端還是PC端?(`高頻`)
- 移動端適配怎麼做?
- `H5` 與手機是如何通訊的?
- 樣式覆蓋如何處理?
- 箭頭函式與普通函式的區別?本質區別是什麼?
- 無狀態元件、有狀態元件。
- `TypeScript`的泛型。
- `Redux`工作流。
- 瀏覽器如何做靜態資源快取?
- `SSR`服務端渲染的理解。
- 普通函式與`自定義hook`的區別。
- `HTML`中的`DOM`操作。(回顧覆盤大學所學知識)
- `Axios`與`Ajax`的區別。
- **React的一堆面試題在這**:[React專項面試題](http://blog.csdn.net/aaqingying/article/details/128401761)(`高頻`)
- `JavaScript`有哪些資料型別?如何判斷這些型別。
- `Promise`的理解。
- ES6中`let、const`與ES5 `var`的區別。(基礎)
- 如何實現[全網置灰](http://blog.csdn.net/aaqingying/article/details/128496253)。(CSS考察,剛好問到,我寫過文章)
~~寫到這,有些累了,挺考驗我記憶(雖然我有做筆記,回憶起來也累啊!)~~
剛剛說了,**有深度的面試官不會直接問八股文,會一點點挖面試者的能力!** 他們會通過問題引出想要的東西,看能不能引的出來,我們要能答出來就很好,正中下懷!還有就是看潛能了,沒固定答案的。根據實際經驗回答,這一環也能淘汰很多人。
深度問題:
- 前端工程化做過什麼貢獻?(專案貢獻)
- webpack打包優化做過什麼嗎?
- 為團隊做過什麼技術優化? 前端優化?(`高頻`)(考察能給團隊帶去的價值)
- 做過什麼封裝?通用元件有哪些?(`高頻`)
- 封裝過自定義HOOK嗎?(面試官想聽實際產出,考察思維能力等)
- `CDN`快取機制,原理。
- 說說 WebSocket 的理解。
- 微前端的理解。
- 白屏時間分析。
- 登入功能怎麼做?Cookie的一系列問題。
- 大檔案上傳如何解決?
- 技術改造。
**這些面試題是高階/資深前端的,** 初級請篩選出來些基礎問題就好,或看我其他文章。
#### 面試中的筆試
其實說白了,它就是筆試,只是會說成“程式碼考察”。
當然,現在很多公司開始卷,前端工程師也得做筆試。也是博主為難的點,硬著頭皮上吧!
##### 有這三種筆試題
1. 硬生生的演算法題。刷力扣,賽碼網這些。我遇到的有這些:[前端筆試題](http://blog.csdn.net/aaqingying/article/details/128434993)。 `百度、阿里`都有出陣列轉樹的,但是有情景,具體題在面試時給到,讓轉為要的資料格式。
2. 也有些面試官比較人性化,TA是前端出身的,不會生考演算法,會出JS題去解:Promise、事件輪詢這些。還有作用域。`JavaScript` 功底要十分深厚!`前端攻城獅`的生存技能!這種筆試題對我們來說很友好了。還有的,[千分位分割](http://blog.csdn.net/aaqingying/article/details/126429397)、非同步轉為同步,每次傳送2條請求,讓自己寫。
3. 還有一種,就是工具類封裝。用 JS 寫吧!型別判斷啊,非同步請求啊等等的。
#### 給同行的溫馨提示
求職中,如果遇到沒讓面試就扔筆試題的,不要幹!
實際上屬於浪費時間,有這點時間趕緊看其他家吧。某大公司有這麼幹的,看部門,不吐槽整個公司,每個部門有他們自己的篩人方式。個人認為沒必要,因為我們做題的同時,他們看上了簡歷更優秀的其他人,簡歷背景一般的即使是做題也不佔優勢。還有就是薪資,薪資要高了,即使面試和筆試都過了,一面透露可以複試的,但是複試面試官認為以往經驗不匹配,這題也白做了。這種沒辦法。所以,有面試機會之後的筆試,做做也好,就當積累經驗了。
有很多公司是看以往經驗的,除了日常工作接觸的,自己也需要探索一些其他技能。假設我們是做PC端的,下一份工作想找移動端,用人單位只看簡歷,簡歷有凸顯才有優勢。因此,我們只能用下班時間去涉獵更廣的技術,也可作為專案經驗。
參考我的
面試題,及時做覆盤總結,會有所收穫的。感謝讀完我的文章,祝您好運!
#### 我的其他熱門文章
- [非同步請求Axios](http://blog.csdn.net/aaqingying/article/details/124577192)
- [TypeScript面試題](http://blog.csdn.net/aaqingying/article/details/119427063)
- [VScode配置ESLint檢測語法+Prettier程式碼格式規範化](http://blog.csdn.net/aaqingying/article/details/120670650)
- [前端如何優雅的實現跨終端開發(PC端+移動端)](http://blog.csdn.net/aaqingying/article/details/128429872)