這篇文章不適合拿到 BAT 的大佬及自制力特別差的人css
本文只是提供複習的思路,以及我本身的一些面經,並無具體的題目html
聽說先把 offer 亮出來才能吸引大家看下去。目前一共有五個。分別是順豐,拼多多,遠景智能,老虎證券和貝殼。其實拿到拼多多之後不少筆試面試就沒有繼續參加了,好比蘇寧,虎牙的面試都沒有去。還有一些直接筆試就拒了。由於過了也不會去,因此也就不敗人品了。前端
再說一下個人狀況吧,本科專業是礦物加工,當時連 c 語言都沒學過,只學過一門大家可能聽都沒聽過的 VB。而後考研考到了計算機的專業,兩年,因此已通過去一年多了。而後剛開始的話也不是作前端,其實真正接觸前端開發是去年 11 月左右。可是真的開始系統的學習應該是今年 4 月左右。由於其實實驗室開發的話用的東西不難,不少東西用不到,因此當時直接開發問題也不是特別大,可是如今看起來真是太菜了。好比今年四月左右嘗試了一下騰訊的實習,由於實驗室和本身技術的緣由,因此只嘗試了這一家。不過大家就能夠經過這一家判斷出我當時的水平了。當時有這麼一題,寫一個閉包,每次調用的時候自加 1。怎麼樣是否是很簡單,那我當時是怎麼寫的呢vue
var a = 0;
function add1(){
return a++;
}
複製代碼
沒錯,我就是這麼寫的,今年 4 月的時候。因此也應該大概知道我當時的水平吧。node
之因此說這些呢,是給你們打個氣,菜不要緊,可是不能一直菜。因此也是告訴你們,若是真想學好,而且有興趣的話是能夠學好的。先說一下我準備的過程吧,給你們作個參考。jquery
大概就是實習結束以後就開始準備了。由於那時還有課,實驗室還有項目,因此複習的比較慢,花了大概兩個月左右把紅寶書看了第一遍,基本上每一章都看了。這個過程雖然記住的東西很少,並且不少東西可能理解不了,可是會讓你多不少東西有個基本的概念。爲第二遍作準備。沒錯,這本書看一遍遠遠不夠,你還要看第二遍,並且要整理,最重要的是複習。我相信看一遍的人不少,看第二遍的人也有。可是看的時候整理而且常常複習的人可能並無那麼多。固然第二遍整理的時候你須要有複習的思路(後面我會提供給你們,能夠作個參考)。第二遍的時候不能有不理解的地方了,原型,繼承,原型鏈,執行上下文,垃圾回收,做用域鏈書上講的不清楚,看不懂的去網上找,仍是不懂本身用例子測試。第二遍必定要弄懂,除非你想來第三遍。第二遍的話總結只總結重點的幾章我就整理了九萬多字,而且那段時間天天早上都會複習一下,8 點複習,9 點左右結束,其實有點太多了。致使本身都快背下來了。後來的話感受天天把前一天整理的複習一下,每一個星期把全部的複習一下可能更合適一些,也有更多時間看別的。webpack
那段時間除了看這個的話還在看 vue 和 webpack,ES6 標準入門,圖解 http(稍微翻了一下 http 權威指南)。後來由於感受本身一個跨專業的基礎比較差,因此仍是把精力放在基礎上比較好,就暫時把 vue 和 webpack 放下了。開始看你不知道的 JavaScript。ES6 標準入門的話也不用都看,也是要有重點的看,固然這些都是針對找工做來講的。仍是同樣的,總結和複習缺一不可。css3
後面的話開始看你不知道的 JavaScript,解決了我對於 this 指向的疑惑,剛開始的話看上中兩卷就好,後面有時間能夠再看下。web
而後提早批就開始了。由於本身自己算跨專業,加上沒有實習,學習的時間不長,因此從開始的時候就積極投簡歷了。無論是什麼崗位,我都建議提早批開始投遞簡歷,固然,是在我前面說的那些準備工做都作的差很少的狀況下。若是你什麼都沒作,我以爲可能安心複習是更好的選擇。面試
開始面試之後,確定有好多東西不會,能夠經過寫面經,總結的方式來彌補本身的缺陷,不能面完了就結束了。這樣一樣的問題你永遠不會。好比剛開始我對 BFC,防抖節流,性能優化等根本不瞭解,後面的話也經過面試,面試完查資料瞭解了。這裏想說的就是不懂就要問,要查,而不是過。
後面的話本身瞭解的東西就比較多了,高性能 js,js 忍者祕籍,前幾天的話也是剛看完 js 函數式編程,最近又把 http 抓包實戰看完了,瞭解了抓包相關的東西。
前面的話是本身複習的一些經歷。裏面對框架說的比較少,這裏說一下緣由。首先我是跨專業的,基礎差,基礎都沒打好怎麼看框架。好比你讓一個會用 jquery 的 ajax 的人封裝一個原生的 ajax,可能他們不會,可是我會。因此框架當然重要,可是基礎是最重要的。固然框架裏面的一些好的思想你仍是要了解的。好比虛擬 dom,diff 算法,vue 雙向綁定實現這些東西。你能夠沒用過框架,可是這裏面的原理你須要花時間去了解。
下面是我從開始找工做時整理的一些面經,你們能夠參考一下。
有些可能沒有,由於現場面的時候是連着面的,因此沒有整理的時間,回去的時候都忘的差很少了,並且大多數都是相似的問題,可能少數幾個不同,也不值得整理了。因此有些可能沒有。
其實開始複習以前也整理過別人的面經,大體都差很少。我這裏就不提供具體的問題了,由於有好多人整理過了,因此能夠參考他們。可是你在看別人整理的內容以前,最好本身已經瞭解一部分了。由於別人整理的東西爲了簡潔可能會把一些幫助理解的東西去掉,因此至關於你看到的只是結論。你看別人整理的東西的時候,最好是用來查缺補漏,而不是用來學習。
重點 js 高級程序設計 3 - 7 章,10 - 13 章,21 章
首先,基礎知識必定要紮實。怎麼樣算紮實呢,舉個例子吧,每一個對象都有的 tostring 和 valueOf,誰能說出什麼狀況下觸發哪個
var obj = {}
console.log(obj);
console.log(+obj);
console.log(obj=={});
console.log(obj==={})
console.log(obj=='test')
console.log(obj==='test')
複製代碼
不少人只是過了一下,就好比別人整理的東西上面確定不會說的特別詳細,他只是給你個結論,因此你親自試過嗎?怎麼試呢,其實很簡單啊
var obj = {
toString:function(){
console.log('toString')
return Object.prototype.toString.call(this)
},
valueOf:function(){
console.log('valueOf')
return Object.prototype.valueOf.call(this)
}
}
alert(obj);
alert(+obj);
alert(obj=={});
alert(obj==={})
alert(obj=='test')
alert(obj==='test')
複製代碼
很簡單就能測試出來何時用 valueOf 和 toString 了。
再好比數組哪些方法會改變原數組,哪些不會。其實這些書上都有,可是沒有專門總結。由於總結不是書的事,書只負責教你知識,總結是你本身的事。一生不總結,一生都記不清。由於我也是從這種狀態走過來的,因此但願你們學完一點東西之後總結一下,過段時間看一下。
若是你這兩個都想的磕磕絆絆可能得看一下基礎部分的內容。
重點圖解 http,極客時間的趣談網絡協議,博客
基礎差很少了,還要看網絡的東西,若是作開發的話,先後臺都須要好好了解網絡的知識。具體有 http,http 2.0,https,dns,cdn,tcp,緩存,跨域,安全,本地存儲這些東西。前面那些計算機網絡的東西能夠經過圖解 http 來作個大概的瞭解。這裏想推薦極客時間的一門課程趣談網絡協議。若是有想試聽的能夠加我微信,經過個人連接購買的返利我也會返還給你,微信和連接放在最後。由於我以前也是特別頭疼網絡這方面的東西,不過聽了之後就感受好多了,甚至還能說下 quic 協議來裝個逼。天天早上,中午晚上去學校實驗室的路上聽一下,反覆聽,這點東西聽一個月就算弱智也能聽會了。固然也要本身總結一下,由於有些講的不是那麼清楚,好比 https 的 pre-matser 那裏,這就須要你本身去查一下。對於跨域,緩存,安全這些東西網上一找一大堆,我本身也整理過,因此也不是特別難,可能剛開始瞭解的很少,會以爲好難,其實看下來之後會以爲沒那麼難。這裏特別要注意的就是 cookie 的一些屬性,須要記一下。
css 權威指南 二、三、七、八、10 章,w3c,博客
html 首先要理解語義化,而後就是一些語義化的標籤。語義化的好處,新增的一些特性。給你一個頁面結構要能使用語義化標籤準確還原。
css 這部分的話其實考的比較多的是一些實際的東西,可是首先基礎你要知道。好比最基本的盒模型,還有一些 css3 新增的選擇器,屬性等。而後最常常的就是讓你實現三欄兩欄佈局,因此基本的佈局方式你也要了解吧。而後就是垂直居中,移動端適配等考的比較多。這些東西其實都是須要本身整理,而後一段時間複習一下。
重點 ES6 標準入門 二、三、七、十一、1四、1六、1八、1九、2二、23
ES6 重要且經常使用的特性基本都在這裏面的,具體常問的有 let const,class,箭頭函數,promise,async await,module 模塊化。
重點劍指 offer!!!
面試考的算法題 90% 都是劍指 offer 上面的,因此劍指 offer 也必定要好好刷,常常刷,刷完了繼續刷。這樣面試的時候 90% 以上的算法題就沒有問題了。可是若是筆試想表現的好一點的話可能就得刷 leetcode 了。可是我以爲仍是得首先把基礎概念弄懂了再刷比較好,最近極客時間也新開了一門算法課。想報名的能夠經過個人連接,加我微信,返利我也會返給你。固然,算法是長時間的事,就算不是爲了面試也建議一段時間刷幾題。
博客,視頻
框架方面雖然我暫時瞭解的很少,可是下半年也準備花時間在這上面還有 nodejs 上面。就算你不會,下面這幾個問題你也要弄懂。
mvvm 和 mvc 的區別,雙向綁定原理,虛擬 dom、diff 算法,spa 原理。
這一塊的話 ES6 標準入門裏面有,讓後網上也不少,最主要的是本身實現一下,而後比較裏面的不一樣。由於實驗室技術比較落後,這方面的東西沒有用過,因此我也只是經過簡單的 demo 測試過他們中的一些區別,瞭解的也不是特別深。可是必定要親自動手實現。這樣才能加深本身對這方面的理解
這些東西你準備好的話,基本一面就沒問題了。可是若是想進大廠的話,計算機基礎,後臺的東西你都要有所瞭解,由於你們能力都差很少,因此面試官最重視的仍是你的基礎。
剛開始的時候確定是看書,造成完整的知識體系。而後針對某些重點逐個攻破。最後的話能夠看一些他人整理的資料,面經,查缺補漏,常常總結。這裏面最重要的就是常常複習,有代碼必定要寫代碼。最忌諱的就是看完就結束,不總結,不復習,這樣知識留存率過低了,可能你暫時記下來了,可是過段時間就忘了。重要的函數要背下來,好比我常常天天隔幾天寫一下深拷貝,防抖節流,compose 函數,apply,bind,call 的實現等。這些經常使用的我以爲考到的可能比較大,而且能加深本身的理解。
固然了,經過寫博客的形式來總結最好不過了,由於有人與你互動,因此可以提升你的學習積極性,可是須要注意版權的問題,從書上整理的內容若是大規模引用的話,最好標註出處。並且若是有面試官問到的話,常常寫博客也是個加分項。接下來準備把計算機基礎,算法,框架,nodejs 這些東西補一補。雖然秋招結束了,可是學習是一生的事情。
書單:JavaScript 高級程序設計,你不知道的 JavaScript 上中,ES6 標準入門,CSS 權威指南,DOM 編程藝術。(可選)JavaScript 忍者祕籍,高性能 JavaScript,深刻淺出 nodejs,高效前端。
微信及連接: