面经-春招-前端开发实习-阿里云
春招实习记录
投递部门:阿里云 混合云
投递岗位:前端开发实习
只过去了几天就有些遗忘了,写一下大概,想到了再继续补充。阿里对于前端八股考得比较少,主要是围绕简历项目来问。
一面 2022.04.10
- 自我介绍
- 项目工程化(自我介绍提到)
对概念的理解,自己是怎么做的 - cookie / localStorage / sessionStorage
提了概念,就让你具体展开说一说 - 内存泄漏
- Vue的路由
有哪些模式,有什么区别 - 微前端(简历提到)
用的方案,为什么选择qiankun,为什么不用iframe - 性能优化
有哪些方法,具体怎么做。这里面试官在最后告诉我,我回答得太碎,更好的回答应该是说出自己做过的实践,以及优化后的结果(有实例支撑和数据说明) - webpack
用过哪些打包工具,webpack打包过程 - node
问了解吗,我说不熟,然后面试官说这个需要去学习一下 - 反问环节
二面 2022.04.13
- 自我介绍
- 项目介绍
接下来就是围绕项目提问 - 前后端分离
为什么要分离,必须分离吗 - JWT
介绍一下,为什么要用这个 - 安全问题
由Token展开的安全问题
有哪些安全问题?
怎么防范CRSF,不用Token可以吗 - RESTful API
介绍概念,现在对一个资源的操作有获取、分析、中断分析等,会怎么设计 - 项目中遇到最困难的事,是怎么解决的
- 微前端
为什么要用微前端,为什么不用iframe,调研过哪些 - 反问环节
笔试 2022.04.11
笔试是后来补的,阿里的前端笔试不像力扣,也不只是算法题,只需要写个大概思路,当天可能面试官比较忙,只出了一题
//完成 convert(list) 函数,实现将 list 转为 tree /** * @param list {object[]}, * @param parentKey {string} * @param currentKey {string} * @param rootValue {any} * @return object */ function convert(list, parentKey, currentKey, rootValue) { } const list = [ { "id": 19, "parentId": 0, }, { "id": 18, "parentId": 16, }, { "id": 17, "parentId": 16, }, { "id": 16, "parentId": 0, } ]; const result = convert(list, 'parentId', 'id', 0); const tree = { "id": 0, "children": [ { "id": 19, "parentId": 0 }, { "id": 16, "parentId": 0, "children": [ { "id": 18, "parentId": 16 }, { "id": 17, "parentId": 16 } ] } ] }