2020 阿里前端春招面试面经(校招实习生 已签意向书

2021年毕业 校招实习生

CTO线-新零售技术事业群-企业智能事业部 已签意向书

一面 4月2日

一面是简历面试,内推完直接十分钟之内就打电话过来了,说是面20分钟左右(最后面了30+5分钟)

  1. 自我介绍 + 介绍项目

先是简单的自我介绍,然后让介绍一下简历里他比较感兴趣的项目

前面都是围绕项目的问题,但是完全没有问我负责的模块,而是问项目其他核心模块的设计和实现方式…(导致前半部分都答得有点蒙

  1. 基础题

后来问了两个简单的基础问题

问:说一个后端的设计模式,

答:工作流引擎activiti用的责任链和命令模式,举一个应用的例子

问:vue双向绑定,

答:发布订阅模式。vue目前用的Object.defineProperty进行拦截,get watch监听,set 调用notify通知数据更新。数组重写原型 函数劫持。
在Vue3.0 改用ES6中的Proxy实现

问:为什么改用Proxy实现

答:defineProperty是在属性层面,无法监听数组的变化,需要深度遍历,浪费内存
proxy在对象层面,

一面 4月6日

首先问了一下项目现在有什么问题,业务上或者技术上,说一下平台迁徙,接着说了一下自己觉得的解决方案。

问:选择使用微信小程序是因为安全性,为什么?

答:说一些接口、数据安全…

问:直接写一个button 怎么绑定click事件

答:addEventListener(“click”, function, useCapture) true表示捕获,默认的false表示冒泡

问:第三个参数只能传true false吗

答:只用过这个两个(然后他说并不是

问:如果button 上面有一层div,想在父级绑事件

答:事件委托addEventListener(“click”,function(e) { 绑定在父级元素
if(e.target && e.target.nodeName.toLowerCase() == “button") 检查事件源

问:.target和currentTarge有什么区别

答:触发事件的对象、绑定事件的对象

然后聊了一下他们部门现在在做的业务和技术内容…就结束了

三面 4月7日

三面也是突然打电话过来就面试了,面了大概45分钟

----- 前面都是针对项目的 ------

先让介绍现在实验室在做的项目,从面向的人群、提供服务、业务和技术的角度来讲。
然后问了一下现在国内外的竞品和现在具体提供了什么服务。

答:介绍了一下项目和主要的两种类型的竞品

问:数据模型是什么样的,如果要变动属性怎么修改

答:元数据模型是类表、属性表分开的,用关系表提供关联

问:对属性的类型限制是通过数据库还是列属性

答:记得不清楚了,印象里是数据库

问:介绍做的两个项目和其中的技术难点

------ 后面是两个具体的实现问题 ------

问:直播弹幕 大量数据 怎么设计

答:后端切片(一开始没反应过来

问:用什么数据结构?

答:类似b站的那种弹幕,在视窗上设计多条弹幕轨道,每条弹幕轨道对应一个队列,这样能够保证弹幕的不覆盖和配比。每一条弹幕轨道的容量是根据视窗的宽度而定,弹幕轨道可容纳的弹幕数量不是绝对的弹幕条数,而是和弹幕的长度有关。另外再设计一个弹幕池,用来放置已经从后端拿到的但是还没加入到轨道上的弹幕,从池中依照发送的时间戳和长度等,挑选出最适合放入的轨道,然后push到队列中,等待滚动显示到前端视图。

问:做一个百度搜索那样的控件,不考虑后端的分词那些

答:聚焦提示,长度限制。根据输入动态的提供提示,包括搜索记录和全站的高频搜索等。

问:对于高频率的输入呢

答:防抖、节流,接着说怎么实现的

问:知道es6的props吗

答:只知道vue的,然后讲了一下vue的

后来又聊了一下项目的业务,为什么学前端,怎么学的之类的。还问了一下觉得他问的题目难不难,哪一道最难。

交叉面试 4月9日

交叉面也是直接电话,面了35分钟

交叉面的面试官是淘系的,问的都是和简历项目比较相关的,项目提供的业务、服务,在商业化角度上有什么问题等。

面试完了几个小时之后就通知面试通过了,约了第二天hr面

HR面

问了都是非技术问题

4.14发了offer

你可能感兴趣的:(前端)