摘要:前端面試總結(jié)先說背景,本人年月畢業(yè),去年十月校招到今年月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含基礎(chǔ),基礎(chǔ),常見算法和數(shù)據(jù)結(jié)構(gòu),框架,計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)知識(shí),可能有的點(diǎn)很細(xì),有的點(diǎn)很大,參考個(gè)人情況進(jìn)行總結(jié),方便對(duì)知識(shí)
前端面試總結(jié)
先說背景,本人2018年7月畢業(yè),去年十月校招到今年10月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)閉包
總結(jié)包含:
JavaScript基礎(chǔ),CSS基礎(chǔ),常見算法和數(shù)據(jù)結(jié)構(gòu),React&Vue框架,計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)知識(shí),可能有的點(diǎn)很細(xì),有的點(diǎn)很大,參考個(gè)人情況進(jìn)行總結(jié),方便對(duì)知識(shí)進(jìn)行回憶,有的列舉出了參考答案,有的則在文末列舉了優(yōu)秀回答
閉包的概念?
閉包的作用?
使用閉包的注意點(diǎn)?
事件機(jī)制事件3個(gè)階段 事件捕獲階段,處于目標(biāo)階段,事件冒泡階段
默認(rèn)為事件冒泡
ES6let const class 模塊化 等等常用ES6知識(shí)
箭頭函數(shù)作用,此處可以擴(kuò)展考察 this指向問題
set map 相關(guān)
原型鏈4種繼承方式
new 原理
深拷貝&淺拷貝數(shù)據(jù)類型
基本數(shù)據(jù)類型和引用數(shù)據(jù)類型
跨域同源策略
CORS
JSONP
Iframe + document.domain
安全CSRF 跨站請(qǐng)求攻擊 (原理,保護(hù)措施 referer token 驗(yàn)證碼,設(shè)置cookie的httponly屬性,post請(qǐng)求等等
XSS (同上
HTTP 方法幾種方法介紹
axios庫
輸入U(xiǎn)RL到頁面成功渲染的過程經(jīng)典問題 (任何一個(gè)步驟都可以引申來考察
DNS解析 (具體的解析過程
TCP連接
http請(qǐng)求 (狀態(tài)碼考察
返回?cái)?shù)據(jù) 瀏覽器渲染頁面 (頁面渲染過程
上面這些模塊下面一一例舉
DNS解析過程概念
瀏覽器緩存
系統(tǒng)緩存
路由器緩存
域名提供商
頂級(jí)域名服務(wù)器
主域名服務(wù)器
瀏覽器頁面渲染加載html構(gòu)建頁面dom樹
解析css 構(gòu)建渲染樹
渲染樹構(gòu)建完成后,將渲染樹繪制到屏幕(回流和重繪
JS解析,會(huì)阻塞dom樹的構(gòu)建
狀態(tài)碼http緩存 304
強(qiáng)制緩存 (expires cache-control
對(duì)比緩存 ( Etag & if-none-match last-modified & if-modified-since
301 302 區(qū)別(永久性重定向(帶緩存和臨時(shí)性重定向)
垃圾回收引用計(jì)數(shù)
標(biāo)記清除
TypeScript使用就不說了,總結(jié)下優(yōu)缺點(diǎn)
增加了代碼的可讀性和可維護(hù)性 編譯時(shí)錯(cuò)誤提示
包容性 .js 可寫為 .ts
擁抱ES6, 框架支持
學(xué)習(xí)成本高如:類,泛型,接口
函數(shù)式編程概念 相同的輸入 永遠(yuǎn)的到相同的輸出,且沒有任何副作用
副作用 比如 ajax請(qǐng)求 改變?nèi)肿兞?/p>
優(yōu)缺點(diǎn) 1.緩存性 2. 可移植性 3. 并行性 不需要共性內(nèi)存
柯里化的概念,作用( 最好不要答裝逼 我還沒想到更好的答案
我列舉一個(gè)知乎答案: 統(tǒng)一接口,封裝的每一層都干干凈凈,邏輯表現(xiàn)清楚
IndexedDB特點(diǎn)
區(qū)別LocalStorage SessionStorage(1.同步 2.存儲(chǔ)大小)
WebSocket概念
特點(diǎn)
readyState
排序算法常見的排序算法 復(fù)雜度 穩(wěn)定性
快速排序 不穩(wěn)定 空間復(fù)雜度O(logn) 平均時(shí)間復(fù)雜度O(nlogn) 最差...O(n2)
選擇排序 不穩(wěn)定 空間復(fù)雜度O(1) ...所有都是O(n2)
冒泡排序 穩(wěn)定
堆排序 不穩(wěn)定 空間復(fù)雜度O(1) ...所有都是O(nlogn)
插入排序
哈希表數(shù)組和鏈表的特點(diǎn)
搜索插入和刪除的時(shí)間復(fù)雜度O(1)
二叉樹先序遍歷
中序遍歷
后序遍歷
層序表里
樹高
鏈表翻轉(zhuǎn)鏈表
AVL樹 二叉查找樹特點(diǎn)
O(logn)
精度丟失問題0.1 + 0.1 != 0.2 (為什么
計(jì)算機(jī)內(nèi)部的信息都是由二進(jìn)制存儲(chǔ)的,但是有些浮點(diǎn)數(shù)沒法用二進(jìn)制精準(zhǔn)的表示出來
小數(shù)轉(zhuǎn)整數(shù)
Math.round() 四舍五入
Math.ceil() Math.floor()
生成隨機(jī)數(shù)引入 Math.random() [0,1) 的隨機(jī)小數(shù)
parseInt(Math.random()*(m-n)+n) [n, m)
Math.round(Math.random()*(m-n)+n) [n, m]
數(shù)組去重var set = new Set([1,1,2,2,3,3,3,3]) var arr = [...set]
indexOf
如何判斷數(shù)組是數(shù)組Array.isArray(arr) ES5的方法
arr instanceof Array
arr.__proto__.constructor === Array()
Object.prototype.toString.call(arr) === "[object Array]" //數(shù)據(jù)原型和對(duì)象原型定義的toString 方法不同
Object.prototype.toString.call(obj) === "[object Object]" // 如上
Object.prototype.toString.call(null) === "[object Null]" // 推薦此方法
數(shù)組指定個(gè)數(shù)去重 findDuplicate(num)es6 Set Map 相關(guān)操作
反轉(zhuǎn)字符串 JS異步異步解決歷史(Ajax的進(jìn)化歷程)
Promise,Async/Await 用法 Promise 缺點(diǎn)
Promise API Promise.all & Promise.race
AjaxReadyState (0, 1, 2, 3, 4) 5中狀態(tài)
js實(shí)現(xiàn)ajax
優(yōu)缺點(diǎn)
單/雙向數(shù)據(jù)綁定MV** 概念
vue/react 數(shù)據(jù)綁定機(jī)制
Vue生命周期
父子組件通信
雙向數(shù)據(jù)綁定
vm.$nextTick原理
React生命周期
Virtual-dom技術(shù)以及改良后的Diff算法
對(duì)比Vue.js
數(shù)組去重 數(shù)組扁平化 深拷貝和淺拷貝 Position屬性幾種屬性值
Box-sizing 屬性content-box border-box
盒模型 W3c標(biāo)準(zhǔn)盒模型和IE盒模型
兩欄布局 三欄布局常見自適應(yīng)布局寫法
回流和重繪概念
舉例
如何避免 eg: DocumentFragment, Absolute
浮動(dòng)偽元素和偽類
清除浮動(dòng)常見3種方法
隱藏元素display none
visibility hidden 區(qū)別
垂直居中布局常見的垂直居中布局方法
前端性能優(yōu)化列舉常見前端性能優(yōu)化方法
列舉一些優(yōu)秀回答
輸入U(xiǎn)RL你可以看到什么?
HTTP緩存
域名解析過程
vue生命周期
React生命周期
CSRF攻擊
水平垂直居中布局
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/117105.html
摘要:前端面試總結(jié)先說背景,本人年月畢業(yè),去年十月校招到今年月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含基礎(chǔ),基礎(chǔ),常見算法和數(shù)據(jù)結(jié)構(gòu),框架,計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)知識(shí),可能有的點(diǎn)很細(xì),有的點(diǎn)很大,參考個(gè)人情況進(jìn)行總結(jié),方便對(duì)知識(shí) 前端面試總結(jié) 先說背景,本人2018年7月畢業(yè),去年十月校招到今年10月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含: ...
摘要:此篇文章并未如何教你怎么面試的時(shí)候吹逼,而是給一點(diǎn)點(diǎn)建議,如何更聰明地達(dá)到目的。據(jù)不完全統(tǒng)計(jì),基本都是做管理后臺(tái)改。不要太沉溺和糾結(jié)于技術(shù),把重心移到業(yè)務(wù)能力上,踏踏實(shí)實(shí)做事。 前言 ??對(duì)于很多剛畢業(yè)或者大四的同學(xué),都會(huì)有個(gè)困惑,我如何學(xué)PHP,為什么知識(shí)會(huì)那么雜,然后實(shí)習(xí)中公司大概需要哪些要求。此篇文章并未如何教你怎么面試的時(shí)候吹逼,而是給一點(diǎn)點(diǎn)建議,如何更聰明地達(dá)到目的。 實(shí)習(xí)可...
摘要:獲取的對(duì)象范圍方法獲取的是最終應(yīng)用在元素上的所有屬性對(duì)象即使沒有代碼,也會(huì)把默認(rèn)的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對(duì)于一個(gè)光禿禿的元素,方法返回對(duì)象中屬性值如果有就是據(jù)我測(cè)試不同環(huán)境結(jié)果可能有差異而就是。 花了很長時(shí)間整理的前端面試資源,喜歡請(qǐng)大家不要吝嗇star~ 別只收藏,點(diǎn)個(gè)贊,點(diǎn)個(gè)star再走哈~ 持續(xù)更新中……,可以關(guān)注下github 項(xiàng)目地址 https:...
摘要:平日學(xué)習(xí)接觸過的網(wǎng)站積累,以每月的形式發(fā)布。年以前看這個(gè)網(wǎng)址概況在線地址前端開發(fā)群月報(bào)提交原則技術(shù)文章新的為主。 平日學(xué)習(xí)接觸過的網(wǎng)站積累,以每月的形式發(fā)布。2017年以前看這個(gè)網(wǎng)址:http://www.kancloud.cn/jsfron... 概況 在線地址:http://www.kancloud.cn/jsfront/month/82796 JS前端開發(fā)群月報(bào) 提交原則: 技...
閱讀 3231·2021-11-25 09:43
閱讀 3444·2021-11-11 16:54
閱讀 875·2021-11-02 14:42
閱讀 3794·2021-09-30 09:58
閱讀 3717·2021-09-29 09:44
閱讀 1326·2019-08-30 15:56
閱讀 2129·2019-08-30 15:54
閱讀 3017·2019-08-30 15:43