大廠面試題

 

js:
怎麼實現this對象的深拷貝
文件上傳如何作到斷點續傳
表單能夠跨域嗎
promise,async有什麼區別
搜索請求如何處理(防抖)
搜索請求中文如何請求
介紹觀察者模式
介紹中介者模式
觀察者和訂閱發佈的區別,各自用在哪裏
介紹service worker
介紹promise,異常捕獲
瀏覽器事件流向
介紹事件代理及其優缺點
介紹this各類狀況
前端怎麼控制管理路由
使用路由時出現問題如何解決
js異步解決方案的發展歷程以及優缺點
對async,await的理解,內部原理
介紹下promise,內部實現
bind,call,apply的區別
動畫的瞭解
介紹下原型鏈(解決的是繼承問題嗎)
對跨域的瞭解
介紹暫時性死區
es6中map和原生的對象有什麼區別
如何設計promise.all()
sum(2,3)實現sum(2)(3)的效果
兩個對象如何比較
js原型
變量做用域鏈
防抖和節流的區別
介紹各類異步方案
介紹Fiber
介紹dom樹對比
項目中如何應用數據結構
設計模式-前端開發中用到哪些設計模式
[1,2,3,4,5]變成[1,2,3,a,b,5]
取數組最大值(es5,es6)
es5和es6有什麼區別
some,every,find,filter,map,forEach有什麼區別
頁面上有一萬個button如何綁定事件
如何判斷是button
頁面上生成一萬個button,而且綁定事件,如何作(js原生操做dom)
循環綁定時的index是多少,爲何,怎麼解決
頁面上有一個input,還有一個p標籤,改變input後p標籤就跟着變化,如何處理
監聽input哪一個事件,在何時觸發
對閉包見解,爲何要使用閉包,閉包爲何沒清除,使用場景
手寫去重函數
手寫數組扁平化函數
介紹promise用途和性質,promise有幾個狀態
promise的精髓,以及優缺點
promise和callback有什麼區別
es6新特性
對PWA有什麼瞭解
介紹下數字簽名的原理
先後端通訊使用什麼方案
restful經常使用method
access-control-allow-origin在服務端哪裏配置
csrf跨站攻擊如何解決
先後端怎麼聯調
prototype和_proto_的區別
_construct是什麼
new是怎麼實現的
原型鏈與繼承
介紹js數據類型,基本數據類型和引用數據類型的區別
Array是Object類型嗎
數據類型分別存在哪裏
var a = {name:"前端開發"}; var b = a; a = null; 那麼b輸出什麼?
var a = {b:1}存放在哪裏
var a = {b:{c:1}}存放在哪裏
棧和堆的區別
垃圾回收時棧和堆的區別
數組裏面有10萬個數據,取第一個元素和第10萬個元素的時間相差多少?
堆和棧具體怎麼存儲
js怎麼實現異步
異步整個執行週期
promise三種狀態
async/await怎麼實現
promise和setTimeout執行前後的區別
js爲何要分微任務和宏任務
promise構造函數是同步仍是異步執行,then呢
js執行過程當中分爲哪些階段
詞法做用域和this的區別
日常是怎麼作繼承
深拷貝和淺拷貝
loadash深拷貝實現原理
ES6中let塊做用域是怎麼實現的
a,b兩個按鈕,點擊aba,返回順序多是baa,如何保證是aba(Promise.then)
node接口轉發有沒有作什麼優化
node起服務如何保證穩定性,平緩降級,重啓等
遇到的複雜業務場景
promise.all()實現原理
formData和原生ajax區別
介紹下表單提交,和formData有什麼關係
如何處理異常捕獲
項目如何管理模塊
判斷數組
交換a和b變量
類數組和數組的區別
dom的類數組如何轉成數組
this
使用原型的最大好處
單例,工廠,觀察者模式項目中實際場景
項目中樹的使用場景及瞭解
工做收穫
setInterval須要注意的點
定時器爲何是不精確的
setTimeout(1)和setTimeout(2)之間的區別
介紹宏任務和微任務
promise裏面和then裏面執行有什麼區別
介紹class和ES5的類及區別
介紹箭頭函數和普通函數的區別
介紹defineProperty方法,何時用到
for...in和object.keys的區別
js是什麼範式語言(面向對象仍是函數式編程)
promise有沒有解決異步的問題
promise和setTimeout的區別(event loop)
進程和線程的區別(一個node實例就是一個進程,node是單線程,經過事件循環來實現異步)
介紹下DFS深度優先
觀察者模式裏面使用的數據結構(不具有順序,是一個list)css

 


基礎:
==和===的區別,什麼狀況下用相等==html


存儲:
cookie放哪裏,cookie能作的事情和存在的價值
cookie和token都存放在header裏面,爲何只劫持前者
cookie和session有什麼區別
如何設計一個localStorage,保證數據的實效性
http緩存控制
cookie和localStorage有什麼區別前端


算法:
介紹冒泡排序,選擇排序,冒泡排序如何優化
如何判斷鏈表是否有環
介紹二叉搜索樹的特色
快速排序
前K個最大的元素node

 

 

react相關:
react設計思路
react生命週期及本身的理解,對應的生命週期作什麼事
遇到性能問題通常在哪一個生命週期解決
服務器渲染ssr
介紹react優化
react組件中事件代理(原理,怎麼作,解決什麼問題)
react組件中怎麼作事件代理
react組件事件代理的原理
react中dom結構發生變化後內部經歷了哪些變化
react掛載的時候有3個組件,textComponent,composeComponent,domComponent,區別和關係,dom結構發生變化時怎麼區分data的變化,怎麼更新,更新怎麼調整,若是更新的時候還有其餘任務存在怎麼處理
key主要解決哪一類問題,爲何不建議用索引index(重繪)
react怎麼作數據的檢查和變化
react層面的性能優化(異步加載組件。。)
寫react有哪些細節能夠優化
react事件機制(綁定一個事件到一個組件上)
react異步渲染的概念,介紹time slicing 和 suspense
X聲明週期的改變
X中props改變後在哪一個生命週期中處理
介紹純函數
pureComponent和functionComponent區別
介紹JSX
如何作RN在安卓和IOS端的適配
介紹虛擬DOM,爲何虛擬dom比真實dom性能好
react常見通訊方式
介紹高階組件
react中key的做用
如何設計狀態樹
shouldComponentUpdate是爲了解決什麼問題
如何解決props層級過深的問題
react/redux中哪些功能用到了哪些設計模式
js變量類型分爲幾種,區別是什麼
js裏垃圾回收機制是什麼,經常使用的是哪一種,怎麼處理的
Emit事件怎麼發,須要引入什麼
對react見解,有沒有遇到一些坑
componentWillReceiveProps的觸發條件是什麼
介紹下react的Filber架構
畫Filber渲染樹
react使用過的一些組件
介紹immuable
react中setState後發生了什麼
setState爲何默認異步
setState何時是同步的
虛擬dom主要作了什麼
虛擬dom自己是什麼(js對象)
添加原生事件不移除爲何會內存泄漏,還有哪些地方會內存泄漏
介紹pureComponent
介紹function Component
react數據流
props和state的區別
介紹react context
從新渲染render會作什麼
哪些方法會觸發react從新渲染
state和props觸發更新的生命週期分別有什麼區別
對無狀態組件的理解
使用中遇到哪些問題,如何解決的
react的理念是什麼(拿函數式編程來作頁面渲染)mysql

 

 

介紹redux,主要解決什麼問題
redux總體工做流程
redux和全局對象之間的區別
redux數據回溯設計思路react

redux請求中間件如何處理併發
使用過的redux中間件
介紹redux數據流的流程
redux如何實現多個組件之間的通訊,多個組件使用相同狀態如何進行管理
多個組件之間如何拆分各自的state,每塊小的組件有本身的狀態,它們之間還有一些公共的狀態須要維護,如何思考這塊
redux中異步請求怎麼處理
redux中間件是什麼東西,接受幾個參數(兩端的柯里化函數)
柯里化函數兩端的參數具體是什麼東西
中間件是怎麼拿到store和action,而後怎麼處理
state是怎麼注入到組件的,從reduce人到組件經歷了什麼樣的過程
redux的設計思想
接入redux的過程
connect原理
redux在狀態管理方面解決了react自己不能解決的問題
redux有沒有作過封裝
react父子組件之間如何傳值
介紹下react高階組件,和普通組件有什麼區別
一個對象數組,每一個子對象包含一個id和name,react如何渲染出所有的name,在哪一個生命週期裏寫,其中有幾個name不存在,經過異步接口獲取,如何作
渲染的時候key給什麼值,可使用index嗎,用id仍是index好
redux怎麼實現屬性傳遞,介紹下原理
redux狀態管理和變量掛載到window中有什麼區別
介紹下redux整個流程原理
介紹redux接入流程
redux和全局管理有什麼區別(數據可控,數據響應)webpack

 

 

如何配置react-router
路由的動態加載模塊
介紹路由的history
react-router怎麼實現路由切換
react-router裏的<Link>標籤和<a>標籤有什麼區別
<a>標籤模式事件禁掉以後作了什麼才實現了跳轉css3


nodejs相關:
使用過的koa2中間件
koa原理,和express對比
koa-body原理
介紹本身寫過的中間件
有麼有涉及到Cluster
介紹pm2
master掛了的話pm2怎麼處理
如何和mysql進行通訊
koa中response.send,response.rounded,response.json發生了什麼事,瀏覽器爲何能識別到它是一個json結構或是HTML
koa-bodyparser怎麼來解析request
koa2中間件原理
經常使用中間件
服務端怎麼作統一的狀態管理
如何對相對路徑引用進行優化
node文件查找優先級
npm2和npm3+有什麼區別es6

 

 

工具相關:
使用過webpack裏面哪些plugin和loader
webpack裏面的插件是怎麼實現的
dev-server是怎麼跑起來的
項目優化
抽取公共文件是怎麼配置的
import {Button} from 'antd-design',打包的時候只打包button,分模塊加載,是怎麼作到的
使用import時,webpack對node_modules裏的依賴會作什麼
webpack整個生命週期,loader和plugin有什麼區別
webpack介紹
webpack生命週期
webpack打包的整個過程
經常使用的plugins
pm2怎麼作進程管理,進程掛掉怎麼處理
不用pm2怎麼作進程管理
通常怎麼組織css(webpack)
webpack如何配sass,須要配哪些loader
配css須要哪些loader
如何配置把js,css,html單獨打包成一個文件
如何實現分模塊打包(多入口)
打包時hash碼是怎麼生成的
隨機值存在同樣的狀況,如何避免
使用webpack構建時有沒有作一些自定義操做
webpack作了什麼web

 

 

 

http、瀏覽器相關:
介紹下瀏覽器跨域
如何解決跨域的問題
jsonp方案須要服務端怎麼配合
ajax發生跨域要設置什麼(前端)
加上CORS後從發起到請求正式成功的過程
xsrf跨域攻擊的安全性問題怎麼防範
使用async會注意哪些東西
async裏面有多個await請求,能夠怎麼優化(請求是否有依賴)
promise和async處理失敗的時候有什麼區別
表單能夠跨域嗎
常見http請求頭
介紹http2.0
經過什麼作到併發請求
http1.1如何服用tcp鏈接
http報文請求有幾個部分
跨域怎麼解決,有沒有使用過Apache等方案
從輸入URL到頁面加載全過程
tcp三次握手
tcp屬於哪一層(傳輸層)
介紹下http狀態碼
403,301,302,304是什麼
緩存相關的http請求頭
介紹https
https怎麼創建安全通道
如何去除URL中的#號
併發請求資源數上限(6個)
cors如何設置
jsonp爲何不支持post方法
介紹同源策略
網絡的五層模型
https加密過程
介紹SSL和TLS
介紹DNS解析

 

 

 


移動端:
移動端適配1px的問題
webView和原生是如何通訊
安卓4.0到6.0過程當中webview對js兼容性的變化
安卓activity之間數據是怎麼傳遞的
介紹AST抽象語法樹
如何實現H5手機端的適配
rem、flex的區別(root em)
em和px的區別

 


css:
介紹flex佈局
其餘css方式設置垂直居中
居中爲何要使用transform(爲何不使用margin-left/top)
介紹css3中的position:sticky
清楚浮動
定位問題
transform動畫和直接使用left,top改變位置有什麼優缺點
兩個元素塊,一左一右,中間相距10像素,上下固定,中間滾動佈局如何實現
css選擇器有哪些
盒子模型,標準狀況和IE下的區別
如何實現高度自適應

 

前端安全:
項目中如何處理安全問題


前端性能:
整個前端性能提高大體分幾類
如何作工程上的優化
性能優化(js,css,圖片,緩存預加載,SSR,多域名加載,負載均衡)
base64爲何能提高性能,缺點
介紹webp這個圖片文件格式

 

測試:前端怎麼作單元測試

相關文章
相關標籤/搜索