跪在一面:字節跳動前端面試8道題,就像坐過山車樣刺激!


前言

能有大廠面試的機會,絕對要去珍惜,因為他真的可以幫你找出你太多的不足,准確命中你的弱點!
還有,一定要善於總結經驗,總結面試題,為后面的面試儲蓄能量。

我的面試結果

哎!長嘆一口氣...
我跪在了一面!但是,這次的面試,絕對是我面試生涯中,最最覺得特別值得的一次,也是讓我備受打擊的一次!他成功的讓我跪在大廠的面前,又讓我重新的去認識自己,不是會寫個頁面就是前端開發工程師,不是會調用一次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

  1. HTML5 有哪些新特性?
  2. Doctype作⽤? 嚴格模式與混雜模式如何區分?它們有何意義?
  3. 如何實現瀏覽器內多個標簽頁之間的通信?
  4. ⾏內元素有哪些?塊級元素有哪些? 空(void)元素有那些?⾏內元 素和塊級元素有什么區別?
  5. 簡述⼀下src與href的區別?

CSS

  1. 請你講一講 CSS 的權重和優先級
  2. 介紹 Flex 布局,flex 是什么屬性的縮寫:
  3. CSS 怎么畫一個大小為父元素寬度一半的正方形?
  4. CSS實現自適應正方形、等寬高比矩形
  5. 實現兩欄布局的方式
  6. 實現三列布局的方式
  7. CSS 動畫有哪些?

JavaScript 基礎

  1. 問:0.1 + 0.2 === 0.3 嘛?為什么?
  2. JS 數據類型
  3. JS 整數是怎么表示的?
  4. Number() 的存儲空間是多大?如果后台發送了一個超過最大自己的數字怎么辦
  5. 寫代碼:實現函數能夠深度克隆基本類型
  6. 事件流
  7. 事件是如何實現的?
  8. new 一個函數發生了什么

Vue框架

  1. active-class是哪個組件的屬性?嵌套路由怎么定義?
  2. 怎么定義vue-router的動態路由?怎么獲取傳過來的動態參數?
  3. vue-router有哪幾種導航鈎子?
  4. scss是什么?在vue.cli中的安裝使用步驟是?有哪幾大特性?
  5. mint-ui是什么?怎么使用?說出至少三個組件使用方法?
  6. v-model是什么?怎么使用? vue中標簽怎么綁定事件?
  7. axios是什么?怎么使用?描述使用它實現登錄功能的流程?
  8. axios+tp5進階中,調用axios.post(‘api/user’)是進行的什么操作?axios.put(‘api/user/8′)呢?
  9. 什么是RESTful API?怎么使用?

計算機網絡基礎

  1. HTTP 緩存
  2. HTTP 常用的狀態碼及使用場景?
  3. 你知道 302 狀態碼是什么嘛?你平時瀏覽網頁的過程中遇到過哪些 302 的場景?
  4. HTTP 常用的請求方式,區別和用途?
  5. 你對計算機網絡的認識怎么樣
  6. 三次握手和四次揮手

算法
一、鏈表
二、字符串
三、數組問題
四、二叉樹
五、排序算法
六、二分查找
七、動態規划
......

上面的題目都來自前端字節跳動真題解析資料,點擊即可領取噢
面試官很nice,你需要准備的也真的很多!
學無止境,能有一次面試的機會,一定要去面,這樣你才能知道,自己真的欠缺很多,要學的真的很多!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM