当前位置:首页 » 网页前端 » 阿里巴巴web面试
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

阿里巴巴web面试

发布时间: 2023-03-26 00:12:43

‘壹’ 去阿里巴巴(北京)面试web前端高级开发工程师,月薪我应该要多少

15k~20k。

‘贰’ 阿里巴巴面试流程 具体详细列出来

1、第一轮:团队面试,这一轮基本上是你的掘梁团队成员面试你,是和你同级或者高你一个P的师兄来面你主要还是讲自己简历上的做的项目,这里需要你很熟悉自己的项目才行,要把项目里你的角色做了什么没做什么讲清楚。

2、第二轮:主管面试,这一面其实跟第一面差不多,就是你的师兄们筛完简历了,然后到你的主管来面试你了而已。

3、第三轮:交叉面试,这一面基本是找个其他部门和你将来的主管平级祥饥的leader来面你一遍,防止前面自己部门面试作弊嘛,基本套路和二面差不多,但是会多问你一些基础知识和编程能力上的事,主要还是以考核你为目的,肯定不是为了难为你的,所以,好好加油表现出你自己就行。

4、第四轮:代码面试,这一面的面试是给你一个在谨散返线网站,然后你和你的面试官一起登陆上去,共享web页面,然后他给你出题,你来现场写代码,伪代码就行,然后你再给他讲一遍你的逻辑就ok了。

5、第五轮:boss面试,到这一面的时候基本就稳了,这一面就是你的主管的主管来面你了。

6、第六轮:HRG面试,谈人生谈理想谈三观谈薪资,只要你不反人类不扯淡,就ok。

‘叁’ 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年,我自己觉得是打印错了。如果在现场我估计我会再问一下面试官这里是否不一样。如果真不一样,程序里在处理一下就行了

好了,此题完结。

‘肆’ 面试阿里巴巴有多难,看看面经你就知道了

面试阿里巴巴有多难,看看面经你就知道了

研发工程师(Java)

我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。这是我的面经,在这里分享给大家。

一面:

1 自我介绍

2 项目中做了什么,难点呢。

3 Java的线程池说一下,各个参数的作用,如何进行的。

4 Redis讲一下

5 分布式系统的全局id如何实现。用zookeeper如何实现的呢,机器号+时间戳即可。

6 分布式锁的方案,redis和zookeeper那个好,如果是集群部署,高并发情况下哪个性能更好。

7 kafka了解么,了解哪些消息队列。

8 想做业务还是研究。

9 然后出了一道题,linux的访问权限是rwx格式的。使用一个类支持访问权限的增删改查,并且注意使用的数据格式以及方法效率,规范。给了一个多小时写题。

耗时将近30分钟。

二面:

1 介绍你做的项目和其中的难点。

2 上次面试官问的问题,反射的作用是什么。

3 数据仓库,多线程和并发工具等。

4 私有云,docker和k8s等。

5 了解哪些中间件,bbo,rocketmq,mycat等。

6 bbo中的rpc如何实现。

7 自己实现rpc应该怎么做

9 bbo的服务注册与发现。

10 听说我是非科班,于是问了些排序颤历算法

耗时将近30分钟。

三面:

三面不是面试,而是笔试,耗时三个肆凳小时,考的是Java核心的基础。但是好像不能透题,就不说了。都挺有难度的。

大概说一下就是有几个考点,Java并发的知识点,集茄雹搜合类,线程池,多线程之间的通信等。

HR面:

聊人生谈理想,HR小姐姐非常温柔,交流十分愉快。30分钟。

‘伍’ 阿里巴巴的前端面试题到底有多可怕

1、 列举web性能优化?
1)
减少http请求次数。合并文件、利用css sprite把零散的图片整合到一张图上。
2)
减少DNS查找。
3)
减少从定向。
4)
响应时间。使用AJAX进行缓存,减少http请求。
5)
延迟载入组件.
6)
预载入组件。
7)
减少节点的数量。
8)
切分组件到多个域。
9)
最小化iframe。
10)
杜绝http404错误。
2、 介绍一下XMLHttpRequest对象的常用方式和属性?
open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求方式
可以为GET,POST或任何服务器所支持的您想调用的方式。
第二个参数是请求页面的URL。
send()方法,发送具体请求
abort()方法,停止当前请求
readyState属性 请求的状态 有5个可取值 0=未初始化 ,1=正在加载
2=以加载,3=交互中,4=完成
responseText 属性 服务器的响应,表示为一个串
reponseXML 属性 服务器的响应,表示为XML
status 服务器的HTTP状态码,200对应ok 400对应not found

‘陆’ 阿里巴巴的面试流程是什么样子的

在阿里巴巴面试通常会有3轮面试:

1、第一轮面试:

第一轮面试通常是电话面,面试官会提前打电话约定面试时间,在接到面试官电话时,不要紧张,如果自己尚未准备好面试,或者时间不方便,可以将时间约靠后一点,留下足够的时间缓冲。

面试的时候不用太紧张,面试你的工程师通常就是你所应聘岗位所在团队的成员,他是在为自己的团队挑选队友,因此,没有理由为难你。

2、第二轮面试:

如果你顺利通过第一轮面试,那么,大约一周后,将进行第二轮面试。第二轮面试的面试官通常是团队主管(不一定是你所应聘岗位所在的团队,因为存在“交叉面“防作弊)。

第二轮面试如果是程序员会考察程序员的能力水平,通过笔试和问答做出最后的判断。

3、第三轮面试:

在通过第二轮面试后,通常就进入到了技术“终面”,本轮通常由部门总监、HRD来面试。主要面试个人的心理素质,职业素养以及为人待物的能力。

如果面试者可以顺利通过3论面试就可以收到来自阿里巴巴的offer了。

1、基础知识的掌握

阿里的技术面试通常是一个由浅入深的过程。起初,面试官会根据岗位要求问一些技术相关的基础问题。当然“基础”二字的含义并不是简单,如果没有充分的准备和足够的积累,也容易被拒绝。

根据面试经验,超过一半的应聘者在这个环节被拒绝,因此,建议应聘者切勿“裸考”,否则留下一个“基础不扎实”的面试记录,短期内再应聘阿里的成功率就很低了。

2、应变能力

阿里面试官会通过设计类问题来考查应聘者的“应变能力”。

例如,给一个具体的问题,要求应聘者给出设计方案,比如设计一个交通信号灯系统,一个中国象棋系统,一个问答系统,一个在线购物网站等等。要求画出模块图,给出关键的API的定义或者类和类之间的关系。

‘柒’ 阿里巴巴的招聘流程,技术岗位一般几轮面试

阿里巴巴招聘技术岗位的流程:

依次进行三轮面试:初面、复面、以及hr面。

每通过一轮即可进入下一轮,三轮全过即为通过。

(7)阿里巴巴web面试扩展阅读

面试技巧

招聘中的“经典七问”

招聘过程中常要问到的问题极其释义总结如下:

以往工作中您的职责是什么?――如果描述不清,可见即使有相关工作经验,其系统性全面性也值得怀疑。

请讲一下您以往的工作经历。――考察应聘者的语言组织及表达能力,以及描述的条理化。

您以往的工作经历中最得意最成功的一件事是什么?您的长处是什么?――从应聘者的回答中,可了解他是注重个人成功还是注重团队协作。

您感觉还有哪方面的知识、技能或能力需要提升?――“提升”一词比较委婉,一方面考察其态度是否坦诚,另一方面,也为日后的员工培训增强针对性。

对于新的工作岗位您有什么设想?如何开展工作?――这涉及到员工的职业生涯设计,更有关员工工作的稳定性。

您离职的原因是什么?――这是必须要问的问题,涉及员工和组织的融合性。

您对薪金待遇和福利有什么要求?――这个问题的重要性更是不必多言。

‘捌’ 阿里巴巴国际站好面试吗

不好面试。
阿里巴巴国际站面试一般需要经过4轮,有的需要5轮,总体上春派启扒如要求比较高,不羡液好面试。

‘玖’ 2019年阿里巴巴的三次面试经验

前言

鉴于在网上搜“阿里三面”搜出来一堆“阿里巴巴三面牙刷”,没有任何借鉴意义,只能自己亲身经历了,故写点经验以后面试可以参考。本人参加了5月5日的笔试,在5月20多号接到了电面,紧接着第二天是电面二面,5月30号经历了传说中的终面,下面分阶段回顾一下整个阿里校招历程。

笔锋行升试

5月5号先去参加了蓝桥杯,然后赶回学校笔试,稍微迟到了一会儿。幸亏阿里检查了身份证!才发现忘在了考场。。整个笔试有些心不在焉,不过现在想想,有些不会的题就算时间多了还是想不出来,会的题自然很快就写出来了。题不算太难,肯定还是涉及操作系统,数据库,算法,网络等知识,不算太深。和之前笔试其他公司不一样的地方是有点像数学题的感觉,大题只有最后一个让你写代码了,其他的都是写算法思想就行,还蛮灵活的,起码我没见过,感觉没有平时的积累,准备也没什么用,有的没有积累就当数学题也能做的,不过搞ACM的这些肯定不在话下了~

经验:

1、如果你操作系统的水平能达到考操作系统时的水平,包括网络、数据库等,应付笔试题应该是松松的,因为不会考的很细,都是一些考试重点,很基础的知识。不过忘是肯定的,所以复习很有必要。大题就有操作系统那几种调度方式的周转时间等的填表,可能会忘的东西,但是非常简单。

2、搞搞ACM应该有帮助,算法不会是经典的快排啊什么的,都是类似数学题,有大题有小题,我等没搞过ACM的屌丝只能用脑袋干想了。。。

电面一面

电面时间是5月20多号的晚上8点多了,非常突兀,没有通知,直接就是面试的电话。他们规定的面试时间尽量控制在一小时,我面了68分钟,问到后来都抖了,是纯碎的技术面。刚开始有暖场,试图让你放松,而事实上我紧张的不行。。进入正式面试时会问一些问题,感觉面试官那里应该有个题库,就是从里面挑出来问,会的话他可以层层深入直到你不会。。你不会的话自然就直接换题了。。

当时先问了malloc和new的区别,当时感觉不明觉励,以为是要回答到内存中的层面,开辟内存的方式啥的。。说不太了解底层的,感觉都是应用中的区别。。说了new可以有构造函数,传些参数初始化啦之类的。最后问了问面试官,居然malloc是个函数,new是个操作符也算区别!所以不要想得太玄乎,再显而易见的区别只要是区别都可以回答的。。

后来问了代码运行时在内存中的分布,就是堆、栈、代码区、静态区那几个,说说各自是存什么的就行了。后来问了是从低到高还是从高到低啥的,然后他自己来了句好像太深了,算了。。我说了个大小端。。他就问了大小端和什么有关,我说是CPU,然后就问了intel处理器和AMD处理器神马神马的已经过于底层听不懂了呜呜呜。。这个题就算跳过了。。。

还有序列化和反序列化,怎么保证数据的正确性。。这个当时木有答上来,因为没用过java的序列化和反序列化,用的也都是上层的XML,JSON的格式,底层到底怎么搞得不清楚。。让面试官给我讲了半天,他还说“是我面试你还是你面试我”。。搞得我紧张的都不敢说话了。。中间某些人还不停给我打电话,搞得我都听不清。。特别尴尬。。总之越来越紧张。。还问了进程和线程的区别,我就稀里糊涂想到哪里说道哪里了。。用词特别不专业。。

还有个问题是链表怎么判断有没有环路,我说了做个标记,还有固定一个位置看有没有指回来的两种方法,太水了。。面试官提示我说小学有一种题是操场上的追击问题,试图启发我,无果而终。。。其实就是设两个指针,步长分别为1和2,然后看有没有追上就可以了。

总的来说,这第一次电面我是真的越来越紧张,虽然面试官一直试图让气氛变得轻松,但效果甚微。。我是越来越没有自信。。感觉自己太水了。。想赶快结束面试。。不同的题目中间还夹杂着一些闲聊的话题,不过我太紧张了话不是很多,中间会有沉默的时候,感觉好尴尬。。面试官人真的特别好,最后说第二天还有一个面试,指出了我的不足,让我改进,希望我能展示出来自己的优势。他说我基础知识还可以,但是特别不系统,一听就是没有为面试做准备,希望我明天能好好表现。真是感带贺动啊。。表现那么差居然都给二面的机会了。。这么好的人忘银老问花名了⊙﹏⊙b汗。。

经验:

1、一面一定是可以准备的,面试题网上都能搜到一些,或者多参加一些笔试,有些简答题和面试题也差不多。而且面试官那里的题库还是挺庞大的,主要是想摸摸底,你了解的他会深入问你,不了解的也没有关系可以换道题。感觉这个时候其实完全没有必要紧张,有不会的很正常,别像我问着问着我声音越来越小都不想回答了额。。

2、做好面试的准备,调整好心态,本来以为这个电话是通知我电面时间的,结果直接开始,心态没调整好,遇到不会的就紧张。。后来问了同时接到电话的大牛,也是有不会的,也有答错的,都一面给过了,所以不用太担心了~一面就是基础知识,加上一点点聊天的辅助,没有问我简历上相关的问题。

电面二面

第二天晚上七八点钟的时候接到了二面的电话,当时刚好自己在寝室,比有室友听着要放松了一些,加上跟同学交流,感觉不会也没什么,总体聊得还挺开心的。这次就是基础知识外加开放题和简历上的项目的了解了。

还好一面那种基础知识的过了也没怎么问了,不过问了序列化,我就是一面那个面试官说的大体讲了一下,呵呵。。然后问了static,说不是static的函数能不能使用static的变量,我说可以。因为这次做好了准备不是很紧张,我的话就多了一些,顺便说了static的函数不能用不是static的变量。我这一说他就问原因,我说了静态的就一份啥的,他让我从什么java的什么机制上说,我也不知道啥意思。。我就说static在静态区,一个类就一份,非静态的成员变量得new才能有,而且在栈上,没法访问什么的blabla...

再有就是详细聊了聊简历上的项目,最后问了个“为什么银行有取号机而超市结账的时候没有”,我着实想了一会儿。。刚开始想到的是银行有VIP啥的,但是面试官马上说那超市也可以有VIP队和非VIP队,有道理啊。。然后就想到超市有取号机的话感觉取号机前面会排队,因为结账时间比较快,和取号叫号相比差别不是很大,而银行办理业务比较慢,差别就大了,所以超市没有必要。他说我没有看到问题的本质。。唉。。他好像是要提示我,问我一面有没有问我操作系统的知识,我说问了进程线程的区别。他又说让我举个异步的例子。。发现天天说ajax异步刷新啥的,对异步不怎么理解啊。。人家还给我解释了一下异步。。又被鄙视了。。不过现在想想银行是异步,超市是同步,可是我还是不知道为啥啊。。问了好多人也没什么特别好的专业性的解释,我还问了三面的面试官,他说这是个开放性的题,是想看我解决问题的思路的。 1 2