個人經歷
給大家一個參考,計算機信息工程專業,大學學過前端,畢業后陰差陽錯在小公司做了三年測試后,意外地拿到了字節跳動前端的offer,成功跳槽到了字節跳動事業部。
字節跳動面試對基礎比較看重,然后需要你有兩三個比較好的項目,一面重視面試者對前端基礎的把握,還要手寫代碼,不過不難。
二面部門的leader面,這一面比較難,面試官會對你的項目細節進行深挖,所以說項目要牛逼一點,最后還會有一道邏輯題(僥幸),三面是還是技術面,最后是HR面,如果你想進大公司的話,下面這些技術是肯定要掌握的:html5,css3,JavaScript,略懂一點jQuery源碼,Node.js,express,mongoose,數據庫mongodb。大公司問的核心在于JavaScript。
本人總結了一系列大廠面試中常問的面試技術點,深入解析以及答案,將為最近準備面試的各開發者去大廠保駕護航,
何謂面試? 我所理解的面試,它是一個過程,是不斷沉淀、不斷總結、善于傳達自己的專業領域技術以及解決問題能力的過程。以下是我準備字節跳動前端面試收集總結的一些面試題,文中如有錯誤,懇請批評指正!
如果覺得看起來比較麻煩,需要PDF版本,或是需要更多學習資料(大廠面試真題解析),點擊我領取。祝愿每一位有追求的Android開發同胞都能進大廠拿高薪!
CSS 基礎
- 請你講一講 CSS 的權重和優先級
- 介紹 Flex 布局,flex 是什么屬性的縮寫
- CSS 怎么畫一個大小為父元素寬度一半的正方形?
- CSS實現自適應正方形、等寬高比矩形
- 實現兩欄布局的方式
- 實現三列布局的方式
- CSS 動畫有哪些?
- 用css2和css3分別寫一下垂直居中和水平居中
- visibility 和 display 的差別(還有opacity)
- opacity 可以有過渡效果?
- BFC 與 IFC 區別
- BFC會與float元素相互覆蓋嗎?為什么?舉例說明
- 了解box-sizing嗎?
- 什么是 BFC
- 了解盒模型嗎?
- 說一下你知道的position屬性,都有啥特點?
- 兩個div上下排列,都設margin,有什么現象?
-
清除浮動有哪些方法?
...
CSS基礎
JavaScript 基礎
- 問:0.1 + 0.2 === 0.3 嘛?為什么?
- JS 數據類型
- JS 整數是怎么表示的?
- Number() 的存儲空間是多大?如果后臺發送了一個超過最大自己的數字怎么辦
- 寫代碼:實現函數能夠深度克隆基本類型
- 事件流
- 事件是如何實現的?
- new 一個函數發生了什么
- new 一個構造函數,如果函數返回 return {} 、 return null ,
return 1 , return true 會發生什么情況? - symbol有什么用處
- 閉包是什么?
- 閉包產生的本質
- 一般如何產生閉包
- 閉包的應用場景
- 什么是作用域?
- 什么是作用域鏈?
- NaN 是什么,用 typeof 會輸出什么?
- JS 隱式轉換,顯示轉換
- 了解 this 嘛,bind,call,apply 具體指什么
- 手寫 bind、apply、call
- setTimeout(fn, 0)多久才執行,Event Loop
- 手寫題:Promise 原理
- js腳本加載問題,async、defer問題
- 如何判斷一個對象是不是空對象?
- <script src=’xxx’ ’xxx’/>外部js文件先加載還是onload先執行,為什么?
- 怎么加事件監聽
- 事件傳播機制(事件流)
- 說一下原型鏈和原型鏈的繼承吧
- 說下對 JS 的了解吧
- 數組能夠調用的函數有那些?
- 如何判斷數組類型
- 函數中的arguments是數組嗎?類數組轉數組的方法了解一下?
- 用過 TypeScript 嗎?它的作用是什么?
- PWA使用過嗎?serviceWorker的使用原理是啥?
-
ES6 之前使用 prototype 實現繼承
...
JavaScript
Javascript高頻手寫代碼題
1.實現 new 方法
2.實現 Promise
3.實現一個 call 函數
4.實現一個 apply 函數
5.實現一個 bind 函數
6.淺拷貝、深拷貝的實現
7.實現一個節流函數
…
計算機網路
- DDOS 攻擊
- http請求過程
- TCP和UDP的區別以及應用場景
- tcp 中擁塞避免和流量控制機制
- http和https
- http/2
-
說下http緩存吧
計算機網絡
Vue 面試題
1.Vue 雙向綁定原理
2.描述下 vue 從初始化頁面–修改數據–刷新頁面 UI 的過程?
3.你是如何理解 Vue 的響應式系統的?
4.虛擬 DOM 實現原理
5.既然 Vue 通過數據劫持可以精準探測數據變化,為什么還需要虛擬 DOM 進行 diff 檢測差異?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 組件間通信有哪些方式?
9.watch、methods 和 computed 的區別?
10.vue 中怎么重置 data?
11.組件中寫 name 選項有什么作用?
12.vue-router 有哪些鉤子函數?
13.route 和 router 的區別是什么?
14.說一下 Vue 和 React 的認識,做一個簡單的對比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪幾種屬性?
17.vue 首屏加載優化
18.Vue 3.0 有沒有過了解?
19.vue-cli 替我們做了哪些工作?
…
算法
- 冒泡排序
- 選擇排序
- 快速排序
- 二叉樹查找: 最大值、最小值、固定值
- 二叉樹遍歷
- 二叉樹的最大深度
- 給予鏈表中的任一節點,把它刪除掉
- 鏈表倒敘
- 如何判斷一個單鏈表有環
-
給定一個有序數組,找出兩個數相加為一個目標數
...
由于篇幅限制小編,pdf文檔的詳解資料太全面,細節內容實在太多啦,所以只把部分知識點截圖出來粗略的介紹,每個小節點里面都有更細化的內容!有需要的程序猿(媛)可以幫忙 點贊+評論666,后臺私信【學習】即可前往免費領取!