不到一年前端經(jīng)驗(yàn),面試官都會問什么

主題 CSS

終于,我也有機(jī)會寫一篇面經(jīng)文~這其中也帶著一絲感傷,提了離職,搬了東西回家,屬于我畢業(yè)后的第一份工作就這樣結(jié)束了~我面試了一些個小中大廠,最終拿到了快手的offer,本篇文章將記錄及分享我在這次面試中積累的一些不是那么成熟經(jīng)驗(yàn)

面試準(zhǔn)備階段

學(xué)習(xí)以及復(fù)習(xí)基礎(chǔ)知識

這一定是第一步需要做的事情,先制定規(guī)劃,然后按照這一條既定的規(guī)劃去學(xué)習(xí)以及復(fù)習(xí),可分為六部分去準(zhǔn)備:

css部分

css 這一部分,面試必問,但是它的東西很雜很多,我不知道有多少人和我感覺一樣:學(xué)習(xí)前端最難的是 css ,而不是 js 。

css這一部分,布局、實(shí)現(xiàn)一個什么樣的形狀、一些屬性的使用等問的會多一些~

javascript部分

JavaScript 部分,數(shù)據(jù)類型到一些隱式轉(zhuǎn)換這些基礎(chǔ)知識,看代碼說輸出,v8底層執(zhí)行機(jī)制、垃圾回收、閉包、作用域、作用域鏈,原型、原型鏈,手寫代碼,如:防抖、節(jié)流、 bind 、 call 、 apply 等,深拷貝、淺拷貝, Event Queue 、 Event LoopPromise 、 async 、 await 等等等都是必須要會的知識點(diǎn),但是我們在學(xué)習(xí)的過程中還是要靈活一些,去學(xué)習(xí)這些思想,而不是一味的去死記硬背~

webpack部分

這一部分是前端工程化的內(nèi)容,還是有必要會的。淺一點(diǎn)說要會的就是一些基礎(chǔ)配置以及優(yōu)化配置,還有像 pluginloader 的區(qū)別等,再深一點(diǎn)就是配置的原理、以及如何寫一個 loader或者 plugin ,然后應(yīng)用這些東西實(shí)現(xiàn)什么樣的需求

框架部分

前端的框架有很多,現(xiàn)在流行的兩個就是 vuereact ,我的技術(shù)棧是 react ,所以我是以 react 去準(zhǔn)備的面試,在 react 里面,經(jīng)常問的比如:生命周期、關(guān)于生命周期為什么要廢棄,什么是 虛擬dom 、 diff算法 思想以及 key 的作用、有 keykey 有什么區(qū)別,如何解析 jsx , hooks 的應(yīng)用等

http

關(guān)于服務(wù)這一塊,面試也是會經(jīng)常問, http 狀態(tài)碼所代表的含義, httphttps 的區(qū)別, http 的三次握手以及四次揮手等

項(xiàng)目

面試離不開項(xiàng)目,所以對自己過往項(xiàng)目的理解尤為重要,上面的很多知識點(diǎn)其實(shí)也可以根據(jù)項(xiàng)目問很多

準(zhǔn)備簡歷

我認(rèn)為簡歷一定要在學(xué)習(xí)后再去準(zhǔn)備,這樣你在簡歷上寫的東西才在自己的心里有數(shù),才能保證簡歷上的東西自己都能會,其次是簡歷上要包含哪些內(nèi)容,我自己而言:個人基本信息(如:手機(jī)號、郵箱、年齡、住址),可以把自己的 github 鏈接貼上,如果有個人博客網(wǎng)站也可貼上~教育經(jīng)歷、工作經(jīng)歷、個人技能,并不建議寫自我評價~如果有想看的,可以私聊我發(fā)你我的簡歷呀~~~

投遞簡歷,隨緣面試:dog:

這一階段我經(jīng)歷了很多事,所以我越來越認(rèn)為干啥事就隨緣吧,有些事情就好像命中注定的一樣,是你的就是你的,不是你的怎么也強(qiáng)求不來~~

上面說的是廢話,可忽略:dog:

面試這個過程的確是看眼緣的,不過我們自身的發(fā)揮其實(shí)還是占著更大的比重的,所以如何在面試那么短的時間內(nèi)表現(xiàn)出最好的自己尤為重要

hr面試以及談薪

如果我們順利的通過了技術(shù)面試,那么就會來到hr面,hr面試也沒什么技巧,就是機(jī)靈一些我認(rèn)為就好了,其實(shí)我只經(jīng)歷了一次hr面試,從校招到這次跳出,總共就經(jīng)歷了這么一次,這就是我所說的隨緣吧:dog:談薪的技巧我就不說了,我實(shí)在不會,希望有大佬可以教教我(誠懇臉)~~~

背調(diào)

一些公司會有背調(diào),背調(diào)過程首先背調(diào)公司會先發(fā)送背調(diào)郵件,讓你授權(quán),然后填寫一些資料,背調(diào)公司會再次打電話向你確認(rèn),是否可以開始背調(diào),你答應(yīng)了,就開始了~這個過程不建議有造假行為,背調(diào)公司會通過各種問題判斷提供信息的真實(shí)性,以及他們會在過程中要求打你沒提供人的電話,我們只要不撒謊,和領(lǐng)導(dǎo)、hr都提前打好招呼,就不會有什么太大的問題的

面試題分享

我面試了一些個公司,按時間順序排列:順豐同城、頭條、嘀嗒、藍(lán)湖、快手、去哪兒、360、知乎...挑了一些我聽過名字的公司進(jìn)行投遞簡歷,簡歷篩選這一塊還是有很多沒過的,受限于學(xué)歷、工作經(jīng)驗(yàn)只有一年~~~對于前端開發(fā)來說,藍(lán)湖大家都聽說過,對于這次面試整體下來,我對這家公司真的評價頗高,由于藍(lán)湖的技術(shù)棧是vue,而我是react,技術(shù)棧不匹配對于這種規(guī)模的公司而言,可能給不了我太多的適應(yīng)時間,所以把我當(dāng)了備胎(面完第二天hr主動把面評發(fā)給我,直接告訴我備胎了),這種公司不多了,與其相反的是上面某個公司,面試過后hr直接把我微信刪了:dog:

下面按上面的五部分分享面試題(不注明哪些公司,如有需要,可私聊我~):

css部分

1、css中box-sizing的屬性

2、一個元素居中的辦法(不確定寬高的情況下如何用定位的辦法實(shí)現(xiàn))

3、兩欄布局,左側(cè)固定,右側(cè)自適應(yīng)

4、如何理解BFC

5、清除浮動overflow:hidden的原理,為什么可以清除

6、了解postcss嗎

7、less和css的區(qū)別

8、看代碼

<style>
   .classA { color:blue; }
   .classB { color:red;}
</style>
<p class="classB classA">hello</p>
元素p內(nèi)的文字最終什么顏色
復(fù)制代碼

9、畫一個三角形、扇形,將一個圓分為四部分,對角部分是相同顏色,相鄰部分為不同顏色

JS部分
1、看代碼說輸出,會涉及到Event Queue、Event Loop,面向?qū)ο蟮讓訖C(jī)制,閉包等

2、let、const區(qū)別

3、淺拷貝和深拷貝有什么區(qū)別,實(shí)現(xiàn)深拷貝

4、實(shí)現(xiàn)數(shù)組去重,new Set的數(shù)組去重和自己實(shí)現(xiàn)的哪個性能會更好

5、說出數(shù)組的方法,map和forEach有何區(qū)別

6、說一下跨域,jsonp的原理是什么?node中間件解決跨域問題的原理是什么?

7、Object.create實(shí)現(xiàn)了什么?傳null得到的結(jié)果和普通對象有什么區(qū)別?

8、對prototype和proto的理解

9、call、apply和bind有何區(qū)別,手寫實(shí)現(xiàn)call

10、替代es6中拓展運(yùn)算符傳參的方式

11、如何實(shí)現(xiàn)繼承?class里面super是干嘛的

12、import和require的區(qū)別

13、對promise的考察,then鏈的應(yīng)用

14、實(shí)現(xiàn)一個發(fā)布訂閱,有訂閱(on),發(fā)布(emit),一次訂閱功能(once)

15、實(shí)現(xiàn)防抖節(jié)流,它們兩個之間的區(qū)別是什么?

16、實(shí)現(xiàn)請求并發(fā)限制,具體為:封裝一個函數(shù),傳遞請求并發(fā)的個數(shù)為參數(shù),實(shí)現(xiàn)對并發(fā)請求的限制

17、說說閉包以及垃圾回收機(jī)制

18、利用async和await如何處理異常事件

19、箭頭函數(shù)和普通函數(shù)有什么區(qū)別?如果想改變箭頭函數(shù)中綁定this怎么辦?

20、原生js判斷鼠標(biāo)在一個有對角線矩形的位置

框架部分
1、react中key的作用,有key沒key有什么區(qū)別,比較同一層級節(jié)點(diǎn)什么意思?

2、你對虛擬dom和diff算法的理解,實(shí)現(xiàn)render函數(shù)

3、父子組件之間傳值的方式,組件間傳值的方式

4、如何解析jsx

5、生命周期都有哪幾種,分別是在什么階段做哪些事情?為什么要廢棄一些生命周期?

6、關(guān)于react的優(yōu)化方法

7、綁定this的幾種方式

8、對fiber的理解

9、setState是同步還是異步的

10、redux以及react-redux

11、對高階組件的理解

webpack
1、你都用過哪些webpack的配置

2、在你的項(xiàng)目里面用過哪些優(yōu)化

3、plugin和loader的區(qū)別

4、用過哪些loader、plugin

http部分
1、http與https的區(qū)別

2、http握手的次數(shù)以及過程

3、http的幾個狀態(tài)碼,比如:304、200、500、502、504等

項(xiàng)目
1、項(xiàng)目里面最經(jīng)典的一個問題(好幾家公司都問了這個):在你的項(xiàng)目里面解決了什么樣的難題

2、在你的項(xiàng)目里面如何做的登錄

3、在你的項(xiàng)目里面,如何解決xss攻擊

4、也有一些關(guān)于小程序項(xiàng)目的:

在小程序時候踩過哪些坑

小程序里面存在域的概念嗎

5、還有上面說到的一些知識點(diǎn)會結(jié)合項(xiàng)目問一下

最后
有想了解更多的小伙伴可以加Q群鏈接里面看一下,應(yīng)該對你們能夠有所幫助。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容