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

好了,此題完結。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,791評論 6 545
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,795評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,943評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,057評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,773評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,106評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,082評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,282評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,793評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,507評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,741評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,220評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,929評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,325評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,661評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,482評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,702評論 2 380

推薦閱讀更多精彩內容