当前位置:首页 » 网页前端 » 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年,我自己觉得是打印错了。如果在现场我估计我会再问一下面试官这里是否不一样。如果真不一样,程序里在处理一下就行了

好了,此题完结。