Ⅰ 新手學習前端,學完後可以做什麼
前端前景是很不錯的,像前端這樣的專業還是一線城市比較好,師資力量跟得上、就業的薪資也是可觀的,學習前端可以按照路線圖的順序,
0基礎學習前端是沒有問題的,關鍵是找到靠譜的前端培訓機構,你可以深度了解機構的口碑情況,問問周圍知道這家機構的人,除了口碑再了解機構的以下幾方面:
1. 師資力量雄厚
要想有1+1>2的實際效果,很關鍵的一點是師資隊伍,你接下來無論是找個工作還是工作中出任哪些的人物角色,都越來越愛你本身的技術專業前端技術性,也許的技術專業前端技術性則絕大多數來自你的技術專業前端教師,一個好的前端培訓機構必須具備雄厚的師資力量。
2. 就業保障完善
實現1+1>2效果的關鍵在於能夠為你提供良好的發展平台,即能夠為你提供良好的就業保障,讓學員能夠學到實在實在的知識,並向前端學員提供一對一的就業指導,確保學員找到自己的心理工作。
3. 學費性價比高
一個好的前端培訓機構肯定能給你帶來1+1>2的效果,如果你在一個由專業的前端教師領導並由前端培訓機構自己提供的平台上工作,你將獲得比以往更多的投資。
希望你早日學有所成。
Ⅱ Web前端發展前景及就業方向
Web前端的市場十分火爆,這一切可以說是歸功於現在互聯網+社會,下面隨北大青鳥web前端培訓專家一起來了解詳情。
前景
HTML5技術已經日趨成熟,Html5是移動互聯網前端的主流開發語言,目前還沒有一個前端的開發語言能取代
html5的位置,所以說,無論你是做手機網站還是在手機app應用,前端的樣式都是html5開發的。通過手機與電腦上網的使用率來看,從事html5相關開發工作,就業前景肯定是一片光明。對於web來說是非常有前景的,現在的網站開發都往移動設備上轉移,html5是眾望所歸。
就業方向
(1)資深WEB前端工程師
這個方向算是一個WEB前端最基本的選擇了。目前web前端面臨的問題是從業人員泛濫,但真正掌握技術的人才十分稀缺。所以這就需要我們WEB前端工程師耐得住寂寞,專心研究技術,不要被外界打擾我個人比較推薦這個職業發展方向,因為,在這個方向下,只要足夠耐心、厚積薄發,成功的概率是非常高的。
(2)資深WEB架構師
說功利點兒,這個方向可以得到更多的薪資。由於我們擁有最為廣泛的WEB相關知識沉澱,使得我們更加容易成為一名架構師。這個職業發展方向不如第一種來得平滑,主要是作為一名架構師不得不學習:後端技術、DBA、Platform等內容,而這種學習通常需要實際操刀做項目,不是自己在家裡寫兩個Demo就好的,這就勢必會遭遇一段時間的低潮期。但只要你堅持,未來前途無限光明。
(3)自己創業
其實,自己創業是最好的道路、也是成功率最低的道路,挑戰和機遇並存。這里,作為一個前端技術人員,需要將自己的視野更多放在行業的動態、產業鏈的動態、相關產品領域的動態,把關注細節的優勢繼續保持,同時,增強自己把控一個產品乃至一個公司命運的能力。
薪資待遇
小貼士
總結各大就業網站對web前端的就業要求(點擊鏈接直接報名HTML、CSS、JavaScript免費課程:#/13sg7D#rd)
1.精通html和css,能製作符合W3C標準的靜態頁面
2.精通JavaScript編程,對面向對象編程思想有深刻理解
3.精通主流Javascript庫/框架jQuery
4.理解並掌握JavaScript語言核心技術DOM、BOM有Javascript性能優化經驗
5.對瀏覽器兼容性有深入的研究,精通各種瀏覽器問題
6.了解Backbone.js、AngularJs等MVC框架並有實際項目開發經驗
7.了解#等伺服器後台技術和擁有一定的C#編程能力者優先
8.對交互體驗、可用性、用戶體驗有一定程度的理解
9.有良好的責任心和團隊合作能力、能承受較大的壓力
Ⅲ 阿里巴巴的素質測評測的是什麼
阿里巴巴的素質測評測通過量表、面試、評價中心技術、觀察評定、業績考核等多種手段綜合測評人才素質的一種活動。
素質是測評的基本對象,測評即測量和評定,測量是測評主體運用多種測量技術和統計方法對測評者的功能或行為進行量化描述的過程。
素質測評雖然離不開測量與評定,但並不是測量與評定的機械相加,而是一種建立在對個體特徵信息「測」與「量」基礎上的分析判斷。
組織架構
2012年7月23日,阿里巴巴集團對業務架構和組織進行調整,從子公司制調整為事業群制,成立淘寶、一淘、天貓、聚劃算、阿里國際業務、阿里小企業業務和阿里雲共七個事業群。
2013年1月10日,阿里巴巴集團對業務架構和組織將進行調整,成立25個事業部,具體事業部的業務發展將由各事業部總裁(總經理)負責。新體系由戰略決策委員會(由董事局負責)和戰略管理執行委員會(由CEO負責)構成。
Ⅳ 前端發展方向 職業規劃
端的發展前景是很明朗並且是非常具有潛力的,端開發是創建Web頁面或app等前端界面呈現給用戶的過程,通過HTML,CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互。主要發展前景從以下幾個方面說明:
近幾年各類互聯網應用產品層出不群,Web前端開發工程師作為實現前端展示的重要一步也越來越受到了企業的青睞,招聘需求呈現遞增趨勢,從前程無憂招聘數據可以看出,Web前端相關崗位24小時之內需求量高達4W+。
從就業方向來看,Web前端工程師所能選擇的就業崗位也是非常對樣的,網頁製作、H5開發、小程序開發、小游戲開發、APP開發等都是可以去選擇的,所以Web前端就業前景還是非常可觀的。
Web前端崗位空缺大,供不應求,那麼薪資待遇同樣呈現不斷上漲趨勢,從第三方統計平台職友集中可以看到北京web前端工程師平均工資:¥ 17280/月,按工作經驗統計,其中應屆生工資¥12920,,3-5年工資¥18030,5-10年工資¥23440。從以上數據不難看出,Web前端就業薪資普遍高於其他行業。
親愛的小夥伴,前端技術大家庭歡迎你的到來:https://sourl.cn/7jnzJp。在這里,不僅有志同道合的朋友,指導人生的老師,更有看不完的技術教程隨你挑!心動嗎?想學嗎?那就動動你的小手手,加入我們吧!
Ⅳ Web前端發展前景及就業方向怎麼樣
在互聯網行業,前端有WEB前端、HTML前端等,隨著互聯網技術發展,就業方向也有很多。web前端的就業方向有web架構師、web前端工程師、HTML前端開發工程師、網頁設計師等等。
HTML前端開發
與Web前端開發不同的是,使用HTML5不僅僅可以開發前端,還有網頁游戲,手機APP,使用瀏覽器進行3D渲染等一系列建立在HTML5標准與搭載其標准瀏覽器上的開發,而未來可能會有更多的功能分支並入HTML5標准。web前端工程師
這個方向是目前從事Web前端開發的主要就業方向
Web架構師
薪資普遍比較高,技術要求高,掌握多種技能,包括:後端技術、DBA、Platform等等,甚至包括網站優化SEO技術。
數據方向
數據研發這個是在Web開發的基礎上用數據附能,懂可視化的一定是有前端能力的,懂hadoop的一定java玩的溜,屬於Web開發的拓展方向。
大前端方向
比如阿里,在大量實踐rn和weex;由於公司內部安卓/ios式微,一定程度上,前端把ios和安卓收編了,統稱大前端(還有node)。
圖形學方向
前端自然是與圖形學有千絲萬縷的聯系,除了上面提到了可視化,還有相關3d引擎的開發工作。做這一行要求也非常高了,圖形學相關的演算法,3d引擎的開發,這都需要圖形學相關知識。
Ⅵ 學完web前端從事哪個方向比較好啊
給大家列舉Web前端的六個就業方向和工作內容。
1、資深Web架構師
這個方向,既兼顧了工作的單純性、又能夠減少實際Coding的工作量,能騰出更多時間。在國內,Web前端工程師遇到較多的情況是總是反復編寫著同樣的代碼,總是面對著同樣的技術和產品,容易感覺枯燥。但正是由於這樣較為廣泛的Web相關知識的沉澱,使得我們更加容易成為一名架構師。
雖說這種職業發展方向不如第一種來得平滑,但是作為一名架構師在學習後端技術、DBA、Platform等內容,將其豐富的知識應用到需要實際中的項目操作,不再局限自己在家裡隨便寫寫兩個Demo。即便在學成這段時間,勢必會遭遇一段時間的陣痛期。但對於一個大局觀好、悟性好、知識面廣的前端工程師而言,這依舊是值得推薦的榮光之路。
2、資深Web前端工程師
這個方向算是一個Web前端最基本的選擇了,但能夠把自己的專業做到極致,能一輩子就在一個專業領域不斷學習和積累。對所有的Web前端工程師來說,朝著這個職業發展方向,只要足夠耐心、厚積薄發,成功的概率是非常高的。
3、網頁設計師
網頁設計師可以將平面設計中的審美觀點套用到網站設計上面來(其區別是動態網頁的製作是平面設計不能達到的,它是一種審美方式的延伸)。網頁如門面,小到個人主頁,大到大公司、大的政府部門以及國際組織等在網路上無不以網頁作為自己的門面。當點擊到網站時,首先映入眼簾的是該網頁的界面設計,如內容的介紹、按鈕的擺放、文字的組合、色彩的應用、使用的引導等等。這一切都是網頁設計的范疇,都是網頁設計師的工作。而且具備精通Photoshop,Coreldraw,Frontpage,Dreamweaver等多項網頁設計工具的能力。
4、PHP程序員
PHP技術人才,正迎合了目前的互聯網的發展趨勢。而且PHP作為非常優秀的、簡便的Web開發語言,和Linux,Apache,MySQL緊密結合,形成LAMP的開源黃金組合,不僅降低使用成本,還提升了開發速度,滿足最新的互動式網路開發的應用,這使得php軟體工程師成為一個發展迅速的職業。
5、自己創業
其實,自己創業是最好的道路,但也是成功率最低的道路,挑戰和機遇並存。作為一個前端技術人員,需要將自己的視野更多放在行業的動態、產業鏈的動態、相關產品領域的動態,把關注細節的優勢繼續保持,同時,增強自己把控一個產品乃至一個公司命運的能力。
6、轉崗管理或其他
這條職業道路和Web前端技術之路關系不大。
Ⅶ web前端開發的就業方向有哪些
Web前端的就業面很廣,選擇的崗位有:前端開發工程師、資深前端開發工程師、網站重構工程師、前端架構師等等。
並且隨著前端開發技術發展,移動端應用、小程序、H5游戲出現。前端開發應用場景不斷拓展。走向更專業和工程化的發展。
互聯網的飛速發展過後,後面會逐漸走向平穩,不合格的濫竽充數的開發者會逐漸被市場淘汰,畢竟一邊是前端開發在未來有著巨大的發展前景和優勢,另一邊則是互聯網企業日益提高的需求門檻,你如果不努力,那就別怪人家選擇更好的人代替你。
Ⅷ Web前端崗位面試題有哪些
前端面試題匯總,基本上會有四大類問題,具體如下:
一、HTML
1、Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?
2、HTML5 為什麼只需要寫 <!DOCTYPE HTML>?
3、行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?
4、頁面導入樣式時,使用link和@import有什麼區別?
5、介紹一下你對瀏覽器內核的理解?
6、常見的瀏覽器內核有哪些?
7、html5有哪些新特性、移除了那些元素?如何處理HTML5新標簽的瀏覽器兼容問題?如何區分 HTML 和 HTML5?
8、簡述一下你對HTML語義化的理解?
9、HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?
10、瀏覽器是怎麼對HTML5的離線儲存資源進行管理和載入的呢?
11、請描述一下 cookies,sessionStorage 和 localStorage 的區別?
12、iframe有那些缺點?
13、Label的作用是什麼?是怎麼用的?(加 for 或 包裹)
14、HTML5的form如何關閉自動完成功能?
15、如何實現瀏覽器內多個標簽頁之間的通信? (阿里)
16、webSocket如何兼容低瀏覽器?(阿里)
17、頁面可見性(Page Visibility)API 可以有哪些用途?
18、如何在頁面上實現一個圓形的可點擊區域?
19、實現不使用 border 畫出1px高的線,在不同瀏覽器的Quirksmode和CSSCompat模式下都能保持同一效果。
20、網頁驗證碼是幹嘛的,是為了解決什麼安全問題?
21、tite與h1的區別、b與strong的區別、i與em的區別?
二、css
1、介紹一下標準的CSS的盒子模型?與低版本IE的盒子模型有什麼不同的?
2、CSS選擇符有哪些?哪些屬性可以繼承?
3、CSS優先順序演算法如何計算?
4、CSS3新增偽類有那些?
5、如何居中div?如何居中一個浮動元素?如何讓絕對定位的div居中?
6、display有哪些值?說明他們的作用。
7、position的值relative和absolute定位原點是?
8、CSS3有哪些新特性?
9、請解釋一下CSS3的Flexbox(彈性盒布局模型),以及適用場景?
10、用純CSS創建一個三角形的原理是什麼?
11、一個滿屏 品 字布局 如何設計?
三、常見兼容性問題?
1、li與li之間有看不見的空白間隔是什麼原因引起的?有什麼解決辦法?
2、經常遇到的瀏覽器的兼容性有哪些?原因,解決方法是什麼,常用hack的技巧 ?
3、為什麼要初始化CSS樣式。
4、absolute的containing block計算方式跟正常流有什麼不同?
5、CSS里的visibility屬性有個collapse屬性值是幹嘛用的?在不同瀏覽器下以後什麼區別?
6、position跟display、margin collapse、overflow、float這些特性相互疊加後會怎麼樣?
7、對BFC規范(塊級格式化上下文:block formatting context)的理解?
8、CSS權重優先順序是如何計算的?
9、請解釋一下為什麼會出現浮動和什麼時候需要清除浮動?清除浮動的方式
10、移動端的布局用過媒體查詢嗎?
11、使用 CSS 預處理器嗎?喜歡那個?
12、CSS優化、提高性能的方法有哪些?
13、瀏覽器是怎樣解析CSS選擇器的?
14、在網頁中的應該使用奇數還是偶數的字體?為什麼呢?
15、margin和padding分別適合什麼場景使用?
16、抽離樣式模塊怎麼寫,說出思路,有無實踐經驗?[阿里航旅的面試題]
17、元素豎向的百分比設定是相對於容器的高度嗎?
18、全屏滾動的原理是什麼?用到了CSS的那些屬性?
19、什麼是響應式設計?響應式設計的基本原理是什麼?如何兼容低版本的IE?
20、視差滾動效果,如何給每頁做不同的動畫?(回到頂部,向下滑動要再次出現,和只出現一次分別怎麼做?)
21、::before 和 :after中雙冒號和單冒號 有什麼區別?解釋一下這2個偽元素的作用。
22、如何修改chrome記住密碼後自動填充表單的黃色背景 ?
23、你對line-height是如何理解的?
24、設置元素浮動後,該元素的display值是多少?(自動變成display:block)
25、怎麼讓Chrome支持小於12px 的文字?
26、讓頁面里的字體變清晰,變細用CSS怎麼做?(-webkit-font-smoothing: antialiased;)
27、font-style屬性可以讓它賦值為「oblique」 oblique是什麼意思?
28、position:fixed;在android下無效怎麼處理?
29、如果需要手動寫動畫,你認為最小時間間隔是多久,為什麼?(阿里)
30、display:inline-block 什麼時候會顯示間隙?(攜程)
31、overflow: scroll時不能平滑滾動的問題怎麼處理?
32、有一個高度自適應的div,裡面有兩個div,一個高度100px,希望另一個填滿剩下的高度。
33、png、jpg、gif 這些圖片格式解釋一下,分別什麼時候用。有沒有了解過webp?
34、什麼是Cookie 隔離?(或者說:請求資源的時候不要讓它帶cookie怎麼做)
35、style標簽寫在body後與body前有什麼區別?
四、JavaScript
1、介紹JavaScript的基本數據類型。
2、說說寫JavaScript的基本規范?
3、JavaScript原型,原型鏈 ? 有什麼特點?
4、JavaScript有幾種類型的值?(堆:原始數據類型和 棧:引用數據類型),你能畫一下他們的內存圖嗎?
5、Javascript如何實現繼承?
6、Javascript創建對象的幾種方式?
7、Javascript作用鏈域?
8、談談This對象的理解。
9、eval是做什麼的?
10、什麼是window對象? 什麼是document對象?
11、null,undefined的區別?
12、寫一個通用的事件偵聽器函數(機試題)。
13、[「1」, 「2」, 「3」].map(parseInt) 答案是多少?
14、關於事件,IE與火狐的事件機制有什麼區別? 如何阻止冒泡?
15、什麼是閉包(closure),為什麼要用它?
16、javascript 代碼中的」use strict」;是什麼意思 ? 使用它區別是什麼?
17、如何判斷一個對象是否屬於某個類?
18、new操作符具體幹了什麼呢?
19、用原生JavaScript的實現過什麼功能嗎?
20、Javascript中,有一個函數,執行時對象查找時,永遠不會去查找原型,這個函數是?
21、對JSON的了解?
22、[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) }) 能解釋一下這段代碼的意思嗎?
23、js延遲載入的方式有哪些?
24、Ajax 是什麼? 如何創建一個Ajax?
25、同步和非同步的區別?
26、如何解決跨域問題?
27、頁面編碼和被請求的資源編碼如果不一致如何處理?
28、模塊化開發怎麼做?
29、AMD(Moles/Asynchronous-Definition)、CMD(Common MoleDefinition)規范區別?
30、requireJS的核心原理是什麼?(如何動態載入的?如何避免多次載入的?如何 緩存的?)
31、讓你自己設計實現一個requireJS,你會怎麼做?
32、談一談你對ECMAScript6的了解?
33、ECMAScript6 怎麼寫class么,為什麼會出現class這種東西?
34、非同步載入的方式有哪些?
35、documen.write和 innerHTML的區別?
36、DOM操作——怎樣添加、移除、移動、復制、創建和查找節點?
37、.call() 和 .apply() 的含義和區別?
38、數組和對象有哪些原生方法,列舉一下?
39、JS 怎麼實現一個類。怎麼實例化這個類
40、JavaScript中的作用域與變數聲明提升?
41、如何編寫高性能的Javascript?
42、那些操作會造成內存泄漏?
43、JQuery的源碼看過嗎?能不能簡單概況一下它的實現原理?
44、jQuery.fn的init方法返回的this指的是什麼對象?為什麼要返回this?
45、jquery中如何將數組轉化為json字元串,然後再轉化回來?
46、jQuery 的屬性拷貝(extend)的實現原理是什麼,如何實現深拷貝?
47、jquery.extend 與 jquery.fn.extend的區別?
48、jQuery 的隊列是如何實現的?隊列可以用在哪些地方?
49、談一下Jquery中的bind(),live(),delegate(),on()的區別?
50、JQuery一個對象可以同時綁定多個事件,這是如何實現的?
51、是否知道自定義事件。jQuery里的fire函數是什麼意思,什麼時候用?
52、jQuery 是通過哪個方法和 Sizzle 選擇器結合的?(jQuery.fn.find()進入Sizzle)
53、針對 jQuery性能的優化方法?
54、Jquery與jQuery UI有啥區別?
55、JQuery的源碼看過嗎?能不能簡單說一下它的實現原理?
56、jquery 中如何將數組轉化為json字元串,然後再轉化回來?
57、jQuery和Zepto的區別?各自的使用場景?
58、針對 jQuery 的優化方法?
59、Zepto的點透問題如何解決?
60、jQueryUI如何自定義組件?
61、需求:實現一個頁面操作不會整頁刷新的網站,並且能在瀏覽器前進、後退時正確響應。給出你的技術實現方案?
62、如何判斷當前腳本運行在瀏覽器還是node環境中?(阿里)
63、移動端最小觸控區域是多大?
64、jQuery 的 slideUp動畫 ,如果目標元素是被外部事件驅動, 當滑鼠快速地連續觸發外部元素事件, 動畫會滯後的反復執行,該如何處理呢?
65、把 Script 標簽 放在頁面的最底部的body封閉之前 和封閉之後有什麼區別?瀏覽器會如何解析它們?
66、移動端的點擊事件的有延遲,時間是多久,為什麼會有? 怎麼解決這個延時?(click 有 300ms 延遲,為了實現safari的雙擊事件的設計,瀏覽器要知道你是不是要雙擊操作。)
67、知道各種JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么? 能講出他們各自的優點和缺點么?
68、Underscore 對哪些 JS 原生對象進行了擴展以及提供了哪些好用的函數方法?
69、解釋JavaScript中的作用域與變數聲明提升?
70、那些操作會造成內存泄漏?
71、JQuery一個對象可以同時綁定多個事件,這是如何實現的?
72、Node.js的適用場景?
(如果會用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
73、解釋一下 Backbone 的 MVC 實現方式?
74、什麼是「前端路由」?什麼時候適合使用「前端路由」? 「前端路由」有哪些優點和缺點?
75、知道什麼是webkit么? 知道怎麼用瀏覽器的各種工具來調試和debug代碼么?
76、如何測試前端代碼么? 知道BDD, TDD, Unit Test么? 知道怎麼測試你的前端工程么(mocha, sinon, jasmin, qUnit..)?
77、前端templating(Mustache, underscore, handlebars)是幹嘛的, 怎麼用?
78、簡述一下 Handlebars 的基本用法?
79、簡述一下 Handlerbars 的對模板的基本處理流程, 如何編譯的?如何緩存的?
80、用js實現千位分隔符?(來源:前端農民工,提示:正則+replace)
檢測瀏覽器版本版本有哪些方式?
81、我們給一個dom同時綁定兩個點擊事件,一個用捕獲,一個用冒泡,你來說下會執行幾次事件,然後會先執行冒泡還是捕獲
Ⅸ web前端就業方向有哪些
Web前端在前幾年網頁製作,在那個時候我們僅僅只需要做好網頁就可以了,但隨著這個崗位的逐漸細化,HTML、CSS、Java的逐漸規范,網頁製作已經不能完全涵蓋這個崗位的所有職責。為了更為規范、職業化的稱呼這個崗位,Web前端這個詞也就因此而出現。Web前端除了包括了網頁製作這個職能,同時還涵蓋了很多其它的智能。比如:頁面優化、網站兼容性、網站重構、頁面交互等等。可以說只會網頁製作技術已經完全無法滿足這個崗位的需求了。
不過,雖然我們需要學習的內容變得更多了,但我們的就業方向卻更加廣泛了,現在只要公司需要建造屬於自己的網站,那麼他們就必須招聘一名甚至多名Web前端工程師,而除了這個外,Web前端工程師的就業之路還有很多。
1.資深web架構師
這個方向,既兼顧了工作的單純性、又能夠減少實際Coding的工作量,能騰出更多時間。在國內,web前端工程師遇到較多的情況是總是反復編寫著同樣的代碼,總是面對著同樣的技術和產品,容易感覺枯燥。但正是由於這樣較為廣泛的web相關知識的沉澱,使得我們更加容易成為一名架構師。
雖說這種職業發展方向不如第一種來得平滑,但是作為一名架構師在學習後端技術、DBA、Platform等內容,將其豐富的知識應用到需要實際中的項目操作,不再局限自己在家裡隨便寫寫兩個Demo。即便在學成這段時間,勢必會遭遇一段時間的陣痛期。但對於一個大局觀好、悟性好、知識面廣的前端工程師而言,這依舊是值得推薦的榮光之路。
2.資深web前端工程師
這個方向算是一個web前端最基本的選擇了,但能夠把自己的專業做到極致,能一輩子就在一個專業領域不斷學習和積累。對所有的web前端工程師來說,朝著這個職業發展方向,只要足夠耐心、厚積薄發,成功的概率是非常高的。
3.網頁設計師
網頁設計師可以將平面設計中的審美觀點套用到網站設計上面來(其區別是動態網頁的製作是平面設計不能達到的,它是一種審美方式的延伸)。
除了以上所說的這幾種外,Web前端工程師能做的還有很多,比如工作之餘自己在網上接單,在接單的過程中你會碰到各種各樣的問題、項目,對於自身技術的要求是非常高的,但同樣,如果你的技術非常高,那麼通過接單你就可以掙到不菲的外快;由於Web前端工程師的知識面非常廣,幾乎網站方方面面的知識都要了解,所以自己創業也是一個不錯的出路,不過這需要你有足夠的工作經驗才行,而且你的知識面需要非常廣,否則創業這條路還是別考慮的好。
總之,Web前端工程師的就業方向是非常廣泛的,只要你掌握好技術,那麼根本不愁找不到工作,
Ⅹ 2019阿里前端面試題
干開發也有不少年頭了,其實每個開發人員應該都有總結和寫技術點的習慣,俗言說得好「好記性不如一個爛筆頭」。
我是一枚女程序猿,很少發文章,並且我深知這是不對的,不管好與壞分享出來大家一起討論,總會把不好的變成好的,窄路變成寬路。哎,可能個人使然,但是發表出來的還是很少,都是在自己的工作筆記里每次記錄著技術心得和一些總結。總覺得發表出來萬一不好,被人取笑了怎麼辦。總之是一個愛多想的女程序員。
最近我以前一個同事在找工作,她面試了阿里,然後跟我聊了聊,說讓我多發表自己的文章,建立自己的社區,最好再多參與一些開源項目或者在git上多建一些自己的項目。這話我以前也聽過,但是就是執行上不徹底啊。
這不,我現在必須把自己以前寫好的或者接下來的每一點技術總結也好 經驗總結也好,都想寫出來,就當不為別人看,為自己也行!
話不多說了,她給我發了一道她面試阿里的題。我自己做了做。這是我目前想到的思路和寫法。歡迎有更好更優的方案發出來。我也可以學習。謝謝~
題目:
篩選筆試題 (請在半小時內完成):
var arr = [
{name:'小米1', value: 1, type: 2, date: '2018-06-07T08:00:01.589Z' },
{name:'錘子T1', value: 1, type: 2, date: '2018-06-07T08:10:01.589Z' },
{name:'小米2', value: 1, type: 4, date: '2018-06-07T20:00:01.589Z' },
{name:'小米2', value: 4, type: 4, date: '2018-06-07T20:10:21.189Z' },
{name:'小米4', value: 1, type: 4, date: '2018-06-07T08:00:01.560Z' },
{name:'小米4', value: 2, type: 4, date: '2018-06-07T08:10:31.584Z' },
{name:'小米6', value: 1, type: 3, date: '2018-06-07T08:00:01.589Z' },
{name:'小米5s',value: 1, type: 4, date: '2018-06-07T08:00:01.589Z' },
{name:'錘子T2', value: 1, type: 4, date: '2018-06-07T08:00:01.589Z' },
{name:'錘子T1', value: 4, type: 4, date: '2018-06-07T08:06:01.589Z' },
{name:'魅藍note5', value: 1, type: 4, date: '2018-06-07T08:00:01.589Z' },
{name:'魅藍note2', value: 5, type: 4, date: '2018-06-02T08:07:01.589Z' },
{name:'魅藍note2', value: 6, type: 4, date: '2018-06-07T08:00:01.589Z' },
{name:'魅藍note3', value: 1, type: 4, date: '2018-06-05T08:00:01.589Z' },
{name:'魅藍note', value: 1, type: 4, date: '2018-06-07T08:00:01.589Z' },
{name:'oppor9', value: 7, type: 4, date: '2018-06-04T08:04:01.588Z' },
{name:'華為p9', value: 1, type: 4, date: '2018-06-02T08:00:01.577Z' },
{name:'華為p9', value: 2, type: 4, date: '2018-06-07T08:00:01.110Z' },
{name:'華為p10', value: 1, type: 1, date: '2018-06-07T08:00:01.534Z' }
];
/**
* 請用您認為最優化的方式,將arr中的type為4的數據過濾出來,
* 然後按相同的 name + date(按天)合並value(value累加),
* 然後按 value 降序(從大到小)排序,
* 最後每行按照 "${name},${本地日期},售出${sum(value)}部" 的格式,如:"小米2,2017年06月08日,售出5部", 列印(console.log)出來。
* 可以使用第三方js庫,可以使用es6。
* 請在半小時內完成。
要求最後輸出結果樣例如下:
oppor9,2017年06月04日,售出7部
魅藍note2,2017年06月07日,售出6部
魅藍note2,2017年06月02日,售出5部
小米2,2017年06月08日,售出5部
......
*/
function printArray(arr){
}
我的解答:
function printArray(arr){
const res = arr.filter(function(item, index, arr){
item.date = item.date.split('T')[0]
return item.type === 4
})
console.log(res)
const newArr = []
const temp = {}
for(const i in res) {
const key = `${res[i].name}@${res[i].date}`
if (temp[key]) {
temp[key] += res[i].value
} else {
temp[key] = res[i].value
}
}
console.log(temp)
for (const key in temp) {
const tempObj = {}
tempObj.name = key.split('@')[0]
tempObj.date = key.split('@')[1]
tempObj.value = temp[key]
newArr.push(tempObj)
}
console.log(newArr)
function compare(prop) {
return function(a, b){
const value1 = a[prop]
const value2 = b[prop]
return value2 - value1
}
}
newArr.sort(compare('value'))
console.log(newArr)
newArr.forEach((item, index) => {
const printStr = `${item.name},${item.date.split('-')[0]}年${item.date.split('-')[1]}月${item.date.split('-')[2]}日,售出${item.value}部`
console.log(printStr)
})
}
printArray(arr)
我有注意到時間那有點差異,題目數組里給的是2018,讓最後列印出來是2017年,我自己覺得是列印錯了。如果在現場我估計我會再問一下面試官這里是否不一樣。如果真不一樣,程序里在處理一下就行了
好了,此題完結。