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