春招的征程已經(jīng)結(jié)束了,落魄前端在線發(fā)面經(jīng),不得不說今年的形式有點嚴(yán)峻,很多公司都沒有前端崗,或者有的都是hc很少的,依稀記得一個上海國企只招兩個前端,真的是難受,越來越難了,不過博主今年運氣還是不錯的,目前已拿字節(jié)商業(yè)變現(xiàn)offer,在線求組織。
博主主要使用的是React技術(shù)棧,對Vue也可以熟練使用,也給目前還沒有offer的同學(xué)建議一下,這次春招準(zhǔn)備的比較充分,面試一定要準(zhǔn)備的很充分,多刷面經(jīng),JS基礎(chǔ)一定要扎實,閉包、原型鏈順手拈來,計算機網(wǎng)絡(luò)的知識、操作系統(tǒng)的知識經(jīng)常問的那些一定要搞明白至少達(dá)到可以很順暢的答上來,這些幾乎都是必問的。算法題就不說了,leetcode多刷一刷,TOP100的怎么著都得刷到中等難度,數(shù)據(jù)結(jié)構(gòu)的建議劍指,不過我倒是沒怎么刷過。
字節(jié)-北京-商業(yè)變現(xiàn)
字節(jié)的面試體驗還是一如既往的好,如果少問一下計網(wǎng)的知識那就更完美了,可能是運氣比較好,面試官比較忙,直接約了十天后面試,這十天我是翻遍了面經(jīng),倒是學(xué)到了不少東西,至少問我HTTPS握手過程和TCP三次握手四次揮手我是一點都不慌的。不過我倒是感覺問的JS基礎(chǔ)有點少了,框架也是沒怎么問,也是三面看我可憐給我加了幾道題,最后盡然通過了面試也是心驚膽戰(zhàn)。
一面(50min)
算法中時間復(fù)雜度和空間復(fù)雜度,分別對應(yīng)計算機什么硬件資源的使用?
計算機如何存儲小數(shù)?0.1+0.2 ?= 0.3
HTTP vs HTTPS 的區(qū)別?HTTPS 加密連接建立的過程?
Flexbox 彈性盒模型是什么?
CSS 畫個扇形?畫個三角形?
深拷貝是什么?實現(xiàn) deepCopy 接收任意類型的值。
console.log('script start'); async function async1() { console.log('async1'); await async2(); console.log('end'); } async function async2() { console.log('async2'); } setTimeout(function() { console.log('setTimeout'); }, 0); async1(); new Promise(function(resolve) { console.log('promise1'); resolve(); }).then(function() { console.log('promise2'); }); console.log('script end');實現(xiàn)一個簡易的Promise
function TreeNode(val) { this.val = val; this.left = null; this.right = null; } 1 / \ 4 6 / \ 2 5 function lvl(root) { // 請你實現(xiàn) } [ [1], [4, 6], [2, 5], ]
二面(45min)
一面的問題怎么樣
進(jìn)程線程之間的區(qū)別,進(jìn)程之間怎么通信,線程之間怎么通信
聊項目
兩個標(biāo)簽頁怎么通信
localStorage sessionStorage的區(qū)別實現(xiàn)
requestAnimationFrame的polyfillrequestAnimationFrame 和 requestIdleCallback的區(qū)別
怎么保存登陸態(tài)
如何預(yù)防XSS,CSRF攻擊
-
一個promise list,一次最多只能執(zhí)行n個,當(dāng)全部執(zhí)行完成之后,調(diào)用callback
send(list, n, callback) React Context 和 redux mobx的區(qū)別
splice會不會改變原數(shù)組
css 兩邊定寬,中間自適應(yīng)
頁面性能如何進(jìn)行優(yōu)化
三面(30min)
- 面向?qū)ο蟮奶卣?/li>
- 基于對象和面向?qū)ο蟮膮^(qū)別,以及JS是面向?qū)ο筮€是基于對象
- JS實現(xiàn)繼承,多種方式
- HTTP 和 WebSocket的區(qū)別
- TCP 和 UCP 的區(qū)別
- TCP的三次握手四次揮手
- React實現(xiàn)顯示當(dāng)前時間的公用組件,時間隨著當(dāng)前時間變化,并有哪些優(yōu)化方式
- useEffect的使用及優(yōu)化
- canvas如何實現(xiàn)按比例沾滿全屏
- JS實現(xiàn)數(shù)據(jù)結(jié)構(gòu)雙向循環(huán)列表,并實現(xiàn)添加節(jié)點方式
- 內(nèi)存溢出和內(nèi)存泄漏的區(qū)別
- 狄杰斯特拉和弗洛伊德的區(qū)別,描述及實現(xiàn) (因為畢設(shè)用到了這兩個算法)
- 貪吃蛇這個項目的數(shù)據(jù)構(gòu)造和整個游戲的建模過程(有一個實時對戰(zhàn)的貪吃蛇項目)
- webpack工程化可以有哪些優(yōu)化的方法
歡聚時代
歡聚時代的面試體驗不是很好,一面直接用的手機看不到我的簡歷,二面感覺有點看不起人的樣子,這家給我的感覺是比較側(cè)重于實戰(zhàn),考我的經(jīng)驗方面的比較多,最后估計是被HR刷了。
筆試題
- 實現(xiàn)一個
remove方法,實現(xiàn)移除數(shù)組中等于item的值,不直接修改原數(shù)組,返回一個新的數(shù)組,例如remove([1, 2, 3, 4, 4 ,5], 4) - 簡述箭頭函數(shù)和普通函數(shù)的區(qū)別
- js實現(xiàn)一個
eventEmitter類,實現(xiàn)on(), off(), once(), emit()方法
一面(視頻面,5min。。。。)
面試官用的手機說看不到我的簡歷,5分鐘。。。人傻了
- 簡單介紹自己的項目
- nginx跨域怎么處理,服務(wù)端怎么處理跨域
- React習(xí)慣使用class寫法還是函數(shù)式
復(fù)面(視頻面,45min)
React16 的新特性
React Hook 介紹怎么使用
useEffect 怎么實現(xiàn) componentWillUnMount 生命周期
useEffect 怎么優(yōu)化
useRef 怎么使用
設(shè)計一個場景,分頁器,使用React16 函數(shù)式編程,你會怎么設(shè)計,怎么優(yōu)化
React Fiber 的理解
Webpack 優(yōu)化
Webpack 熱更新怎么做
Webpack Tree Shaking
怎么配置Antd按需加載
純Css模擬雨滴落下的場景,要保證不掉幀
怎么去部署一個Nodejs項目,考察Linux相關(guān)命令
SSR渲染
談一談 WebSocket, 和你在 Nodejs項目中是怎么使用的,結(jié)合你的項目(我有一個項目用到了Websocket)
CVTE
二面的面試體驗?zāi)墙幸粋€舒服,聽過CVTE的HR很是恐怖,可以只到了二面,還沒有經(jīng)歷HR,我倒是覺得我二面搭的挺好的。
初面(電話面,25min)
自我介紹
簡單聊一下項目
說一說項目中得優(yōu)化
說一說項目中遇到的問題以及解決方案
requestAnimationFrame 為什么不會掉幀
HTTP的請求報文結(jié)構(gòu)
HTTP 和 TCP 之間的關(guān)系
TCP三次握手、四次揮手
HTTP TCP 屬于哪個層
ES6的新特性
箭頭函數(shù)和匿名函數(shù)的區(qū)別
閉包的定義以及解決的問題,會存在哪些問題
閉包是不回收引用的那個對象還是不回收外部整個作用域,你是怎么驗證這一點的
跨域怎么解決
webpack 一般用來做什么,以及怎么去優(yōu)化
瀏覽器安全
常用狀態(tài)碼
返回304狀態(tài)碼的流程,屬于哪一種緩存機制
瀏覽器的緩存機制
項目中怎么設(shè)置強制緩存
你覺得框架的性能會趕上原生嘛
三年之內(nèi)的前端規(guī)劃,你會怎么去實現(xiàn)你的這個規(guī)劃
一面(視頻面,1h)
- 面試官是個好人,很和藹,繼去年春招阿里面試后的第一次體驗非常好的一次面試
- 簡單介紹一下做過的項目
- 如果你負(fù)責(zé)一個項目的話,你會怎么做技術(shù)選型
- 一個場景,經(jīng)理說頁面加載慢,你會怎么去定位問題并解決
- CDN原理
- 你認(rèn)為一個JS腳本多大才是合適的
- 瀏覽器的緩存機制
- 最近看的技術(shù)博客,或者最近了解到的新技術(shù)
- 你認(rèn)為最近了解到的技術(shù)有哪些難點
- 你認(rèn)為看了React源碼之后你學(xué)到了什么
- 一道算法題,螺旋矩陣
- 三到五年內(nèi)的規(guī)劃
SHEIN
我面的是南京的前端崗,被虐的那叫一個慘,完全沒想到會問我這些問題,框架問的都是底層,雖然我讀過React15的源碼,其他的項目實戰(zhàn)。不過這家電商公司算是在南京比較好的互聯(lián)網(wǎng)了,但是不知道為什么網(wǎng)上的評價不是很好,也沒去上班過就不多少了。
一面(會議,40min)
介紹,為什么學(xué)前端,一般都怎么學(xué)前端
React如何處理更新
React 中 key 的用法,常用使用場景
React 內(nèi)部 setState 是如何批處理的
Redux 和 Mobx 的區(qū)別
React Context 如何去使用
React Hooks
React15如何去優(yōu)化
useCallback useMemo的區(qū)別React16 函數(shù)式編程怎么去優(yōu)化
React16的特性
面向?qū)ο蠛兔嫦蜻^程的區(qū)別,以及他們各自的優(yōu)缺點
原生JS如何實現(xiàn)繼承
在使用Redux中,當(dāng)修改一個數(shù)據(jù),發(fā)現(xiàn)組件沒有更新,可能的原因有哪些
如何實現(xiàn)深拷貝
如何解決對象環(huán)繞的問題,例如
a.b.a對象 a 的屬性b指向的是a本身,這種情況如何實現(xiàn)深拷貝。less sass的區(qū)別
Css 實現(xiàn)圓形進(jìn)度條
Css實現(xiàn)瀑布流
React實現(xiàn)一個場景,渲染多張圖片,保證圖片的底部盡量是對齊的,然后滾動條拉到底,在請求圖片再次渲染
React如何實現(xiàn)輪播圖
深信服
這家的面經(jīng)牛客一大推,而且他們的題庫都沒怎么換過。。。不過這家倒是拿到了offer
一面(電話面 20min)
- 簡單說一說最近的項目
- 談一談對 React Hooks 的認(rèn)識
- Redux 的數(shù)據(jù)流向
- 判斷一個對象是否是數(shù)組
- css 三角形
- 翻轉(zhuǎn)一個單向鏈表
- 青蛙跳臺階
- 箭頭函數(shù)和普通函數(shù)的區(qū)別
- 談一談nginx你都怎么用
- Http緩存
- 性能優(yōu)化擴展開講
- async await
- await 發(fā)生異常了還能不能繼續(xù)往下執(zhí)行
- await如何捕獲異常
- 一個需求 Promise 串行
- 箭頭函數(shù)可以使用 arguments嗎 使用對象解構(gòu)
const arrow = (...args) => { console.log(args) } - For of 和 for in 的區(qū)別
二面 (電話面 40min)
- 聊項目,項目里的優(yōu)化,難點以及解決辦法
- 如果你負(fù)責(zé)一個新項目,你會怎么做
杭州端點
這是我在BOSS上找的一家公司,是我連續(xù)發(fā)了十幾家公司中唯一一家給我回信息的,頓時好感度倍增,官網(wǎng)一看感覺還不錯被阿里收購了,不過后面和牛友的介紹中得出這家加班還是有點猛的,南京這邊的不清楚,杭州那邊的是加班恐怖的。面試中了解到這家的技術(shù)棧還是比較新的,至少會使用React和RN。在南京這邊的工資開的也不錯,這家也收到了offer。二面的面試官還是有點恐怖的,上來三個問題給我一個下馬威,后面的問題倒是可以輕易駕馭。
一面(電話面,15min)
- vue 的slot如何使用
- vue的mixin混合
- 原型鏈
- 自定義hooks
- css動畫怎么實現(xiàn)
- js動畫怎么實現(xiàn)
- file-loader url-loader區(qū)別
- webpack優(yōu)化
二面(視頻面,1h)
- 專業(yè)及主修課(一大坑)
- 編譯原理(求饒)
- AST語法樹(求饒)
- 操作系統(tǒng)-死鎖(求饒)
- 我懷疑我進(jìn)錯了會議
- 棧、數(shù)組、鏈表的區(qū)別
- 樹的深度搜索、廣度搜索
- react生命周期
- shouldComponentUpdate 的作用
- setState為什么是異步的
- react15源碼了解了哪些方面
- PureComponent、Component、純函數(shù)組件的區(qū)別
- 父子通信、兄弟通信
- redux 和 mobx 的區(qū)別
- redux的數(shù)據(jù)是不是可突變的
- redux如何實現(xiàn)異步action
- redux還用過哪些中間件
- react hooks都用過哪些
- useState useEffect如何和Class寫法相對應(yīng)
- useCallback。useMemo 的區(qū)別
- react如何獲取真實DOM
- react vue jq三者之間的區(qū)別
- react的事件系統(tǒng)如何實現(xiàn)的
- Ts的了解程度,一般如何使用
- 講一下范型
- less,sass文件怎么解析成css
- webpack用過哪些loader
- file-loader,url-loader的區(qū)別
- babel如何配置
- preset和plugins有什么區(qū)別
- js基本數(shù)據(jù)類型
- 事件委托
- 講講閉包,以及優(yōu)缺點
- css實現(xiàn)兩列左側(cè)固定,右側(cè)自適應(yīng)
- flex布局
- css盒模型
- position取值
- 絕對定位實現(xiàn)水平垂直居中
- 為什么使用transform有什么好處
- transform的百分比是怎么計算的
- 頁面性能如何優(yōu)化
- cdn原理
- 雪碧圖如何使用
- 如何減少網(wǎng)絡(luò)請求次數(shù)
收到字節(jié)的offer之后就沒有開始面其他的公司了,很多公司都不收20的,算是給后輩一個教訓(xùn)吧,找工作第一要準(zhǔn)備充分,第二要趁早,越年輕越值錢。
下面列出一些我在準(zhǔn)備面試的過程中收集到的一些面試題。大家可以看看,可能有一些重復(fù)的,大家將就著看吧
面試準(zhǔn)備
es6新特性
變量提升
class 做了什么事
用函數(shù)實現(xiàn)一個類和繼承
new的過程
實現(xiàn)原生的call、apply、bind
基本數(shù)據(jù)類型哪些
判斷類型
promise用法、構(gòu)造函數(shù)、狀態(tài)
HTTP各版本的區(qū)別
then方法可以傳幾個參數(shù)?
node.js 有任務(wù)隊列嗎? 事件循環(huán)
用promise寫一個delay函數(shù)。
給一個二叉樹和k,找到一條從根節(jié)點到葉子節(jié)點的路徑等于k。(力扣437)
tcpVS udp,然后追問tcp靠什么機制實現(xiàn)可靠性
CSS 中 position屬性及應(yīng)用場景
position 設(shè)置 topleft、translateX、translate3d 設(shè)置三種方式有什么區(qū)別?
判斷一個字面量是否為空的對象
實現(xiàn)一個深拷貝
http請求有多少種
詳細(xì)介紹一下options請求
跨域如何解決
跨域攜帶cookie
簡述所有狀態(tài)碼
簡述閉包
算法 最大連續(xù)子序列和 dp
智力題 狼吃羊
fixed和absolute區(qū)別
流動布局實現(xiàn)三欄布局
行內(nèi)元素和塊級元素有那些 區(qū)別
協(xié)商緩存 304
http和https區(qū)別
手寫正則表達(dá)式判斷電話號碼
web安全 xss防范
如何實現(xiàn)渲染后臺傳來的html片段:
innerHTMLinnerHTMLouterHTML的區(qū)別el.children和el.childNodes的區(qū)別innerTexttextContent的區(qū)別nodeValuejs寬松模式和嚴(yán)格模式區(qū)別
如何判斷一個對象是不是array
手寫快排
手寫斐波那契 遞歸 動態(tài)規(guī)劃
算法 找數(shù)組里總和大于等于目標(biāo)值的連續(xù)數(shù)字合和
promise封裝原生ajax
講一下進(jìn)程,線程,區(qū)別
講一下進(jìn)程間的通信
設(shè)計模式
Https 握手過程
實現(xiàn)拖拽一個元素
廣度優(yōu)先搜索
0.1+0.2 == 0.3?原因?
POST一般可以發(fā)送什么類型的文件
說一說你了解的express中間件
實現(xiàn)promise
對行內(nèi)元素設(shè)置padding,margin有什么效果
元素層疊順序是如何計算的
百分比padding,margin是根據(jù)什么值計算的
有哪些鑒權(quán)方式
Cache-Control有哪些字段,它們的作用
Cache-Control: no-cache / no-store 的區(qū)別
Connection: Keep-alive+obj是怎么計算的(obj是一個Object)
HTTPS SSl握手過程
JS浮點數(shù)精度問題,原因及解決方案
算法:鏈表反序輸出,不再申請內(nèi)存空間
Number()的存儲空間是多大,如果后臺發(fā)送了一個超過最大字節(jié)的數(shù)字怎們辦
Proxy
TCP為什么要四次揮手
display:none,visibility:hidden,opactiy:0的區(qū)別。
git merge、git rebase的區(qū)別
fetch API與傳統(tǒng)request的區(qū)別
JSONP 詳細(xì)過程
React Fiber架構(gòu)、調(diào)度原理
setImmediate
HTTPS握手過程
js中有哪些類數(shù)組、es5和es6中有哪些方法將其轉(zhuǎn)化為數(shù)組
實現(xiàn)一個左右布局,左邊固定100PX,右邊可伸縮,高度沾滿整個屏幕。右側(cè)正中間有個長方形,長方形長寬比4:3
CommonJS與ES6模塊化區(qū)別
原型、原型鏈的區(qū)別
module.exports exports export的區(qū)別
rem em pxReact新特性 新鉤子 HOOKS HOC
node 事件循環(huán)
從輸入域名到頁面展現(xiàn)之間發(fā)生了什么
React的key有什么作用。 介紹一下diff算法。寫一段匹配URL的正則,包括協(xié)議、域名、端口、path、hash、querystring
二分查找
實現(xiàn)大數(shù)相加
React Diff
html語義化
瀏覽器重繪重排,不改變div位置/樣式的情況下如何觸發(fā)重排
reflow避免的方案http版本有哪些,及各自的區(qū)別
babel
webpack用來干什么及其工作流程
客戶端/服務(wù)器端渲染的原理
Css單行多行省略號
get/post 區(qū)別
-
實現(xiàn)如下get 函數(shù)
const o = { a:{ b:{ c:1 } } } const get = (target, key) => { }; get(o,'a.b.c') //1 console.log('begin'); setTimeout(() => { console.log('setTimeout 1'); Promise.resolve() .then(() => { console.log('promise 1'); setTimeout(() => { console.log('setTimeout2'); }); }) .then(() => { console.log('promise 2'); }); new Promise(resolve => { console.log('a'); resolve(); }).then(() => { console.log('b'); }); }, 0); console.log('end');瀏覽器的渲染機制,為什么使用虛擬DOM
if ([] == false) {console.log(1);}; // 打印 if ({} == false ) {console.log(2);}; if ([]) {console.log(3);}; // 打印 if ([1] == [1]) {console.log(4);};從給定的無序、不重復(fù)的數(shù)組data中,取出n個數(shù),使其相加和為sum,不需要找到所有的解,只要找到一個解
var a = function () { this.b = 3; } var c = new a(); a.prototype.b = 9; var b = 7; a(); console.log(b); // 3 console.log(c.b); // 3-
repeat 實現(xiàn),使用JS實現(xiàn)一個repeat方法,調(diào)用這個 repeatedFunc("hellworld"),會alert4次 helloworld, 每次間隔3秒
function repeat(func, times, wait) { } const repeatFunc = repeat(alert, 4, 3000) 千分號正則
快排 選擇排序
用先序遍歷將二叉樹轉(zhuǎn)化為鏈表
Web worker
事件委托、事件冒泡、事件捕獲。
addEventlistener和正常的onclick=()=> 的區(qū)別
thunk原理
-
實現(xiàn)duplicate()函數(shù)
var a = "123"; a.duplicate() // '123123"String.prototype.duplicate = function() { return this+this; } -
this
window.name = 'ByteDance'; class A { constructor() { this.name = 123; } getA() { console.log(this); return this.name + 1; } } let a = new A(); let funcA = a.getA; funcA();var length = 10; function fn() { alert(this.length) } var obj = { length: 5, method: function (fn) { fn() //10 arguments[0]() //1 }, } obj.method(fn); -
用正則表達(dá)式實現(xiàn)sprintf函數(shù)
const template = "My name is ${name},I'm from ${city}"; const result = sprintf(template, { name: 'Yiming Zhang', city: 'FuJian', }); //result="My name is Yiming Zhang,I'm from FuJian" 手寫函數(shù)節(jié)流
css中display有哪幾種
token的作用是什么
inline-block的缺陷
用font-size為0解決間隙問題有什么弊端
實現(xiàn)一個寬高等比的div
判定給定的5-7張牌中是否有同花順
如果我想讓const聲明對象的屬性也不可修改,怎么實現(xiàn)?
-
實現(xiàn)一個Queue類,要求包含兩個函數(shù)
task函數(shù):新增一個任務(wù)。包含兩個參數(shù),等待時間和回調(diào)函數(shù) start函數(shù):執(zhí)行任務(wù)隊列。將所有任務(wù)按隊列順序執(zhí)行,執(zhí)行完一個任務(wù)才能執(zhí)行下一個任務(wù) ps:下面代碼,實現(xiàn)添加3個任務(wù),然后執(zhí)行3個任務(wù)。隔1秒,打印1;再隔2秒,打印2;再隔1秒,打印3 function Queue() { this._callbacks = []; this._timeSum = 0; } -
寫一個函數(shù),實現(xiàn)效果
// TODO: 輸入 'ab-cd-ef', 輸出 'abCdEf' function camelcase(str) { // 正則,匹配 -\w 替換值傳遞一個函數(shù)處理一下得到的結(jié)果 return str.replace(/\-\w/g, match => { return match[1].toUpperCase(); }) } -
給定一個數(shù)組arr,和一個目標(biāo)數(shù)target,找出arr中和為target的兩個數(shù)的下標(biāo),一對即可
function find(arr, target) {} find([2, 3, 4, 1, 5], 9) // [2, 4] find([2, 3, 4, 1, 5], 19) // null // 似乎是leetcode原題:https://leetcode-cn.com/problems/two-sum/comments/ 有一個圓桌,兩人輪流放一個棋子。棋子可以放在圓桌的任何位置,但不可以重疊其他棋子,并且棋子要可以放得下。棋子是圓的,棋子大小不變。如果最后輪到某人放棋子,但這個人無法繼續(xù)在桌上放棋子的時候,這個人就輸了。針對某個特定大小的圓桌,假設(shè)我先手,那么如何做一個策略,盡量讓自己贏。
css, 上下兩欄固定, 中間自適應(yīng), 直接寫css
webpack打包文件名為什么要有hash值
a 標(biāo)簽跳轉(zhuǎn)方式,新開|當(dāng)前
viewport各個屬性值的意義,以及如何實現(xiàn)不用viewport控制用戶不能縮放,回答用js監(jiān)聽屏幕寬度。
五星好評點幾顆星亮幾顆,用css
擁塞控制階段
async的原理
React Fiber
Set Map
雙飛翼布局
圣杯布局
Nginx中的ETAG是如何計算的
Web Worker
301 302區(qū)別
requestIdleCallback
盒模型
BFC
居中
偽元素實現(xiàn)垂直居中
選擇器
.parent .child 和 .parent > .child 區(qū)別
CSS選擇器優(yōu)先級
浮動導(dǎo)致父級高度塌陷
link 和 @import 的區(qū)別
css 動畫
函數(shù)柯里化
bind 實現(xiàn)原理
實現(xiàn)深拷貝
Promise 實現(xiàn)原理
Promise.all
Promise.race
ES6 proxy
ES6 generate
跨域
原生XMLHttpRequest
微任務(wù) 宏任務(wù) EventLoop
flex 布局
Grid 布局
冒泡/捕獲機制
BOM對象
正則表達(dá)式
Http常用狀態(tài)碼
計算機網(wǎng)絡(luò)的七層模型
XSS/CSRF攻擊
獲取DOM節(jié)點
absolute基于哪個點定位
單向綁定和雙向綁定的區(qū)別
React 和 Vue的區(qū)別
React優(yōu)化
Vue雙向綁定實現(xiàn)機制
React Vue 聲明周期
webpack優(yōu)化
頁面性能優(yōu)化
行內(nèi)元素 塊級元素的區(qū)別
瀏覽器輸入網(wǎng)址到頁面呈現(xiàn)的過程
call apply 的區(qū)別
重繪(repaint)/回流(重排 reflow)
http和https區(qū)別
從數(shù)組中找出三數(shù)之和為n
純Css實現(xiàn)三角形
js文件為什么放在body尾(html的文本結(jié)構(gòu))
map 有什么用跟forEach有什么區(qū)別
怎么確定自己優(yōu)化了防抖
了解 requestAnimationFrame
實現(xiàn)垂直居中
懶加載
jsonp 通訊原理
xmlHttpRequest,原理、跨域、帶cookie
cookie 概念、原理、存取操作、如何在http中體現(xiàn)
localstorage概念,原理
call apply 的作用和區(qū)別
數(shù)組有哪些常用的方法,怎么刪除最后一個和第一個,map方法做什么用的
encodeURI和encodeURIComponent的區(qū)別
js如果實現(xiàn)動畫、requestAnimationFrame有什么作用
css box-sizing 做啥用的
css動畫怎么做,transition和animation有什么區(qū)別,怎么定義一個動畫
css position有哪些值可以選,分別是什么意思
cdn是什么,原理是什么
廣度遍歷到某個dom的時間復(fù)雜度
bfc做了什么
怎么獲取屏幕寬度
原型鏈的繼承,說出各個繼承方式的優(yōu)缺點
快速排序的實現(xiàn)方式
const數(shù)組里面的元素能不能改變。
css布局的應(yīng)用場景,三欄布局
什么時候會margin重疊
實現(xiàn)數(shù)組扁平化的polyfill
數(shù)組去重
查找最大公共因子字符串
全排列
手撕Promise
css盒模型 - 通過
box-sizing屬性來設(shè)置a標(biāo)簽偽類
判斷數(shù)據(jù)類型
call、apply、bind
aync、await 看一下源碼
vue生命周期
['abc','abcd','abcde']最大前綴是abc,找出來
背包問題
BFC
重排、重繪
less sass 優(yōu)缺點
三欄布局
對象遍歷
==與===
HTTP緩存
箭頭函數(shù)與普通函數(shù)的區(qū)別
Css 實現(xiàn)一個三角形
Promise串行之行
塊級和行級的區(qū)別是什么
定位有哪幾種?(static、relative、absolute、fixed)
清浮動的方式(BFC、偽元素、兄弟結(jié)點)
怎么判斷參數(shù)是數(shù)組還是對象?(Array.isArray、toString、instanceOf)
cookie字段?
Cookie session
遍歷二叉樹用非遞歸的方式
for in for of
new一個函數(shù)的具體過程
nginx 正向代理 反向代理 的區(qū)別
xss攻擊
鏈表和數(shù)組的區(qū)別