記一次字節跳動前端面試,四輪技術面通過,已拿offer


筆者是在去年秋招面試的頭條教育線,順利拿到了offer,把還記得的東西寫下來,供大家參考一下。

一面:

筆試題

1.如果后端傳給前端一個很大的數,前端會怎么樣,該怎么處理?

2.new的過程

3.瀏覽器的緩存機制(強緩存和協商緩存)

4.用css3寫一個環形進度條

5.一道關於promise的任務控制編程題

6.說說BFC是什么,能解決什么問題

面試流程

自我介紹然后說一個印象深刻的項目。。。

1.瀏覽器是怎么加載一個HTML的(解析dom,css,js過程。。。)

2.vue-router實現的原理

3.回流重繪,為什么用transform寫動畫不用position top left
4.if...else...多層嵌套怎么解決

5.編程題:n維數組轉換成1維數組,比如:[1,[2,3],[[4],[5,6]]]變成[1,2,3,4,5,6]

二面:

前端負責人面,自我介紹然后聊項目經驗(一定要講一些出彩的項目,什么難點,如何突破),聊了些工作經歷(為什么想換工作,以前的工作有什么收獲,自身的缺點)。。。

技術題問的不多

1.寫一個EventEmitter

三面:

主管面,介紹工作經歷,聊項目亮點balabala

1.編程題,在一個無序數組中找到第二大的數

2.項目設計題,寫一個***大戰(寫出類和屬性方法,不需要實現)

3.***大戰的各個動畫是怎么動起來的(游戲引擎怎么運作)

4.當瀏覽器地址欄輸入一個url到頁面展現,這個過程?

5.https過程

6.http和tcp的關系

四面:

北京交叉面,主要是聊項目(有亮點的項目,涉及架構的項目等),工作中做了什么,未來職業規划是什么,面試官最后還給了一定的建議。

刷過的題目

下面是我花了將近一個月的時間整理的一份面試題庫。這些面試題,包括我本人自己去面試遇到的,還有在面試之前刷過的題目,我都統一的整理了一下,希望對大家有用。

HTML

  • 瀏覽器頁面有哪三層構成,分別是什么,作用是什么?
  • HTML5的優點與缺點?
  • Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?
  • HTML5有哪些新特性、移除了哪些元素?
  • 你做的網頁在哪些瀏覽器測試過,這些瀏覽器的內核分別是什么?
  • 每個HTML文件里開頭都有個很重要的東西,Doctype,知道這是干什么的嗎?
  • 說說你對HTML5認識?(是什么,為什么)
  • 對WEB標准以及W3C的理解與認識?
  • ......

CSS

  • 解釋一下CSS的盒子模型?
  • 請你說說CSS選擇器的類型有哪些,並舉幾個例子說明其用法?
  • 請你說說CSS有什么特殊性?(優先級、計算特殊值)
  • 常見瀏覽器兼容性問題與解決方案?
  • 列出display的值並說明他們的作用?
  • 如何居中div, 如何居中一個浮動元素?
  • 請列舉幾種清除浮動的方法(至少兩種)?
  • block,inline和inlinke-block細節對比?
  • 什么叫優雅降級和漸進增強?
  • 說說浮動元素會引起的問題和你的解決辦法
  • 你有哪些性能優化的方法?
  • ......

JavaScript

  • js的各種位置,比如clientHeight,scrollHeight,offsetHeight ,以及scrollTop, offsetTop,clientTop的區別?
  • js拖拽功能的實現
  • 異步加載js的方法
  • js的防抖與節流
  • 說一下閉包
  • 說說你對作用域鏈的理解
  • JavaScript原型,原型鏈 ? 有什么特點?
  • 請解釋什么是事件委托/事件代理
  • Javascript如何實現繼承?
  • 函數執行改變this
  • babel編譯原理
  • 函數柯里化
  • 說一下類的創建和繼承
  • 說說前端中的事件流
  • 如何讓事件先冒泡后捕獲
  • 說一下圖片的懶加載和預加載
  • js的new操作符做了哪些事情
  • 改變函數內部this指針的指向函數(bind,apply,call的區別)
  • Ajax解決瀏覽器緩存問題
  • ......

由於篇幅有限,只能分享部分面試題,完整版面試題及答案可以【點擊我】閱讀下載哦~無償分享給大家

Vue

  • Vue中 key 值的作用
  • Vue 組件中 data 為什么必須是函數?
  • vuex的State特性是?
  • 介紹一下Vue的響應式系統
  • computed與watch的區別
  • 介紹一下Vue的生命周期
  • 為什么組件的data必須是一個函數
  • 組件之間是怎么通信的
  • Vue.cli中怎樣使用自定義的組件?有遇到過哪些問題嗎?
  • Vue如何實現按需加載配合webpack設置
  • 簡單描述每個周期具體適合哪些場景
  • scss是什么?在Vue.cli中的安裝使用步驟是?有哪幾大特性?
  • 聊聊你對Vue.js的template編譯的理解?
  • Vue 路由跳轉的幾種方式
  • Vue如何實現按需加載配合webpack設置?
  • Vue的路由實現:hash模式和history模式
  • Vue與Angular以及React的區別?
  • Vue路由的鈎子函數
  • 什么是Vue的計算屬性?
  • ......

React

  • 介紹一下react
  • React單項數據流
  • react生命周期函數和react組件的生命周期
  • react和Vue的原理,區別,亮點,作用
  • reactJs的組件交流
  • 有了解過react的虛擬DOM嗎,虛擬DOM是怎么對比的呢
  • 項目里用到了react,為什么要選擇react,react有哪些好處
  • 怎么獲取真正的dom
  • 選擇react的原因
  • react的生命周期函數
  • setState之后的流程
  • react高階組件知道嗎?
  • React的jsx,函數式編程
  • react的組件是通過什么去判斷是否刷新的
  • 如何配置React-Router
  • 路由的動態加載模塊
  • Redux中間件是什么東西,接受幾個參數
  • redux請求中間件如何處理並發

瀏覽器

  • 跨標簽頁通訊
  • 瀏覽器架構
  • 瀏覽器下事件循環(Event Loop)
  • 從輸入 url 到展示的過程
  • 重繪與回流
  • 存儲
  • Web Worker
  • V8垃圾回收機制
  • 內存泄露
  • reflow(回流)和repaint(重繪)優化
  • 如何減少重繪和回流?
  • 一個頁面從輸入 URL 到頁面加載顯示完成,這個過程中都發生了什么?
  • localStorage 與 sessionStorage 與cookie的區別總結
  • ......

服務端與網絡

  • HTTPS和HTTP的區別
  • HTTP版本
  • 從輸入URL到頁面呈現發生了什么?
  • HTTP緩存
  • 緩存位置
  • 強緩存
  • 協商緩存
  • 緩存的資源在那里
  • 用戶行為對瀏覽器緩存的影響
  • 緩存的優點
  • 不同刷新的請求執行過程
  • ......

算法與數據結構

  • 二叉樹層序遍歷
  • B樹的特性,B樹和B+樹的區別
  • 尾遞歸
  • 如何寫一個大數階乘?遞歸的方法會出現什么問題?
  • 把多維數組變成一維數組的方法
  • 說一下冒泡快排的原理
  • Heap排序方法的原理?復雜度?
  • 幾種常見的排序算法,手寫
  • 數組的去重,盡可能寫出多個方法
  • 如果有一個大的數組,都是整型,怎么找出最大的前10個數

由於篇幅有限,只能分享部分面試題,完整版面試題及答案可以【點擊我】閱讀下載哦~無償分享給大家


免責聲明!

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



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