當前位置:首頁 » 網頁前端 » 2阿里前端
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

2阿里前端

發布時間: 2023-02-03 10:01:40

A. 前端與後端那個工資更高

前端與後端那個工資更高。
這個問題可能是初學者問的比較多,但其實沒有太多實際的意義。前端與後端那個工資更高,並沒有直接的對比,就像是在問車工和焊工那個工資更高,並無法直接給出答案,理論上技術更好的人拿錢更多。
然後再回到你的問題,前端與後端都屬於研發,至於那個拿錢更多,這兩個並不是一定的,但是全端一定是工資更高的,所以如果你一定想要工資更高的,可以考慮前端和後端都學,當然你付出的時間和精力也會更多。
希望對你有幫助,祝你學有所成。

B. 大專畢業去當程序員,每天都努力工作和學習,有機會去到阿里嗎

大專畢業去當程序員,每天都努力工作和學習,是有機會去到阿里的,入職阿里需要哪些條件呢:

1.阿里的前端開發需要做到在某個領域有深入研究,需要有創新性的技術沉澱。而小型企業的前端開發,則只需要了解和熟悉前端的相關技術,二者橫向對比,阿里的職業要求會更高,對職員的能力鍛煉得也會更好。

4.與一些獵頭或者意向部門員工保持長期聯系,其實阿里現在很多時候並不是你都面過了,就一定能拿offer的,hc的審批不僅僅是跟崗位競爭者PK,有時候部門內部也會統籌的。如果競爭力不強的話,盡量多選擇一些發展比較好的新業務部門,這種相對在發展期hc會足一些。

C. 阿里和百度的前端offer比較

阿里巴巴網路科技有限公司(以下簡稱:阿里巴巴集團)是一家主要提供電子商務在線交易平台的公司,由前英語教師ma 18人領導,成立於1999年在杭州。

2000年1月1日,由李彥宏和徐勇在美國創建的大型互聯網搜索引擎網路(BIDU)。它被認為是中國三大互聯網公司BAT的縮寫。截至2016年1月,網路在Alexa排名中位列第四,排名第一。


阿里巴巴集團

這里的計算機基礎是指數據結構和演算法、操作系統、編譯原理、計算機網路等。雖然相對於其他方向,前面用於基本的計算機工作的地方可能有點少,但不管工廠的規模,招募實習生完成正式招聘儲備,那麼將會對未來的希望有更大的發展空間,在一個Web前端分離的意義大嗎?-用戶如何回答以及如何成為一個完整的堆棧開發人員?-用戶的回答所描述的類型。

如果你有良好的基本的計算機讀寫能力,然後再擴展到其他領域(WebGL,計算機圖形學,節點)。Js底層操作系統、Js引擎和預編譯工具、編譯原理等)將很快開始。此外,還有一些公司不局限於網路的前端,包括前端部分的移動端,這也要求你有一個好的計算機基礎來做好。前區有很多人不滿足車輪,直接運行構建語言,如果你編程基礎不夠好,接觸各種編程語言和範例,學習這些東西會更容易(例如Ruby / Python - > CoffeeScript,Haskell - > LiveScript)。

雖然有很多地方招募足夠做前端的工作將減少對計算機基礎的需求,但這出戲的基礎是無害的,如果寫,要求回答面試,也可以加分。通常,「一些公司(不是面試官面前前端」的情況,我個人認為如果這種官問基本的計算機問題,實際上正確的,畢竟,人家在臉上,「之前的前端程序員」,在臉上,「程序員」

D. 前端與後端那個工資更高

1.一定程度上,後端薪資更高的觀點也不是錯的。 為什麼?如果你算一下阿里前端的平均薪資和後端平均薪資,一定是後端高。 前端的地位提高,就這幾年的事情。現在你去阿里P7前端跟後端(阿里後端就是Java)是一個價格,...
2.個體差異很大,即使同一個級別拿的也有多有少。 我其實在同級別的工程師里是屬於最高薪那個級別的,雖然討論薪資是高壓線,...
3.不管是前端還是後端只是個敲門磚。 很多年輕(其實我也挺年輕的)的小夥伴們都有一些執念,...

E. 阿里巴巴前端工程師是做什麼的

  • 入門級做頁面。就這么簡單。把Designer出的各種設計圖轉化成html+css+js+image的靜態網頁,並把它們交給後端開發人員製作成頁面模板。這就是入門級的前端工程師所做的事情。

  • 進階級還是做頁面。不過稍微復雜一些,你需要開始注意一些更復雜的問題,首當其沖的就是瀏覽器兼容性問題。老實說瀏覽器兼容性問題真的不是那麼好搞定的,畢竟每個項目對瀏覽器版本的要求都不一樣,而且現在不光有PC瀏覽器還有各種移動設備上的瀏覽器,同時國內廠家的瀏覽器種類也越來越多,坑也是密密麻麻。除了兼容性,你可能還要關注一下性能問題,包括但不限於網路性能、渲染性能、js邏輯的性能等等,這個展開講可以寫本小冊子了,呵呵。

  • 中級帶團隊。你可能會奇怪,一個中級工程師就能帶團隊了?可是真的很多公司就是這樣,尤其是小公司。當你了解了html、js、css以及各種瀏覽器的各種特性細節之後,你會被任命帶領一個小的開發團隊,當然是前端開發團隊。可能加你一共也就三四個人,甚至更少。這時候你的工作內容除了自己寫一點頁面以外,還會幫助組員解決各種各樣的細節問題,畢竟,組里,你是最懂技術細節的。這個時候,一部分人開始停步不前,而另一部分人開始關注另一個新的問題:工程化。前端代碼都是非常鬆散的,項目結構性差,一旦開發人員數量多起來,業務復雜起來,如何管理這么多人、這么多代碼是個非常大的問題。能否在這個問題上得到突破,決定了你能否邁向下一個級別。

  • 高級架構設計。此時你熟悉前端開發的各種技術細節(當然忘了一部分細節也沒事 ^_^),同時對各種前端框架、技術的特性聊熟於胸,你知道如何組織和管理項目讓大家能以最快的速度達到項目要求,你甚至了解手下每個人的所長所短。於是當新項目到來,你迅速根據自身過往的經驗選取若干種技術和工具,配上你認為最合適的人選組成項目團隊,披荊斬棘日夜兼程將產品汪的各種奇葩需求斬於馬下。這么做了一兩個項目之後,你可能又覺得空虛了,你要尋求新的目標。恰好,NodeJS打開了通往新世界的大門。

  • 非典型前端穿過NodeJS打開的大門,你進入了全新的世界——後端。全新的世界,無限的可能。樓上寸老師說的「上天入地,無所不能」,我猜就是這個狀態。愛幹嘛幹嘛吧,這個時候,你應該不會再來問「後端程序員都在幹嘛」這種問題了。其實,要成為一名「非典型前端」並不一定非得經過1~4的步驟。只是現在已經上了年紀的前端大多是這樣過來的,畢竟,NodeJS出來的時間也並不算很久。

F. 買家在阿里巴巴前端有哪些搜索方式

買家在阿里巴巴前端有搜索關鍵詞、產品圖片、作用等方式。阿里巴巴集團控股有限公司(簡稱:阿里巴巴集團)是以馬雲為首的18人於1999年在浙江省杭州市創立的公司。阿里巴巴集團經營多項業務,和關聯公司的業務包括:淘寶網、天貓、聚劃算、全球速賣通、阿里巴巴國際交易市場、1688、阿里媽媽、阿里雲、螞蟻金服、菜鳥網路等。

阿里巴巴國際交易市場是阿里巴巴集團最先創立的業務,是領先的全球批發貿易平台。阿里巴巴國際交易市場上的買家來自全球200多個國家和地區,一般是從事進出口業務的貿易代理商、批發商、零售商、製造商及中小企業。阿里巴巴國際交易市場同時向其會員及其他中小企業,提供通關、退稅、貿易融資和物流等進出口供應鏈服務。

G. 阿里p6前端面經

本科畢業,學校既不是211也不是985,我也沒有一畢業就進入大廠工作的經歷。我的職業生涯里一共有10多次面試經歷,阿里我面試了5次,失敗了4次,屢戰屢敗,屢敗屢戰。每當我聽到別人傳奇的經歷,會羨慕別人開掛的人生,也會有小失落,感嘆自己當初沒有做太多的努力,甚至自我懷疑和自我否定。人生中主動裸辭,被動裁員的經歷,曾經讓我在無數的黑夜裡,真的以為人生就這樣了。

在第四次面試阿里失敗後,我開啟了為期2年的自我重塑計劃,梳理 體系化的知識結構 、刻意練習 知識結構化表達 ,學習參考了吸引力法則完善自己的 簡歷人設 。最後在2020.1入職阿里巴巴,成為AE國際體驗技術團隊的P6前端工程師。
在這一段經歷中,我梳理了當時自己的幾個問題,大家看看是否有跟我相似的處境呢?

自我重塑的前提是自我覺醒,意識到自己存在問題,再讓自己走出舒適區,不斷地打碎自己,然後在這個過程中把碎掉的東西重新收拾起來,變成身體的一部分。 這個過程會讓你很痛苦,但如果你克服了,你就蛻變了。薛兆豐教授說過一句話,「生活不會在你都准備好了以後才開始」。面試也一樣,面試考驗的不是那幾輪的面試表現,而是你在長期生活、工作中積累的 硬技能和軟技能 ,這些包括:你的專業能力,框架能力,思維能力,性格和心態,溝通能力,價值觀等等。你只是剛好在這幾輪的面試里表現出了你的這些積累,吸引到了對方,最後拿到了Offer。如果臨時抱佛腳,光背概念和知識點,沒有結合項目深入思考,那麼面試的時候會表現的很空洞,給人的印象只是在堆砌一些關鍵詞,這樣面試掛掉的可能性就很高。

傳說有人問泰勒斯:「何事最難為?」 泰勒斯回答說:「認識你自己。」 隨著年齡的增長,閱歷的豐富,你會漸漸發現,無論是生活還是工作,很多的事情本質是與自己相處,了解自己的性格,發現自己的優缺點,知道自己從哪來,到哪去,最後想成為一個什麼樣的人。

舉個例子,我了解自己的性格是內向性格,而且原生家庭在我童年成長的過程中,讓我有些自卑,甚至我一度懷疑內向是一種性格缺陷。直到我看了一本書,書名叫《內向性格的競爭力》,開始漸漸明白我 自卑的點,來源於我根本不了解自己是什麼 。我也不了解外向性格、內向性格的優勢。外向性格的優勢在於它性格非常開朗,很容易給人一種親和力,自來熟。內向的性格優勢在於它的敏感度,洞察他人情緒,感知他人情緒的能力。內向性格的人都有一個共同的特點,叫做你需要提前充電。比如我們去參加一個面試,內向性格的人像一塊電池,需要提前充電,然後呢,這塊電池只能維持大概1個小時,但是一旦過了1個小時,電池電量用完,你就受不了,你在後半程的面試會感受不太舒服,因為你的性格里就是不太喜歡這樣的環境。

如果大家意識到這一點,在面試的時候你可以更好的去利用。

膽怯的心態,這個是最難克服的。我曾經是膽怯的人,我會把自己包裹起來,裹上一層堅硬的外殼。

這些會直接影響你在他人心中的形象,像阿里P6前端工程師,是一個獨擋一面的角色。如果自己性格膽怯,表現出畏縮畏尾的樣子,那麼即使進阿里了,你在推進項目的時候,會遇到很大的阻礙。這個阻礙一方面來自於你內心的膽怯,另一方面來自於外部壓力。所以這個是必須要克服的。

我克服膽怯的方法很粗暴。利用周末的時間刷了杭州城20多個恐怖密室(漆黑的密室環境,而且有NPC出來嚇人),慢慢把膽子練起來。後來我膽子大到什麼程度呢,我一個人跑到臨安挑戰極限,坐上飛機從10000英尺的高度自由降落,高空跳傘。

所以性格它不是一成不變的,你發現了,克服了,最後你的心態會越來越好,這個就是我想分享的。

這個是最核心的一個能力,同時也是可以讓你快速進入一門新領域的方法。以我現在的認知水平, 知識可以分為三層:知識點、理論、體系。 我們需要可以通過學習知識點 -> 整理理論 -> 形成體系。

輸入: 我們平時信息輸入的渠道,可以是通過看源碼、看書、他人分享的得到關鍵詞,通過關鍵詞搜索可以讓我們更廣泛地獲取信息。在搜索關鍵詞的過程中,我們往往會得到更多的關鍵詞,它可以是A、是B、是C。

構建: 我們需要這些ABC進行分類,構建我們的思維導圖。如果你沒有自己的思維導圖,網上有很多前端的知識圖譜,可以照著學習和搜索,理解每一個知識節點承載的內容,慢慢去構建屬於你自己的思維導圖。前期構建腦圖的過程挺痛苦的,意味你要把每一個知識點去摸清楚,但是一旦你建立好了,往後只需要在現有的腦圖里添加你新的知識節點,學習會越來越輕松。

解釋: 思維導圖構建好了以後,就是輸出,如何向別人解釋一個知識。

以上學習的方法,是我對費曼技巧的個人實踐,費曼技巧也被稱作是終極的學習方法。簡單說它是 「以教為學」,在學習的知識的時候,以別人聽得懂為目標,用最簡單的話把自己的意思表達出來。

關於學習的方法,我還要分享的是,在構建腦圖知識點的時候,我們不妨問自己5個問題?

理清楚了這5個問題,相信你會對這塊知識了解的很全面了。往往在面試的時候,面試官不會這么一板一眼的提問,有時候會問一些開放式的題目,或者一些刁鑽的技術問題,不要慌,他有可能是考察是否能用學到的知識來解釋一下新的例子。所以我們學習還要做最後一步, 把所學的知識都忘掉,剩下的思維能力才是你的。

掌握學習的方法還不夠,我們還要常常做一些階段性回顧,以一個項目為周期或者以半年為周期(周期時間可以自己把握),把人生當中的關鍵節點梳理出來,這不只是為了面試時快速反應,也是為了更加幫助你認識自己。

我們投遞簡歷失敗,有一部分原因在於,我們對自己定位不夠清晰。當前 P6 水平投遞 P7 崗位,那麼掛掉的概率就更高了。我們需要了解阿里崗位職級是怎麼樣的。阿里巴巴社招一般層級是從P6開始,往往工作經驗3年是一個分界點。

了解崗位職級,可以幫助我們認清當前水平處在哪一個層次,知道通往一下層次需要掌握哪些技能。比如我是P6,那麼我在寫簡歷或者面試的時候,盡可能在展示當前層次水平之外,會額外展示掌握的P7的一些能力,讓面試官看到你的潛力和亮點,你是具備快速通往下一層次的能力的。

阿里的面試按流程來的,你開始面試就會進入流程,在流程里的簡歷,除了面試官其他人是看不到。每個流程通常有5輪面試,4輪技術面和1輪HR面,面試官會根據你的水平層級和個人情況,決定要不要安排筆試和交叉面。面試的前兩輪是電話面試,後幾輪是現場面試。在投遞的簡歷的時候,盡量找人內推,內推的優勢在於內推人可以給你做信用背書,查看你的面試進度。如果不是走內推渠道,是阿里員工主動采蜜打電話邀請你面試,說明你的簡歷或者過去的歷史評價,是具有一定吸引力的,不然也不會打電話給你。接到電話後,可以跟面試官確認電話面試的時間,你可以在這段時間內,開始面試前的准備。

面試前需要做哪些准備呢?

形象建設分為 聲音形象、外在形象、內在形象

聲音形象: 為什麼我要講聲音形象呢?因為前幾輪的面試都是電話面試,面試官看不到你,你的語速、語調、語氣,都會影響電話那頭對你的判斷。

聲音影響面試的問題有哪些呢?

那我們要做的是盡可能的讓我們的語速保持勻速的水平,一分鍾200字左右,然後用胸腔偏下的位置發聲,用氣息推動喉嚨,這樣的發出的聲音雄渾有力,不會顯得沉悶,反而有些磁性。

外在形象: 針對現場面試的,簡單、干練、不邋遢就好。

內在形象: 聲音形象,外在形象都是淺層的吸引,最致命的吸引是人格吸引,是你的內在形象。我們在自我認識的環節,梳理過了「關鍵」信息,在面試的時候,就派上用場了,把那些能夠呈現你內在形象的案例展示給面試官,通過例子證明自己,你就是這樣的一個人,簡單說就是:「 我不要我覺得,我要你覺得 」。內在形象有哪些呢?自信、踏實、皮實、樂觀等等

簡歷為避免排版混亂,使用PDF格式。書寫原則: 可以適度包裝,但是不要造假 。造假涉及到誠信問題,你在技術面混過去了,後面第三方背景調查的時候,會驗證你說的情況,一旦打上不誠信的標簽,你就永遠進不了阿里了。在寫簡歷的時候,多關注一下對方招聘崗位的JD,崗位職責和需要的技術棧是什麼。了解這些後,盡可能在書寫簡歷的時候,展示你和招聘崗位所需重合的技能。如果當前掌握的技能和目標崗位有一定差距,那需要花時間提升不足,補齊這塊差距。不同公司的前端崗位的職責或技術方向不同,往往要准備多份簡歷去匹配不同公司崗位的情況。

我的簡歷的內容排版很簡潔,寫了基本信息,專業技能、項目經歷,最後才是教育背景。對於社招來說,你在大學期間發生的事情已經不是那麼重要了。重要的是你目前 掌握的技能和項目經歷 ,這兩塊是要重點描寫的。專業技能按掌握、熟悉、了解程度依次羅列。亮點項目是之前你梳理過的,詳細寫,附帶數據描述成果更具說服力。其他不重要的項目可以簡單描述技術棧,一筆帶過。這么做的目的就是一眼讓面試官看到你的優勢和核心競爭力。推薦一些好的簡歷模板,比如 WonderCV、五百丁。簡歷不用太花里胡哨,簡單明了,能夠清晰的表達你的內容即可。

面試前自我模擬面試可以增加你的自信心,自我介紹、面試的一些的話術都可以提前准備好,然後可以講給別人聽、講給自己聽。或者找一個水平在你之上的前輩對你進行一次模擬面試,收集面試反饋,針對模擬面試時卡頓、忘詞的知識點,重新記憶和解釋,然後不斷的重復上面步驟,直到你能可以用自己的話說出知識點的核心內容。

溝通的原則: 客觀描述事實,不做主觀臆斷 。具體有哪些情況呢?三說和三不說。

面試的時候,可以嘗試引導面試官。 每個面試官的喜好,出題的角度都不一樣,這個我們是無法預測的,但是我們可以去引導對方問一些問題。比如他問到某一個知識點A的時候,我們在回答A的同時,引申出和A有聯系的知識點B或C。回答的重心放在知識點A上,B或C是你在回答A的時候順帶那麼一提,它就像一個魚鉤,來引導面試官來問我們擅長的、准備好的知識。

渲染情緒: 在面試的時候多感知對方的情緒,在適當的時候,用一些你准備好的事跡,引發對方共情。之前我們梳理過一些「關鍵信息」,有一些失敗經歷或高光時刻是很容易讓人產生共鳴的。

反問階段:如果你不知道問些什麼,有保守一點的問法是,去問問對方團隊的情況,團隊在組織定位是怎麼樣的、技術棧是什麼、有哪些人員梯度,當前遇到什麼痛點問題等等。這些問題你傳遞出來的信息是,我對當前崗位所處的團隊,所做的事情非常感興趣。之前我在一家公司現場面試的時候,就主動提出帶我在公司轉轉,了解公司的產品形態。這也是一個向對方表達興趣的技巧。

面試的時候考察什麼?技術一面,重點考察基礎和知識廣度,上探你的技術天花板,下探計算機底層原理。一面常見的考察點有哪些呢?

技術一面專業能力佔了80%,軟素質佔了20%。如果過了技術一面,說明你的基礎各方面是很不錯的。接下來技術二面會重點考察你的工程能力、設計能力、規劃能力。二面通常會從你的項目開始問,這個時候你梳理的亮點項目就派上用場了。二面常見的考察點有哪些呢?

這些都是考察范圍,技術二面專業佔了60%,軟素質佔了40%。到了技術三面的時候,會聊一聊技術格局、視野、人生規劃、軟技能考察,這部分多展示你的大局觀,比如業務上的大圖,技術上的大圖,你長期或短期的人生規劃等等。

2.2.6 描述項目(STAR法則)

我分享一個描述的、項目的方法,叫做STAR法則,他有五個要素,情境(situation)、目標(target)、行動(action)、結果(result),我把他擴展了一下,技術面或者hr面的時候描述項目的時候,可以按這個套路來。

2.2.6 面試復盤

面試後記得主動添加面試官的微信,這是免費的性價比很高的人脈。加完微信能做哪些事?

面試後還需要復盤, 復盤結果和情緒 。拿一張白紙記錄你在面試中答好的/不好的知識點,還有你的在情緒佔比,緊張、開心、嚴肅是不是佔了面試中大部分情緒。每一次面試都像一面鏡子,照出你的短板,然後你把短板改掉,就離目標越來越近了。擁有這種面試意識,面試的次數多了,你會從害怕面試變得愛上面試。

分享一本軟體能的書 《金字塔原理》 ,是麥肯錫咨詢公司第一位女性顧問:芭芭拉·明托,寫的一本關於邏輯思路的書。裡面介紹了一些方法,幫助我們怎麼去 自下而上的構建邏輯金字塔 ,或者是 自上而下的表達金字塔

書的內容介紹我不做具體的描述了,感興趣的同學可以自行搜索。

我們在提升硬技能的同時,也要注重提升軟技能。技術很重要,但是它是我們實現想法的語言工具。在這之上, 使用工具的方法,比工具本身更關鍵 ,我們要清楚真正的修煉是什麼? 永遠都是內在的東西,軟性的東西 。比如說你的思維能力,耐心,聰明,情商,遇到挫折時的內心復原力。這些技能是可以伴隨你漫長的一生的,終身受用的,那麼我們就應該為此投資。

我在工作前2年是處於一個迷茫的狀態,沒有自己的規劃。真正讓我發生改變的是,突然有一天我回家,父母的頭發都白了,那一刻我意識到自己該學會長大,該為未來做點什麼了。從那以後,我每天的狀態就是,白天公司工作謀生存,晚上自我提升謀發展。在工作第3年的時候,自我感覺准備差不多了,開始去阿裡面試,所以才有了那段裸辭的經歷。當然我摔的很慘,也重新認識了自己。

我們做一個時間切片,把過去的自己和現在的自己對比,你會我發現當時所經歷的,覺得很困難的事,現在看來都不是事。給自己的人生列個目標,知道自己想成為什麼樣的人,實現目標,自己的差距就會越來越小。
還有什麼想了解的可以
有想了解更多的小夥伴可以加Q群 鏈接 裡面看一下,應該對你們能夠有所幫助

H. 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年,我自己覺得是列印錯了。如果在現場我估計我會再問一下面試官這里是否不一樣。如果真不一樣,程序里在處理一下就行了

好了,此題完結。