受疫情影響,大家的日子都不好過,沒有什么可以幫到大家的,就寫了這篇前端面試總結,希望能幫到你
簡歷
首先,關于簡歷還是蠻重要的,沒有錯別字、語句通順是最基本的要求
然后最關鍵的一點,就是不光要寫做了什么,還要寫上可量化的效果,比如“提升了效率”,可以改成“效率提升了50%”,要寫阿拉伯數字,不要寫百分之五十,這樣不直觀
可以參考阮一峰老師的一篇文章,寫的非常好 https://mp.weixin.qq.com/s/Gk19erLsvUskRFublKS8JA
簡歷模板的話,我一個朋友寫了一個前端簡歷生成器,大家可以免費使用 https://github.com/jeoy/its-me
面試
對于有經驗的前端開發來說,技術面試主要從兩個角度來考察,基礎知識+框架原理(項目經驗)
基礎知識
javascript
- 閉包 (幾乎必考)
- 原型鏈 (幾乎必考)
- this指向
- Promise (基礎的會問使用,高級的會讓手寫Promise,或者實現Promise的某個api,像Promise.all等)
- 事件循環 (幾乎必考)
- 跨域 (跨域的方法,往深了會問為什么jsonp、iframe可以實現跨域)
- xss攻擊、xsrf攻擊(場景、怎么防范)
- cookie、session
- 重排、重繪
- 深拷貝
- 防抖、節流
- ES6的一些新特性使用
css
- position的值 (經典中的經典了,relative和absolute都相對誰定位,這種就是屬于權重不高,但是必須得會的)
- 垂直居中的方式有幾種 (這個大概說幾種,同屬于權重不高,但是必須得會的)
- animation和transition的區別 (現在估計很少問了,但是得會)
- BFC (有點難度,必考)
- 幾種css單位
算法
算法的話,我覺得還是刷刷leetcode比較好,我之前遇到過一個棧結構的題,得虧刷leetcode的時候遇到過
- 冒泡排序、選擇排序 (感覺現在考的不多,但是還是掌握了比較好)
- 樹 (遍歷二叉樹呀,找二叉樹的最大深度呀,,,感覺現在考查樹的算法題比較多,還能考察到一個能力就是遞歸)
計算機網絡
- 哪幾層網絡協議
- http和https的區別
- 狀態碼 (總會考幾個的)
基礎差不多就上邊這些,由于面試時間限制并不會全考,但是這些算是必會的吧
框架原理
框架原理部分的考試重點,主要根據你的簡歷所體現出的技術棧
react
- vitrual dom
- diff原理 (往深了會問 fiber)
- hooks使用 (建議看一遍官方文檔)
- mvvm
- 生命周期
- shouldComponentUpdate (react性能優化相關)
- setState是同步還是異步
- 受控組件、非受控組件 (參考官方文檔,很全面)
- React context (使用場景)
- 接口請求為什么放到 componentDidMount 周期里
- react常見性能優化方式
- react合成事件及事件代理
webpack
基本不會考如何配置,都是考某個插件的原理,如下:
- webpack-hot-middleware 原理 (EventSource)
- webpack-dev-server 原理
node
- 事件循環機制 (如果簡歷里寫了node,必考)
- GC機制
結尾
現在大概能想到這么多,時間有限答案就沒整理,如果大家呼聲高的話,我后續更新答案,想看答案就點贊一下,哈哈哈~~~