雙非本科,通訊工程,算是轉到IT行業這邊的了。從大二暑期正式開始學習前端,想想已經一年的時間了。期間經歷了很多,從迷惘到清晰,從艱難自學到找到實習,從備戰秋招到找到工作。能經歷的我都經歷過了。來說說那些【前端工作者】的艱辛與歡樂
開始自學前端
大二暑期留在學校,一邊參加數學建模培訓,一邊自己學習前端的基礎。由於之前學習過一些HTML和JS的基礎,我就直接開始學習jquery了,跟著李炎恢老師的JQuery教程學習,算是入了門。學習了BootStrap框架。暑期就跟著視訊學習,做了兩個小專案。期間出現問題怎麼辦,能怎麼辦,就各種百度解決,看部落格,逛社群。在現在看來,當時就是沒有學會走就想著跑。自己之後在JS基礎這裡吃了很多虧。
跟著實驗室開始做專案
實驗室老師讓做一個物聯網平臺,於是我們就湊吧湊吧,成了一個team,有前端,後臺,移動端,嵌入式。所以建議之後的學弟學妹,如果你們學校有實驗室,去一去,自己潛心學習,加上良好的氛圍,進步會很大的。這個專案就讓我真正開始學習到前後臺互動,資料格式處理,瀏覽器渲染和相容性問題的處理。
春招(實習)
寒假荒廢了一個寒假,沒有想到,剛開學的開始,就是各大廠開始招聘暑期實習了,當時簡歷也沒做,知識也沒有複習,整個就是懵逼狀態。然後隨即開始趕超。我就記得我那段時間就是待在實驗室看各種前端知識總結,然後不停的改簡歷,最起碼改了有3版。做筆試,去面試。3月4月這兩個月也時春招的黃金時期,我那段時間面了CVTE,騰訊,好未來,融360,還有一些小公司。面經如下:
CVTE:
簡述一下專案
js閉包及解決辦法
js原型,原型鏈,繼承
angularJS資料繫結的原理
手寫程式碼 字串反轉
CSS中content如何自適應
然後就讓我問他問題,我問了我這場面試表現怎麼樣,還有哪些知識點掌握的不好。 然後讓我好好看js權威指南和js高程
騰訊:
自我介紹
給string寫一個函式,如何連結上去
bind函式實現的原理(用函式寫出來)
如何判斷括號匹配(寫一個函式)
webSocket,TCP,HTTP,websocket的首部資訊有哪些,解釋一下
socket與HTTP的區別
AngularJs資料繫結的原理
Vue路由使用的是什麼
NodeJS中Express框架使用哪些中介軟體
MVC框架與MVVM框架
解釋一下單頁面應用程式
然後問我有什麼問題,我問她們部門用什麼框架,她說是ReactJS,server用的是KOA。然後就開始說React多麼好,
好未來(一面)
基本就是基礎知識吧,有點想不起來了。
還有直接上手敲程式碼,我寫出來了,說我寫的不規範,最好用函式封裝起來
好未來(二面)
敲了兩段程式碼,基本都寫出來了
我現在回想起來,好像知道我掛在哪了,當時問我你喜歡看什麼小說,印象最深的是哪本,講了什麼。於是我沒多想就說了松本清張的《蒼白的軌跡:箱根溫泉殺人手稿》,講述的是凶手如何設計一個漫長的復仇計劃,不急不緩,絲絲入扣,在歲月的配合下,將棋局中的人,一個接一個地抹殺。就在我說的正入迷,就被面試官打斷了。然後,就沒有然後了
融360(一面)
簡述一下你的專案
彈性盒模型
H5+C3
transform
transition
animate
融360(二面):
移動端開發
移動前端與PC前端的區別
移動端開發的適配問題怎麼解決
好的,你移動端不怎麼會,我們也就不浪費時間了。EXM???
終於,感覺找不到實習了,然後就開始自己學習,又跟著實驗室做了一個專案,還是平臺開發。不過拿著去參加網際網路+大賽了。進入孵化階段了。都是放暑假了,然而我並沒有放棄找實習,對,就是這麼軸。然後,就找到了。
綠盟科技(一面)(就是我進去實習之後的導師)
canvas具體實現的步驟,如何繪製一個圓,有哪些引數
來,你說說你的這個平臺怎麼實現的
你會AngularJs,那你說說AngularJsDI
說說CSS3的新特性,動畫要怎麼實現
會使用git嗎
綠盟科技(二面)(部門老大面的,15mins左右)
你說說你使用git的情況
你能實習多久
對於專案開發的流程瞭解嗎
家在哪
會使用AngularJs吧
然後,就過了,週一報導
實習的收穫:學會團隊合作和協作開發,對於前後端資料互動的幾種方式那可是熟悉的不得了,因為出過好幾次問題,都實在不好意思再去找後臺大佬問了。我實習的時候,突然發現的一個好習慣,就是我每天記工作筆記,每天遇到什麼問題,怎麼解決的,有沒有更好的方法。
奈何,公司沒有實習生轉正,再走校招流程呢,我又沒過。ε=(´ο`*)))唉,心塞。然後,直接把活一交接,辭職走人了。回到學校全面備戰校招
秋招【biubiubiu】
秋招呀,就這麼匆匆忙忙的開始了,趕緊拾起自己遺忘的知識,翻開筆記,修改簡歷,狂刷題,投簡歷,做筆試,去面試。
俗話說,金九銀十,9月份的時候,面試倒是不少,但是offer卻沒有,這一度讓我開始懷疑人生,我TM好歹也是有專案經驗,有實習經驗的人呢,怎會這麼慘。
於是,我反思了一下,前面都是大廠,對於基礎知識和演算法要求高,我這歷史遺留問題估計是沒有得到解決。於是,國慶節期間狂補演算法,狂刷JS基礎知識。
然後,10月基本就是另一批公司了,演算法竟不怎麼問了。WTF???得虧我身經百戰,有專案經驗和實習經驗比較那得出手,我實習的時候還是做得平臺開發,難,是真的難。就公司那個平臺,看了好久,才明白整個業務邏輯。
於是,10月份終於收穫幾個offer。期間還拒了一家本地的,真是坑呀。像我這樣嚮往自由的人,是怎麼都想留在本地了。20多年了,沒出去過,所以,怎麼地都想去外面。
說說秋招面試吧
好未來(一面)
來,說說你的專案
談一下你對前端工程師的認識
演算法會嗎?寫一個你熟悉的排序
你實習都學到了什麼
你家在哪,想去北京嗎?
ps:大概只能想起這麼些了,然後我就被掛了,WTF???
東方財富(一面)
兩個棧實現一個佇列(三種方式)
將已排好序的陣列打亂,越亂越好(多種方法)
你數學建模做的是什麼,詳細講一下
資料庫會嗎?
瀏覽器相容性的處理
美團(一面)
http與https的區別是什麼
說一說HTTP的狀態碼
寫一個統計字串中每個字元出現的次數
寫一個氣泡排序
實習的時候做了什麼
你使用過AngularJs,你感覺它的優點和缺點是什麼
ps:我也不知道為什麼會掛,感覺都答上來了
綠盟(一面)
你在這實習過,那你說說你實習都做了什麼
實習遇到了什麼問題,怎麼解決的
你瞭解AngularJs指令操作的使用嗎?
AngularJs依賴注入的原理是什麼
flex佈局實現兩邊固定,中間自適應怎麼實現
websocket
http的請求方法
RESTful這種架構模式瞭解嗎
貓眼(一面)
jquery $()有哪些使用方法
HTML5瞭解哪些特性
CSS3animations和transform的區別
AngularJs如何實現依賴注入
HTTP用於cookie的欄位的設定
瀏覽器快取
websocket具體是怎麼使用的
來,這還有幾個程式設計題,你寫一下
推想科技(一面)
都不用說問題了,就是網上的那些js變態題,好多,一個一個問
詳見我的一篇blog 44個 Javascript 變態題解析 (上\下)
東方國信(一面,二面)offer
一面,電話面
自我介紹
說說你的專案
HTTP狀態碼(我又扯到了瀏覽器快取,一通說,然後他就說我基礎很好)
flex佈局
cookie和session的區別
說一說HTML5+CSS3新特性
談談事件機制
二面,視訊面
HTML5+CSS3新特性
JS淺copy與深copy
TCP與UDP
定位
閉包
JQuery原理
面完就告訴我過了,然後叫了他們老大,談了薪資福利什麼的,我說我考慮考慮。(最後拒了)
蘇寧(一面)
談談專案
websocket
寫一下程式碼,實現將一段文字查到頁面最前面
瀏覽器工作原理
瀏覽器快取機制
CDN瞭解嗎
移動端開發會嗎
你瞭解哪些效能優化的方法
ps:大家都知道蘇寧的評價吧,當時我是技術面過了的,至於為什麼沒有收到通過簡訊,我也不知道。其實就算我過了,也不會去的
西拓電氣(1,2,3,4,5面)offer
一面:
專案挨個講一下
實習做了什麼,學會了什麼,出現過什麼問題,怎麼解決的
瀏覽器相容性的處理
比較一下各大框架的優缺點
對於新技術學習的熱情
二面:
git使用熟悉嗎?
實習時遇到的最大的難題是什麼,怎麼解決的?
做專案的時候,遇到的難題是什麼,怎麼解決的
你如果過來,會負責平臺開發,能挑戰嗎?
能接受加班嗎?
三面(hr面)
我們公司是做什麼的
你能接受的薪資是多少
你家在哪,父母做什麼的
然後帶著我在公司休閒區參觀了一下
四面(副總面)
我們公司是做什麼的
你實習的公司好在哪裡,你感受到了什麼樣的氛圍
如果你到了我們公司,你願意把你在實習公司學到的技術氛圍在這裡營造嗎?怎麼去做
你的職業規劃呢?
如果公司有待改善的地方,你怎麼提出來
五面(總裁面)
我們公司是做什麼的,
然後我就扯了一下新技術現在的發展,如果我入職,我將會從那幾個方面進行技術研發
途家(一面)
很隨意,先做筆試題
一個演算法題,Dijkstra演算法
ajax
伺服器端開發瞭解嗎?
HTTP請求過程
實習遇到的問題,怎麼解決的,學到了什麼
融360(一面)
無力吐槽,視訊面,面了一個半小時,面試官拿了一份題,一個一個的往下問
好多是佈局問題
還有編寫個函式
都是網上那種面經,實在回憶不起來了
teambition(一面)
算是我面的比較有水準的一家公司
專案簡介一下
AngularJS的依賴注入
前端安全
JS的執行機制
AngularJS的工作原理,服務的幾種方法
NodeJs瞭解多少
AngularJs與Vue有什麼區別,每個的側重點在哪裡
ps:其實全程都是在技術討論,因為我使用AngularJs比較多,所以就談了很多AngularJs的技術,讓我好好看一看面向契約程式設計,還有JS需要往深挖掘,不能停留在表面
微盟(一,二面+HR)offer
一面:
陣列的方法
建立物件的幾種方法
如何實現繼承
websocket
HTTP的狀態碼,請求方法
會微信小程式開發嗎
移動端開發瞭解嗎
問了兩個筆試題
二面:
專案簡述一下
實習遇到的問題,怎麼解決的
說說陣列有哪些方法
git使用
事件機制
瀏覽器儲存
hr面:
去過上海嗎?
說一下你最驕傲的事情
在學校都有什麼成就
你數學建模是什麼做的
ps:hr說感覺我的思維很活躍,很有深度
然後,我就結束秋招了,不管怎樣,也算是找到一份比較滿意的工作。
浩浩蕩蕩的這幾個月,經歷了很多。也看懂了很多事情,覺得吧,人嘛,還是要遵從自己的內心去活著,因為你永遠不知道下一刻會有多糟糕。也就是活在當下,過好每一天。
學習技術,你就踏踏實實的,基礎是關鍵。
對於前端這方面的學習,我也算是身經百戰了,雖不能從成功的方面給予建議,但能從我走的彎路告訴你們,怎麼避免走一些愚蠢的彎路,因為彎路都是要走的,不能一帆風順的。
基礎很關鍵,如今三百六十行,行行轉IT,怎麼拼得過千軍萬馬呢,當然是牢固的基礎知識,如今我就在狂補計算機作業系統,網路知識,資料結構與演算法。
前端基礎,HTML+CSS+JavaScript
基礎知識見這篇部落格前端面試題之彙總
HTML&CSS:
對Web標準的理解、瀏覽器核心差異、相容性、hack、CSS基本功:佈局、盒子模型、選擇器優先順序、
HTML5、CSS3、Flexbox
JavaScript:
資料型別、運算、物件、Function、繼承、閉包、作用域、原型鏈、事件、RegExp、JSON、Ajax、
DOM、BOM、記憶體洩漏、跨域、非同步裝載、模板引擎、前端MVC、路由、模組化、Canvas、ECMAScript 6、Nodejs
其他:
移動端、響應式、自動化構建、HTTP、離線儲存、WEB安全、優化、重構、團隊協作、可維護、易用性、SEO、UED、架構、職業生涯、快速學習能力
前端摩爾定律不造大家聽過沒有,前端每18個月難度增加一倍。
對,是的,據Angular官方說法,每半年新出一個版本,是的,我1.0還沒有學會,5已經出來了,據說Vue3.0也出來了。很棒棒哦
少年,前端路漫漫,如果想好要走,那就加油吧!【原創】碼字不易,回憶更痛苦,少年,點個讚唄
ps:前端資源比較多,到時整理整理,分享給大家。
PS:微信公眾號 FEvivi
關注後回覆 vivi 獲取我的微訊號,望不吝賜教,pps:可輕撩哈哈
感謝大佬們閱讀,希望大家頭髮濃密,睡眠良好,情緒穩定,早日實現財富自由~ -----------------