985待業半年多,想去做前端,不知道現在還行嗎?
本科迷茫了四年,畢業就失業了,現在想做前端,希望大家給一個建議,根據我的情況:
大學也做過挺多跟編程有關的東西,代碼能力有做課程設計的能力,想做前端就是知乎上轉行成功的例子多,薪資也可以,學了點感覺接受的也挺快,不過最近看知乎上前端話題的問題,都是找不到工作之類的,感覺有點頭疼,和畢業後周圍人的壓力,生活有點堅持不住了,希望知乎上的朋友給個接下來的建議吧
瀉藥
不扯沒用的了
如果是看上薪資要學前端的。遲早打住。
因為壓根就不是你想的那樣。
高薪資的你知道面試得有多難么。
這幾天3年+ 經驗的面試掛我手底下的已經不少了。
就現學的那點東西,別說薪資高。恐怕連工作都難找到。
要是純為興趣,不惦記高薪資,就學吧。
畢竟現在是有大量小公司需求初級前端的(切切圖,改改js)
積累點經驗,慢慢轉行也行。
薪資么,就別想那麼多了。
吃得苦中苦方為人上人
都是窮老百姓,沒有背景,怎麼可能有高新低能的好地方給你留著呢。
看你描述還是有點基礎的,但是現在市場環境比較兩極分化。
據我所知低級前端現在非常不好找工作(當然運氣超級好說不定也好找,不過概率比較低,薪資也低,3k 到5k),中級工程師(阿里p5 水平)挺好找(10k 到15k的)工作的,高級工程師(阿里p6水平)簡直就是供不應求,專家級別找工作都是別人找他。
不過上面這幾個階段的上升,每一個都可以篩掉90%以上的人。而且對於不同情形的人,難度又都不一樣,後面會細說。
所以現在對你現在很重要的一點是,你能不能一年內從前端新手成為中級前端,興趣能否支撐持續、系統、深入的學習,實戰能力能不能迅速的提高,足以勝任創業公司、中大型公司的日常開發,甚至能不能獨當一面。
興趣、深入學習、實戰能力、獨當一面 這幾點都非常重要,但又都很難,特別是對於已經畢業了的人。一個難題是能不能找到一份低級前端工作;另一個難題是如何在低級前端工作所乾的事中 培養中級前端的能力。當然你可以選擇閉門造車半年,但這點時間和你能做的實踐也只能變成一個基礎較好的低級前端,找個好的低級前端工作應該就不難了。但在低級前端工作所乾的事中 培養中級前端的能力,對於不同情形的人,難度又都不一樣,這取決於你的工作內容環境、個人努力天賦。
工作環境:找不到工作的人可能連成為厲害點的低級前端都很難;工作環境很差的低級前端成為中級遙遙無期;在技術氛圍好公司的低級前端說不定一年就可以成為中級前端了。
另一個是自身能力,能否 持續、系統、深入的學習,實戰能力能否迅速的提高。其實只要基礎好(兩年編程經驗),大學裡一年成為中級前端工程師難度不大(不過畢業了的人有生存壓力要解決。。。)。
有的時候過了那村沒有那店,有的時候運氣真的很重要,如果錯失了最佳的機會(大學畢業之前就成為中級前端),要想重新追回逝去的時光,把自己變厲害,之後的努力和運氣可能就需要當初你在大學裡的幾倍了。
所以 985待業半年多,成為厲害的前端 結論就是希望還是有,只是挺小。所以歸根到底就是看運氣和努力。以及剩下的就是你大學幹嘛去了????
所以大學一定要好好學習啊。。。。先上張技能圖譜(很多人認為前端就是切點圖,然而隨著前端工程化的發展,現在對前端的普遍要求跟過去已不可同日而語。做好前端並不比其他技術崗容易,核心是JavaScript,也需較強編程能力,所以真要入行首先應保證自身有一定的編程水平,其次個人認為至少要有可獨立完成整站搭建的能力,也就是至少熟悉一門後端語言)
再來看些面試題,感受下:
Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?
行內元素、塊級元素、空(void)元素有那些?
使用link和@import有什麼區別?
介紹一下你對瀏覽器內核的理解?
html5有哪些新特性?如何處理HTML5新標籤的瀏覽器兼容問題?
HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?
瀏覽器是怎麼對HTML5的離線儲存資源進行管理和載入的呢?
請描述一下 cookies,sessionStorage 和 localStorage 的區別?
iframe有那些缺點?
Label的作用是什麼?是怎麼用的?(加 for 或 包裹)
HTML5的form如何關閉自動完成功能?
如何實現瀏覽器內多個標籤頁之間的通信? (阿里)
webSocket如何兼容低版本瀏覽器?(阿里)
頁面可見性(Page Visibility API) 可以有哪些用途?
title與h1的區別、b與strong的區別、i與em的區別?
CSS
CSS的盒子模型與低版本IE的盒子模型有什麼不同的?
CSS選擇符有哪些?哪些屬性可以繼承?
CSS優先順序演算法如何計算?
CSS3新增偽類有那些?
如何居中一個浮動元素?如何讓絕對定位的div居中?
display有哪些值?說明他們的作用。
position的值relative和absolute定位原點是?
CSS3有哪些新特性?
請解釋一下CSS3的Flexbox(彈性盒布局模型),以及適用場景?
用純CSS創建一個三角形的原理是什麼?
css多列等高如何實現?
一個滿屏 品 字布局 如何設計?
經常遇到的瀏覽器的兼容性有哪些?原因,解決方法是什麼,常用hack的技巧 ?
li與li之間有看不見的空白間隔是什麼原因引起的?有什麼解決辦法?
為什麼要初始化CSS樣式?
absolute的containing block計算方式跟正常流有什麼不同?
CSS里的visibility屬性有個collapse屬性值是幹嘛用的?在不同瀏覽器下以後什麼區別?
position跟display、margin collapse、overflow、float這些特性相互疊加後會怎麼樣?
對BFC規範(塊級格式化上下文:block formatting context)的理解?
CSS權重優先順序是如何計算的?
請解釋一下為什麼需要清除浮動?清除浮動的方式?zoom:1的清楚浮動原理?
CSS優化、提高性能的方法有哪些?
瀏覽器是怎樣解析CSS選擇器的?
在網頁中的應該使用奇數還是偶數的字體?為什麼呢?
margin和padding分別適合什麼場景使用?
抽離樣式模塊怎麼寫,說出思路,有無實踐經驗?[阿里航旅的面試題]
元素豎向的百分比設定是相對於容器的高度嗎?
全屏滾動的原理是什麼?用到了CSS的那些屬性?
什麼是響應式設計?響應式設計的基本原理是什麼?如何兼容低版本的IE?
視差滾動效果,如何給每頁做不同的動畫?(回到頂部,向下滑動要再次出現,和只出現一次分別怎麼做?)
::before 和 :after中雙冒號和單冒號 有什麼區別?解釋一下這2個偽元素的作用。
你對line-height是如何理解的?
怎麼讓Chrome支持小於12px 的文字?
讓頁面里的字體變清晰,變細用CSS怎麼做?(-webkit-font-smoothing: antialiased;)
如果需要手動寫動畫,你認為最小時間間隔是多久,為什麼?(阿里)
display:inline-block 什麼時候會顯示間隙?(攜程)
overflow: scroll時不能平滑滾動的問題怎麼處理?
有一個高度自適應的div,內有兩個div,一個高度100px,希望另一個填滿剩下的高度。
什麼是Cookie 隔離?(或者說:請求資源的時候不要讓它帶cookie怎麼做)
style標籤寫在body後與body前有什麼區別?
JavaScript
JavaScript原型,原型鏈 ? 有什麼特點?
JavaScript有幾種類型的值?(堆:原始數據類型和 棧:引用數據類型),你能畫一下他們的內存圖嗎?
Javascript如何實現繼承?
Javascript創建對象的幾種方式?
Javascript作用鏈域?
談談this對象的理解。
eval是做什麼的?
什麼是window對象? 什麼是document對象?
null,undefined的區別?
寫一個通用的事件偵聽器函數。
["1", "2", "3"].map(parseInt) 答案是多少?
關於事件,IE與火狐的事件機制有什麼區別? 如何阻止冒泡?
什麼是閉包(closure),為什麼要用它?
javascript 代碼中的"use strict";是什麼意思 ? 使用它區別是什麼?
如何判斷一個對象是否屬於某個類?
new操作符具體幹了什麼呢?
Javascript中,有一個函數,執行時對象查找時,永遠不會去查找原型,這個函數是?
對JSON的了解?
[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1&<&<24))).toString(16) }) 能解釋一下這段代碼的意思嗎?
js延遲載入的方式有哪些?
如何創建一個Ajax?
同步和非同步的區別?
如何解決跨域問題?
頁面編碼和被請求的資源編碼如果不一致如何處理?
模塊化開發怎麼做?
AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)規範區別?
requireJS的核心原理是什麼?(如何動態載入的?如何避免多次載入的?如何 緩存的?)
如何實現一個JS模塊載入器?
談一談你對ES6的了解?
ECMAScript6 怎麼寫class,為什麼會出現class這種東西?
非同步載入的方式有哪些?
documen.write和 innerHTML的區別?
DOM操作——怎樣添加、移除、移動、複製、創建和查找節點?
.call() 和 .apply() 的作用和區別?
數組和對象有哪些原生方法,列舉一下?
JS 怎麼實現一個類。怎麼實例化這個類
JavaScript中的作用域與變數聲明提升?
如何編寫高性能的Javascript?
那些操作會造成內存泄漏?
JQuery的源碼看過嗎?能不能簡單概況一下它的實現原理?
jQuery.fn的init方法返回的this指的是什麼對象?為什麼要返回this?
jquery中如何將數組轉化為json字元串,然後再轉化回來?
jQuery 的屬性拷貝(extend)的實現原理是什麼,如何實現深拷貝?
jquery.extend 與 jquery.fn.extend的區別?
jQuery 的隊列是如何實現的?隊列可以用在哪些地方?
談一下Jquery中的bind(),live(),delegate(),on()的區別?
JQuery一個對象可以同時綁定多個事件,這是如何實現的?
是否知道自定義事件。jQuery里的fire函數是什麼意思,什麼時候用?
jQuery 是通過哪個方法和 Sizzle 選擇器結合的?(jQuery.fn.find()進入Sizzle)
針對 jQuery性能的優化方法?
jquery 中如何將數組轉化為json字元串,然後再轉化回來?
jQuery和Zepto的區別?各自的使用場景?
針對 jQuery 的優化方法?
jQueryUI如何自定義組件?
實現一個頁面操作不會整頁刷新的網站,並且能在瀏覽器前進、後退時正確響應。給出你的技術實現方案?
如何判斷當前腳本運行在瀏覽器還是node環境中?(阿里)
移動端最小觸控區域是多大?
jQuery 的 slideUp動畫 ,如果目標元素是被外部事件驅動, 當滑鼠快速地連續觸發外部元素事件, 動畫會滯後的反覆執行,該如何處理呢?
把 Script 標籤 放在頁面的最底部的body封閉之前 和封閉之後有什麼區別?瀏覽器會如何解析它們?
移動端的點擊事件的有延遲,時間是多久,為什麼會有? 怎麼解決這個延時?(click 有 300ms 延遲,為了實現safari的雙擊事件的設計,瀏覽器要知道你是不是要雙擊操作。)
知道各種JS框架(Angular, Backbone, React...)么? 能講出他們各自的優點和缺點么?
Underscore 對哪些 JS 原生對象進行了擴展以及提供了哪些好用的函數方法?
解釋JavaScript中的作用域與變數聲明提升?
哪些操作會造成內存泄漏?
JQuery一個對象可以同時綁定多個事件,這是如何實現的?
Node.js的適用場景?
(如果會用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
什麼是「前端路由」?什麼時候適合使用「前端路由」? 「前端路由」有哪些優點和缺點?
知道什麼是webkit么? 知道怎麼用瀏覽器的各種工具來調試和debug代碼么?
如何測試前端代碼么? 知道BDD, TDD, Unit Test么? 知道怎麼測試你的前端工程么(mocha, sinon, jasmin, qUnit..)?
前端templating(Mustache, underscore, handlebars)是幹嘛的, 怎麼用?
簡述一下 Handlebars 的基本用法?
簡述一下 Handlerbars 的對模板的基本處理流程, 如何編譯的?如何緩存的?
用js實現千位分隔符?(來源:前端農民工,提示:正則+replace)
檢測瀏覽器版本版本有哪些方式?
做的項目中,有沒有用過或自己實現一些 polyfill 方案(兼容性處理方案)?
我們給一個dom同時綁定兩個點擊事件,一個用捕獲,一個用冒泡。會執行幾次事件,會先執行冒泡還是捕獲?
使用JS實現獲取文件擴展名?
Object.is() 與原來的比較操作符「 ===」、「 ==」的區別?
react-router 路由系統的實現原理?
React中如何解決第三方類庫的問題?
其他問題
設計模式 知道什麼是singleton, factory, strategy, decrator么?
開發過什麼應用或組件?
頁面重構怎麼操作?
列舉IE與其他瀏覽器不一樣的特性?
什麼叫優雅降級和漸進增強?
WEB應用從伺服器主動推送Data到客戶端有那些方式?
對Node的優點和缺點提出了自己的看法?
你有用過哪些前端性能優化的方法?
http狀態碼有那些?分別代表是什麼意思?
一個頁面從輸入 URL 到頁面載入顯示完成,這個過程中都發生了什麼?
部分地區用戶反應網站很卡,請問有哪些可能的原因以及解決方法?
從打開app到刷新出內容,整個過程中都發生了什麼,如果感覺慢怎麼定位問題,怎麼解決?
你怎麼看待Web App 、hybrid App、Native App?
你移動端前端開發的理解?(和 Web 前端開發的主要區別是什麼?)
如何設計突發大規模並發架構?
是否了解開源的工具 bower、npm、yeoman、grunt、gulp,一個 npm 的包里的 package.json 具備的必要的欄位都有哪些?(名稱、版本號,依賴)
每個模塊的代碼結構都應該比較簡單,且每個模塊之間的關係也應該非常清晰,隨著功能和迭代次數越來越多,你會如何去保持這個狀態的?
SEO怎麼優化? 知道各種meta data的含義么?
移動端怎麼做好用戶體驗?
對前端安全有什麼看法?
是否了解Web注入攻擊,說下原理,最常見的兩種攻擊(XSS 和 CSRF)了解到什麼程度?
項目中遇到過哪些印象深刻的技術難題,具體是什麼問題,怎麼解決?
以下附上一些優質的前端技術相關文章:
前端開發工程化探討--基礎篇(長文) - Coding
謝邀。。。
1. 先想一想自己為什麼讀大學
2. 再重新想一想自己為什麼選擇前端天上不會掉餡餅,有付出才有回報。與其擔心掙得少、工作不好找,不如擔心自己在前端方面有多少能力和潛力,以及願意付出多少努力……先定一個比較低的預期, 上車再說, 還是有不少公司會招很基礎的前端崗位.
剛開始的時候肯定會被鄙視, 臉皮厚一點, 上班干臟活累活,虛心請教前輩; 下班保持高強度自學,看書加動手, 學習路線知乎有不少精華帖, 可以搜一下.
如果一個公司的所有業務都駕輕就熟了, 那麼就擇機跳槽, 找要求更高一點的公司.
過個3到5年, 跳個3~4家公司, 有希望追上行業平均水平. 到什麼程度, 就看個人的努力程度和天賦了. 不過這3到5年會非常苦逼, 強度很大, 大概率不會比你高三考985輕鬆. 想清楚, 有心理準備就干, 切忌半途而廢.
謝邀
不知道題主是不是計算機相關專業,但就算不是的話,題主還是有一定基礎的。
前端入門門檻不高,非計算機專業的都可以轉過來,如果是之前寫過代碼的更會相對容易入門。
我也是985的本科出生(雖然後來讀了中科院計算所碩士,但是自我感覺本科對人影響更大),深知985出來的學習能力不會太差,甚至沒有寫過代碼的也能很快入前端。
對於前端找工作這點,在知乎我說過很多次:
前端學習曲線是先平緩再陡峭再平緩。在學習曲線變陡峭那一段,很多人卡在那裡。所以就有了我們現在看到的:一堆初級前端找不到工作,一堆公司招不到前端。公司要的是經歷陡峭之後的那些人。
知乎一堆只會切圖和用jQuery的自稱前端工程師叫囂著找不到工作,我一點都不奇怪。我們公司招前端遇到這樣的,也不會要。所以事實很多公司是想15-20k招一個靠譜的vue或者angular工程師,還很多時候招不到。
前端現在不缺菜鳥和初級,但一直都缺高級和高手。
如果題主打算入前端,最好做好苦練一番的打算。
這些都要會再去找工作:
- js高級應用
- es6/es7
- webpack
- angular或vue或react
還可以參看我之前回答的一個問題 90年,女生,坐標深圳,非計算機專業,轉行前端開發,靠譜嗎? - Mark MFS 的回答 - 知乎
點贊加關注,乾貨持續分享中。
大學做過很多編程相關的東西,代碼能力有做課程設計的能力。說明還是有一些編程基礎的,那麼學習前端應該是比較容易入門的,對於很多東西的理解已經有了基礎。入門相對而言比較容易,但是如果決定要學前端的話,還是需要深入學習的,基礎需要打好,同時一些新的東西也應該去接觸,當然,如果只是隨便學學,一直處於初級水平的話,恐怕難以找到好工作。
如果對於前端有很濃厚的興趣,有合適的學習路線,並持之以恆,可能剛開始工作確實不太好找,(畢竟前端新人也很多),但是如果有好的基礎,能力也足夠,還是有很多公司需要的。
我的建議:你可以嘗試一下,不要怕,如果不行,再離開,其實真的不用擔心,只要努力就行了,13145870132 我的微信,我不是也在找初級前端工作嗎?
種一棵樹最好的時機要麼是十年前,要麼是現在。你起點已經超越了大部分轉行的人了。建議你想清楚,如果是為了工資,現在飽和的前端市場已經不像前兩年的高薪了,如果你真是覺得做前端有趣,那你放心,興趣支撐的自我驅動力,肯定能使你學的不錯找到一份好工作
先給建議:想做前端的話,肯定還來得及。
不過如果想正式開啟你的前端之路的話,需要想清楚想明白現在轉做前端是為了什麼。如果是因為 「知乎上轉行成功的例子多,薪資也可以,學了點感覺接受的也挺快」 的話,在前端的道路上你可能堅持不了多久。轉行成功是別人的事,跟你沒什麼關係,想清楚自己為什麼轉行。薪資可以這種事情,你在其它行業或領域只要做得好薪資也差不到哪裡去,並不是說換了「前端」的 title 薪資就立馬翻番,最後還是看個人的專業能力。最後一點,如果學了感覺接受也挺快的話,說明你還是剛接觸,前端是上手容易深入難,要做好就更難了。
哪有什麼行不行的,想乾的話,行動起來再說。
反而我覺得,如果你之前沒做過前端的話,現在入前端反而更不能養活自己!
現在做前端,留給我一種跟「做音樂」一樣的感覺,前期要花費大量時間,精力,甚至經濟。然後你如果沒辦法突然走紅或者突然出道還沒辦法溢價。
現在知乎的前端話題每天都有各種「前端市場飽和」,「前端怎麼那麼多人」,「我原來搞xx的,現在想入前端合適么」之類的問題。然後結果都是大多數人認為「我會切圖,我用div css仿下來了某個網站。我用jquery 6得不行。」
燃鵝,現在的前端已經不是「dreamweaver的設計代碼窗口七三開使用」的時代了…寫個網頁都像在寫軟體。
最近剛找到一份工作,因為我沒經驗,說實話現在我拿到的這份工資在一線城市可是沒辦法愉悅生活了,但是我現在已經感動得不行。
=============================
補充一下答案,感覺我的答案負能量重得一腿:我當時是這麼想的,因為我是喜歡上前端了,不過就跟前端相關的工作都沒做過。現在沒經驗的前端程序員真的地位不高(上次在創業園周邊一個飯店,招洗碗工的工資比我在招聘網看的前端實習的工資還高一堆!),所以我當時這麼想的。因為我專業是跟網路相關,所以我想到的是。如果找不到喜歡的工作,就去應聘一些什麼網路運維,機房7x24小時輪班之類的工作,然後之餘就繼續加強前端學習,多給自己做總結,給自己開一個github帳號多看多寫多提交,就為了自己的需求也給自己造一個供自己玩用的小輪。然後等自己自學到足夠6的時候再出來找關於前端的工作。如果不這樣的話肯定會餓死,畢竟經濟來源有限。而且我提到做網路運維是因為我專業就是這個,找這種工作還是不難的。
學是肯定要學,早點學會早點「出道」(逃
而且我覺得我夢想的985怎麼可能是這個樣子的!其實你一點都不迷茫,只是一時還不能接受你自己選擇的後果。
其實你知道怎麼做前端,只是還不想付出需要的代價。
這估計是前端被黑得比較慘的一次﹋o﹋要做自己喜歡的才會開心,開心才有興趣學下去,學得深才拿高工資(?????)不過,才發現該看脊椎康復指南。
一個忠告: 先有車,再換車,兩個輪子先轉起來。
入門一個陌生領域,尤其是奔著錢去的話,最好先了解清楚人才市場。前端已經進入工程化的時代了,初級前端供大於求外,高級人才也在以不小的速率增加。
現在的話,題主最好把自己放在計算機人才的層面考慮問題,給自己半年時間把前端領域相關的知識都了解並實踐,至少在知識廣度上有優勢。
總之,盡量把自己在領域內打造的牛逼點,不愁找不到工作。前端行業估計到了清洗的階段了
Winter is coming...不是本專業,編程也沒有專業的自學過
的話……應屆生想過大廠校招還是挺難的…而過不了大廠校招…就意味著薪資水平一般…發展前景一般…就業機會一般…然後題主就會覺得…呃?程序員行業怎麼和說好的不一樣啊…——————————————哦,沒看到題主已經待業半年…抱歉那就是社招流程了……題主已經進入一般區域了……那麼如果為了起碼先不餓死自己為目的我覺得就請努力的自學吧……我是支持題主轉行前端的……但是想賺的多,發展好就不要太奢望了當然自學+際遇可以改變這個狀態……想學就學吧,很多同學中專大專眼睛一閉學了半年找個工作也沒多難,何況你是985,要求也只是份工作而已。最大的問題不是前端,而是做事搖擺不定
一入前端深似海!!!是的,前端入門很容易。有大把大把的人認為自己回html+css+jQuery就已經入了前端的門!但是我要告訴你,那是在兩年前(?????????) 那時候前端還沒有現在那麼難。讓我告訴你現在你要去面試你得會什麼?以上三個自然是得包括的了,以及一個簡單的css框架 如 bootstrap一個js框架 如vue react angular學了一個js框架 你得會相應的UI框架吧 如react的 ant design vue的vux 等等 你還得會裡面的路由插件吧 如react的 react-router vue的 vue-router 若是你做的是大型項目 你還得會狀態管理插件 如 react的react-redux vue的 vuex一個項目構建工具 如gulp webpack別說簡單的壓縮css js 精靈圖片 平白無故給你個項目讓你搭腳手架你會嗎 一個代碼版本管理工具 如 SVN git別說簡單的git add git commit 你有解決衝突的能力嗎 反正我至今衝突了都是一臉懵逼 得搞個半天才解決 一些額外知識普及 如 HTTP web安全 最簡單的瀏覽器里輸入一串地址回車後發生了什麼你能完整了解他是怎麼樣和伺服器交互拿到數據 瀏覽器又是用什麼渲染的嘛知道token是啥嗎 喂喂喂!你別走啊 還不止這些,你啃完犀牛書小紅書了嗎?你知道最簡單的閉包、作用域、作用域鏈、變數提升、this、原型、原型鏈等等是啥東西嗎 ????那麼 你還認為你前端入門了嗎?
就這麼說吧 做前端的複雜度並不亞於做一個優質的原生的 app,複雜程度很高的你可以看下 Google Doc, Google Drive 或者 Visual Studio Code。其實說到底糾結的並不是前端的問題,而是不管用什麼語言 框架 你能寫出多複雜優質的程序。
推薦閱讀:
※花整個大學的時間研究前端好嗎?
※如何評價阮一峰關於前端工具變化快的言論?
※如何評價WebKit B3 JIT Compiler?
※font-family設置多個值以後,在瀏覽器中怎麼確定到底是哪個字體生效了呢?