阿里前端二面(4.6)总时长60min

老样子上来先问问你一些个人问题热热身
1、你为什么学前端啊?
2、你的简历里有个项目,能稍微介绍一下你的项目吗?
3、然后就开始了我一个小时的折磨问题(先声明,问的真的很细,但确实对我的帮助很大)
  • 看你用了Nodejs中的Koa框架,那你能说一下你对Koa框架的理解吗
  • Koa和express的区别

    express内置了许多中间件可供使用,而koa没有。

    express包含路由,视图渲染等特性,而koa只有http模块。

    express的中间件模型为线型,而koa的中间件模型为U型,也可称为洋葱模型构造中间件。

    express通过回调实现异步函数,在多个回调、多个中间件中写起来容易逻辑混乱。

  • 你能说一下Koa的洋葱模型吗

    Koa 中间件采用的是洋葱圈模型,每次执行下一个中间件传入两个参数:

    • ctx :封装了request 和 response 的变量
    • next :进入下一个要执行的中间件的函数
    Koa的中间件就是函数,可以是async 函数,或是普通函数,用来做token验证和日志校验
  • 那你知道Promise吗,可以说一下Promise怎么解决回调地狱吗
    • 链式操作减低了编码难度
    • 代码可读性明显增强
    我举了个例子大概是do(function(r){dor(r,function(newr){donewr(newr,function(finr))})})=====>do.()then(function(r)).then(function(newr)).then(function(finr)).catch()就这样更改
  • 那你能说一下Promise的运行机制吗(没看过源码,直接傻了,面试官让我用自己的理解说一下,最后我反问的时候跟我说没说到点儿上)

    promise对象仅有三种状态

    • pending(进行中)
    • fulfilled(已成功)
    • rejected(已失败)
一旦状态改变(从pending变为fulfilled和从pending变为rejected),就不会再变,任何时候都可以得到这个结果,然后按照回忆里的图说
后来我才觉得会不会让我说的是Promise的冒泡运行机制,折磨
  • 你项目中的文件上传你有什么好的方法吗
说了小文件和大文件,小文件用文件流转Buffer,到服务器转码,大文件用秒传,分片传输,断点续传
秒传:利用redis的set方法存放文件上传状态,其中key为文件上传的md5,value为是否上传完成的标志位,当标志位true为上传已经完成,此时如果有相同文件上传,则进入秒传逻辑。如果标志位为false,则说明还没上传完成,此时需要在调用set的方法,保存块号文件记录的路径,其中key为上传文件md5加一个固定前缀,value为块号文件记录路径
分片传输:将所要上传的文件,按照一定的大小,将整个文件分隔成多个Part来进行分别上传,上传完之后再由服务端对所有上传的文件进行汇总整合成原始的文件。
断点续传:将需要上传的文件按照一定的分割规则,分割成相同大小的Part;初始化一个分片上传任务,返回本次分片上传唯一标识;按照一定的策略(串行或并行)发送各个分片数据块;发送完成后,服务端根据判断数据上传是否完整,如果完整,则进行数据块合成得到原始文件
  • 跨域问题CORS
token和sessionId原理相同,是对key和key对应的用户信息进行加密后的加密字符,登录成功后,会在响应主体中将{token:‘字符串’}返回给客户端。客户端通过cookie、sessionStorage、localStorage都可以进行存储。再次请求时不会默认携带,需要在请求拦截器位置给请求头中添加认证字段Authorization携带token信息,服务器端就可以通过token信息查找用户登录状态。
  • 那你怎么解决黑客的攻击安全问题呢
答这个的时候脑子瓦特了,忘了我说过的加密和解密,给了另一个没经大脑的方法
  • cookiesession的介绍
我介绍了整个cookie到token的历史发展你敢信,但是面试官好像还挺满意
  • JSONP了解过吗
开始介绍JSONP,说实话没接触过,只能根据自己一点点回忆去说,先说了下浏览器的同源策略,然后说了下jsonp就是创建一个回调函数,然后在远程服务上调用这个函数并且将JSON 数据形式作为参数传递,完成回调。将JSON数据填充进回调函数
  • 中途问Promise的时候问我能不能js实现,我说了一下思路,说用setTimeout定时循环resolve,保证A任务处理B任务等待,然后问我为什么要用setTimeout,我想了想确实不用,太尴尬了。
4、反问阶段
问了问对我的建议
面试官说我会的面很广但是有的细节还得多看看书,有没有人能告诉我是不是G了
5、问了问后续的安排
说四月底之前应该都会给offer了,我比较晚,可能三面和HR面一起面,心慌慌
#面试复盘##面经##阿里巴巴#
全部评论
请问一下promise的冒泡运行机制是什么呀?
点赞 回复 分享
发布于 2022-04-08 10:28
请问是什么部门的呀
点赞 回复 分享
发布于 2022-04-08 10:38
🎉恭喜同学成功投稿参与【面试复盘】,并通过审核! 😉请留意你的私信,官方红N人员将与你取得联系,进行奖励发放~ 👉🏻戳:https://www.nowcoder.com/discuss/872618了解更多活动详情~
点赞 回复 分享
发布于 2022-04-12 18:23

相关推荐

评论
1
22
分享

创作者周榜

更多
牛客网
牛客企业服务