做者:不想gg
連接:www.nowcoder.com/discuss/840…
來源:牛客網css
1、算法部分
前端算法部分仍是很簡單的,至今我也沒問過什麼比較難的算法問題。若是你算法很差就能夠直接告訴面試官。不須要過多做假,面試官其實也很聰明的,若是你做弊很快就能發現的。
一、基本排序的方式
冒泡、快排、桶排、堆排序、歸併排序、插入排序。
基本也就這些吧。最重要的仍是快排和插入排序和堆排序。本身多寫幾回,有遞歸形式的再好好看一下使用循環形式達到結果的形式,基本也就沒什麼問題了。
二、二分搜索等。搜索方式或許是由於我太誠實了吧。。通常我就直接說個人算法不是很好。直接告訴他大多用過就是二分搜索了。其餘的面試官也就不怎麼問了,畢竟前端崗位。
三、二叉樹遍歷相關,例如前序遍歷中序遍歷後序遍歷等,深度優先搜索和廣度優先最好掌握。還有二叉樹的反轉。暫時能想到的就是這些吧。TopK問題也有問過。
我的感受除了以上這些應該就沒有什麼了。有些面試官曾經直接就告訴我,他大概也就會這些吧。再多了也就不怎麼了解了。牛客神器劍指offer,所有刷完,再加上上面這些應該也就沒什麼問題了。html
2、計算機網絡部分
計算機網絡部分知識點我的感受不是特別多,基本面試官也只是簡單問一下,如下這些你能說明白就沒什麼大問題了。
1.最重要的就是http協議。畢竟前端大多都和http協議搞事情。http協議大多包含了如下幾種問題吧前端
http報文解構都包含什麼(大體就是那個三部分,請求實體、請求頭、請求行這些)
http協議經常使用的狀態碼(https://blog.csdn.net/xiaozhuxmen/article/details/51934706)
http頭部關於緩存的字段
http和https的區別
http1.0 1.1 2 大體的區別
複製代碼
除此以外暫時想不到其餘的了。緩存字段和200、40四、304之類很是經常使用的狀態碼必定要記住。
2.tcp的三次握手和四次揮手。除此以外再就沒什麼了。
3.udp和tcp的比較等等vue
3、 html和css基礎部分。
這個部分的知識點很是多很是多。一時半會也不可能將全部的都囊括在內,先列出很是重要的吧。
1.盒模型概念
2.position定位屬性和相關的關係,例如relative佔用文檔流,而absolute和fixed卻不佔用,還有relative和absolute結合使用會有變化,必定要搞懂。
3.display相關屬性,經常使用的block、inline、等等。都要弄明白。
4.IFC和BFC問題。
5.雙飛翼佈局。
6.垂直居中、水平居中的多種方式和方法,這倆個都有不少的方法,儘可能每一個都記下來4個方法以上。應該就沒問題了。可是要注意能說明白每個方式方法的限制。例如咱們使用line-height的時候須要知道高度等等。並且還有要注意字體的居中和塊級元素等居中是不同的。
7.聖盃佈局(別人考過,我基本沒被問過。)
8.rem、em的使用。
9.less等預處理語言。
10.媒體查詢。
11.vh和vw,固然這個考的實在太少。
12.h5的語義化部分。這個其實在面試上是比較重要的一個問題,例如樓主蘑菇街當時就有一個問題問我實現刪除線怎麼辦。固然有html基礎標籤和css樣式了。他就問哪一種更好。當時樓主一臉矇蔽的說html的方式更好。最後被問緣由的時候說了一大堆不重要的,最後面試官告訴我是在語義化的方面考慮的。。。
13.h5 的web worker 還有websocket。這些不須要你真正使用過,可是要明白他們在什麼場景下使用。就能夠了。本身拿菜鳥教程上代碼的實驗一下就能夠了。websocket內部還有一些關於協議的部分。要本身弄懂。
14.h5的語義化標籤都有什麼,大體看一下,記住一部分。還有新加的例如video這些東西。
15.css3的都很重要,包括transform、transition、animate這些都好好看一下。
16.css選擇器的優先級,也就是class id 元素選擇器這些的優先級計算。
17.css樣式表引用的優先級部分。例如link引用或者行內都設置了字體顏色,問字體此時顯示什麼字體。
18.清除浮動。
19.canvas 某些特別的公司部門可能須要,可是我至今沒有被問過。
20.css實現響應式的方式。
除此以外暫時也想不到其餘的了。若是再有想到會再次添加。node
4、js部分
這個是重中之重了,若是你js掌握的很是很是好,面試官的問題你都回答上來了,那麼html、css部分問題沒答上也沒有什麼。畢竟js纔是前端的重點。
1.js的做用域做用域鏈。
2.js的原型原型鏈,來一張巨經典的圖片。能看懂或者你給面試官講明白就ok了。還有instanceOf那些判斷。
3.js的dom元素操做插入刪除等等。
4.js的垃圾回收機制。(問的比較少)。
5.js中String或者Array或者Math內部經常使用的方法。這些在菜鳥教程上均可以看的。
6.ajax請求詳細怎麼實現,和其中的響應狀態。
7.js的基礎類型和引用類型
8.事件委託、事件冒泡、事件捕獲。
9.addEventlistener和正常的onclick=()=> 的區別
10.js中new和object.creat區別
11.除了js中DOM的基礎方法還有BOM中的方法。好比經過js直接取出相應的url的端口號,或者是協議名,或者url總體。
12.瀏覽器輸入url以後最後網頁渲染出來通過了什麼(blog.csdn.net/xiaozhuxmen…
13.js跨域實現。我大概回答的有webpack和nginx等代理跨域。CORS和jsonp等。通常這些就能夠了 14.瀏覽器的同源策略
15.瀏覽器的迴流和重繪,就是reflow那些東西。
16.call、bind、apply區別。
17.js實現繼承怎麼實現。原理是? 這個其實和上面的原型鏈原型是一塊兒的。百度一下,多記住幾種方式。
18.請求get和post的區別
19.js方法參數argument
20.深拷貝和淺拷貝,還能夠引入序列化。還要明白序列化的缺點。
如下都是es6
21.promise,最好本身聲明一個構造函數嘗試去實現,這樣面試官會以爲你學的很認真。若是實在本身寫不出來上網查一下promise的實現原理或者源碼應該就有。
22.閉包
23.let和const,最好全面一點解釋,包括能夠說一下變量提高引入一下var,和這些在什麼場景下去使用。
24.generator
25.es6加上symbol的基礎數據類型
26.set類型能夠實現數組去重等。
27.箭頭函數 重點,不少時候都會問 包括裏面的簡便寫法和內部的this指針指向等等
28.解構賦值
29.es6新增長的正則符號。
30.或者直接問你es6有什麼新加的東西,說得越多越好
es6咱們能夠去http://wiki.jikexueyuan.com/project/es6/這裏面去學習。固然想要更深瞭解的話就須要看一下阮一峯大大的那本書了。可是這個我以爲面向面試足夠了。
如下就是亮點部分了,面試總要有一些亮點告訴面試官你基礎很好。由於其實和麪試官拽技術不必的,人家真正搞開發的,真的拽技術能甩你8條大馬路(固然真正的大大大佬請無視我這句話),並且我是面向我們不少仍是在蒙圈的同窗們寫的。都是很基礎的東西,畢竟不能說全部人都瞄準bat進發對吧?
1.js單線程和js具體怎麼實現異步的。大概的技術名詞有事件隊列、執行棧、宏任務、微任務。具體的各位老鐵們百度吧。。
2.webworke作分線程
3.vue-router原理實現。多看源碼之類的
4.nginx負載均衡。redis共享數據等等等。
5.asm.js(這個我想不少人沒聽過都。。這個是我本身看的一個技術。比較有意思的。由於面試官總會問你最近在看什麼比較新的技術這樣的問題,專門準備的)。webpack
由於我大多都是使用vue和node等的技術棧,因此vue也會問不少(看完vue官方文檔,基本就沒問題了) 1.vue的生命週期
2.雙向數據綁定。這個最好也是本身實現一下 理解更深
3.vue父子組件傳遞參數
4.vue傳遞參數方法
5.vue自定義組件 6.vue自定義指令 7.vuex組成和原理 8.vue-router的原理,例如hashhistory和History interface這些東西要弄明白。其實看一下源碼就行了,看不懂能夠直接看解析的相關技術博客。 9.vue的seo問題 10.預渲染和ssr 11.生命週期內create和mounted的區別 12.監聽watch等等 13.登陸驗證攔截css3
還有一些其餘的問題。
1.跨域。
2.網絡安全,大多就是csrf和xss看明白原理和解決方式就能夠了。
3.數據結構的棧、隊列、鏈表、等等這些基礎的數據結構要明白是什麼。
4.設計模式(www.cnblogs.com/tugenhua070…
5.數據庫相關操做語句(這個問得比較少,可是基礎的數據庫語句仍是要學的,仍是菜鳥教程。看一下就好了)
6.linex基礎指令,通常不多問。就算問也是問你知道什麼指令
7.bootstrap實現柵格的原理
8.webpack相關配置。例如跨域之類的nginx