前言
能有大廠面試的機會,絕對要去珍惜,因為他真的可以幫你找出你太多的不足,准確命中你的弱點!
還有,一定要善於總結經驗,總結面試題,為后面的面試儲蓄能量。
我的面試結果
哎!長嘆一口氣...
我跪在了一面!但是,這次的面試,絕對是我面試生涯中,最最覺得特別值得的一次,也是讓我備受打擊的一次!他成功的讓我跪在大廠的面前,又讓我重新的去認識自己,不是會寫個頁面就是前端開發工程師,不是會調用一次ajax,就是前端開發工程師,不是會寫個css就是前端開發工程師!
自我介紹
關於自我介紹方面,可以說我真的沒什么可以多介紹的。相信很多的前端開發的小伙伴都跟我有同樣的感受吧!畢竟,在公司工作的大部分時間都交給了重復的需求上,別說你沒有!除非你的工作真的不飽和!哈哈。。。但是呢,自我介紹真的不可以輕易的放過,因為他可能是你打開面試官興趣的鑰匙。如果你介紹的好,你可以一步步的引導面試官問一些你熟悉了解的知識,可以不被面試官牽着鼻子走!但是。。。我真的沒有很優秀的可以說的出口的東西啊!這是真的硬傷,所以,還是奉勸各位小伙伴,在業余的生活中,還是要做一些自己感興趣,算了!可能你也真的不感興趣!一定要做一些你不了解的但是對前端又非常的重要的知識,嘗試着去實現一下!例如,本人就不是很熟悉Node方面的知識,平時的開發中也不常用,如果你真的有特別出色的開源項目,一定要介紹出來,會引起面試官很大的興趣!跑題了哈。。。
第一道題:說一下你在項目中遇到的比較有挑戰性的工作?
這是一道比較開放性的問題!完全靠面試者自己在平時的開發中自我總結!我覺得,面試官真正想要了解的,是你在開發中,遇到棘手問題,如何解決,還有就像是上面說到的,有沒有做一些自己平時工作中可能沒有使用,但是作為前端開發必須要掌握的知識。這個就因人而異了,多多總結,多多吸取教學,這都是以后進入大廠的鋪路石。
第二道題:關於flex布局,如何實現垂直居中?
我相信,但凡有准備面試的小伙伴,都會在各個文章、博客中看到過,實現垂直居中的1001中辦法,面試官想要考察的,絕不僅僅是你能說出flex的垂直居中,你需要掌握的是全部的flex布局的知識,因為,flex布局的出現,極大的減輕的開發頁面的負擔,簡介、輕量化、語義化!你真的完全掌握了嗎?還不去翻阮一峰的博客?
第三道題:關於瀏覽器,從URL輸入,到頁面的完全展現,都經歷了什么?
這題,你也看過,但是你能完完整整的描述出來嗎?我覺得,你應該再從腦子里面過一遍,不要留下任何的知識點,因為這里面能問到的知識,真的太多了!DNS解析,http請求,關於緩存,HTML樹,頁面渲染,回流、重繪。你都完全的掌握了嗎?去翻博客吧!
第四道題:關於頁面的加載,css的解析會影響js的執行嗎?css加載會影響嗎?
這題,如果你完整的讀過Javascript高級程序設計,你一定知道關於async和deffer的區別!別說你這也不知道,如果你真的不知道,那就去翻吧!
第五道題:關於promise的執行順序?
都知道,promise是異步執行,但是,你知道為什么promise能實現異步執行嗎?then方法的參數的意義是什么?我一時的大腦一片空白,明明每天都在調用接口,使用promise。也每天都在使用then方法,那是,我就是說不出來!不要像我一樣,因為我掌握的可能真的不徹底,所以很快就暴漏出來了,還沒等問到你promise實現的原理呢!
第六道題:輸入框輸入,請求后台接口,第一個接口返回的信息可能比較慢,到第二次調用后信息已經返回了,前一條數據才出來,如何避免頁面被第一個接口返回的信息覆蓋?
我當時的回答是,給后端發送字段,然后判斷返回的字段的先后順序,比如A接口參數傳1,再次調用時傳2...
面試官不太滿意,因為如果頁面大量的get請求,很不方便,還要傳參!如何解決呢?我當時沒有好的方法,你有嗎?
(面試官:可以在axiox response攔截,比對我我們發送的參數,進行比較,然后篩選出后輸入值返回的數據)
第七道題:多維輸入,如何判斷數組的最深層有多少層?例如:[1,3,3[4,6,7,[5,6,7,43,[23,4]]]],返回4!
來吧,突破你的想象力,你有多少種實現的方法?
第一種:遞歸,但是,是不是殺雞用牛刀?
第二種:數組轉化為字符串,然后查處多少個‘[’活着‘]’是不是更方便呢?
第八道題:http和https的區別是什么?
都知道https更安全,他是如何實現的比http更安全的呢?在哪里用到了對稱加密?哪里用到了非對稱加密?
這篇文章不是給大家進行知識點總結,如果你還不知道,那就去學吧!
面試總結
面試掛掉如何調整心態
面試掛掉有這么幾種可能:
1、對方發現你不適合他們:比如對方想招一個帶團隊的,而你是做技術。遇到這種情況不要沮喪,這不是你的問題。我因為這個拒面的占50%(包括對方拒絕我,和我拒面對方)
2、Head Count 有限,他們選擇了其他的人:遇到這種情況也不要沮喪,畢竟人外有人,而他們 Head Count 可能只有一個。如果你面試前能夠和HR或工程師直接接觸,也可以問問他們有多少 Head Count
3、真的是憑實力掛掉了:這個確實可以稍晚沮喪下,然后痛定思痛,反思反思自己是不是哪里需要查漏補缺,或是表達方法哪里有什么問題。
面試題歸類
我結束面試后,把面試題分幾大類總結出來整理成一份PDF文檔,方便查找和學習,每道題下面都有詳細的解析,需要前端字節跳動真題解析的小伙伴們直接點擊這里領取
HTML
- HTML5 有哪些新特性?
- Doctype作⽤? 嚴格模式與混雜模式如何區分?它們有何意義?
- 如何實現瀏覽器內多個標簽頁之間的通信?
- ⾏內元素有哪些?塊級元素有哪些? 空(void)元素有那些?⾏內元 素和塊級元素有什么區別?
- 簡述⼀下src與href的區別?
CSS
- 請你講一講 CSS 的權重和優先級
- 介紹 Flex 布局,flex 是什么屬性的縮寫:
- CSS 怎么畫一個大小為父元素寬度一半的正方形?
- CSS實現自適應正方形、等寬高比矩形
- 實現兩欄布局的方式
- 實現三列布局的方式
- CSS 動畫有哪些?
JavaScript 基礎
- 問:0.1 + 0.2 === 0.3 嘛?為什么?
- JS 數據類型
- JS 整數是怎么表示的?
- Number() 的存儲空間是多大?如果后台發送了一個超過最大自己的數字怎么辦
- 寫代碼:實現函數能夠深度克隆基本類型
- 事件流
- 事件是如何實現的?
- new 一個函數發生了什么
Vue框架
- active-class是哪個組件的屬性?嵌套路由怎么定義?
- 怎么定義vue-router的動態路由?怎么獲取傳過來的動態參數?
- vue-router有哪幾種導航鈎子?
- scss是什么?在vue.cli中的安裝使用步驟是?有哪幾大特性?
- mint-ui是什么?怎么使用?說出至少三個組件使用方法?
- v-model是什么?怎么使用? vue中標簽怎么綁定事件?
- axios是什么?怎么使用?描述使用它實現登錄功能的流程?
- axios+tp5進階中,調用axios.post(‘api/user’)是進行的什么操作?axios.put(‘api/user/8′)呢?
- 什么是RESTful API?怎么使用?
計算機網絡基礎
- HTTP 緩存
- HTTP 常用的狀態碼及使用場景?
- 你知道 302 狀態碼是什么嘛?你平時瀏覽網頁的過程中遇到過哪些 302 的場景?
- HTTP 常用的請求方式,區別和用途?
- 你對計算機網絡的認識怎么樣
- 三次握手和四次揮手
算法
一、鏈表
二、字符串
三、數組問題
四、二叉樹
五、排序算法
六、二分查找
七、動態規划
......
上面的題目都來自前端字節跳動真題解析資料,點擊即可領取噢
面試官很nice,你需要准備的也真的很多!
學無止境,能有一次面試的機會,一定要去面,這樣你才能知道,自己真的欠缺很多,要學的真的很多!