面经-春招-前端开发实习-阿里云
春招实习记录
投递部门:阿里云 混合云
投递岗位:前端开发实习
只过去了几天就有些遗忘了,写一下大概,想到了再继续补充。阿里对于前端八股考得比较少,主要是围绕简历项目来问。
一面 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
}
]
}
]
} 