阿里巴巴前端秋招面经(一面挂)

前言

时间线:8月20日投递简历,9月7日面试官打电话约面,9月16日晚上面试。

部门:阿里巴巴 - 本地生活 - 饿了么 - 商家端。

一面

做题+聊天,全程100分钟。

做题

先做五道题,给20~30分钟的时间。

  1. 列出打印顺序
// 列出打印顺序
function changeStuff(a, b, c) {
  a = a * 10;
  b.item = "changed";
  c = {item: "changed"};
}

let num = 10;
let obj1 = {item: "unchanged"};
let obj2 = {item: "unchanged"};

changeStuff(num, obj1, obj2);

console.log(num);
console.log(obj1.item);
console.log(obj2.item);
  1. 数组扁平化
// 数组扁平化
const arr = [1, 2, [3, 4, [5, 6, [7]], [8], [9], 10], 11];
  1. JS 手写快排
// JS 手写快排
const arr = [3, 2, 5, 4, 8, 3, 9, 3, 5, 2, 1, 6];
  1. 手动实现new操作符
// 手动实现new操作符
let Parent = function (name, age) {
  this.name = name;
  this.age = age;
};
Parent.prototype.sayName = function () {
  console.log(this.name);
};

const child = new Parent('xxx', 0);
child.sayName();
  1. JS 实现洋葱模型
// JS 实现洋葱模型
async function mid1(next) {
    console.log(1);
    await next();
    console.log(4);
}

async function mid2(next) {
    console.log(2);
    await next();
    console.log(5);
}

async function mid3(next) {
    console.log(3);
    await next();
    console.log(6);
}

const middleware = [mid1, mid2, mid3];
compose(middleware)();

聊天

  1. 自我介绍
  2. 说一下实习项目吧
  3. 说说对跨端的理解
  4. 微信小程序了解多少
  5. RN 中的 H5 如何与原生通信
  6. H5 页面如何保存原生的登陆态
  7. 这种登陆态和 Web 的有什么区别
  8. 说说对 Hybrid 的理解
  9. JSBridge 背后的原理是什么
  10. JS 为什么能调用原生方法
  11. 对跨端编译了解多少
  12. 抓包工具背后的原理是什么
  13. 说说对前端监控的理解
  14. 你是如何设计埋点 SDK 的
  15. 说说 Babel 的工作流程
  16. 挑一个你写过的 Babel 插件,说说实现思路
  17. 说说对 TS 的理解
  18. 即使没有执行,TS 也能提示类型错误,这背后的原理是什么
  19. AST 还有哪些应用场景
  20. 你知道哪些性能指标
  21. TTI 的计算规则
  22. 你有实践过哪些性能优化
  23. 提升页面秒开率的手段有哪些
  24. 如何解决长列表渲染问题
  25. 接口请求耗时过长怎么办
  26. 如果我想用缓存解决上述问题,该如何让前端展示最新数据
  27. 实现一个自定义 Hook,根据缓存和请求接口,展示最新的数据
  28. 洋葱模型是如何用于请求拦截的
  29. 函数式组件和类组件有什么区别
  30. 为什么说函数式组件是一种趋势
  31. 函数式组件和类组件在编译后哪个更大
  32. 它们的编译产物还有什么区别
  33. 实现一个带装饰器的高阶组件
  34. useMemo 和 useCallback 的区别
  35. 说下你理解的闭包陷阱
  36. 说下 webpack 和 vite 的区别
  37. 如何加快 webpack 的打包速度
  38. include 和 exclude 的使用场景
  39. 如何对 node_modules 中的某个 npm 包进行编译
  40. webpack 的分包策略有了解吗
  41. 多个 entry 的应用还是 SPA 吗
  42. 在打包过程中,如何对多页面应用进行缓存
  43. Tree Shaking 背后的原理
  44. 为什么原型链上的属性无法被 shaking
  45. sideEffects 有什么作用
  46. 说说对事件代理的理解
  47. Promise 背后的原理是什么
  48. 说一下 V8 垃圾回收机制
  49. 哪些情况会造成内存泄漏
  50. 反问环节

总结

第一次面阿里,虽然一面完就挂了,但不得不说,体验非常好。

面试官会很耐心地向你解释一些技术的使用场景和背后原理,并引导你思考。

无奈技术实力差距太大,不能和面试官做到有来有回地互动。

反问环节,问了面试官一些职业发展的问题,也收获了一些启发。

最近在前端的学习上也确实遇到了瓶颈,希望自己可以继续努力吧。

#阿里巴巴##前端##面经##前端工程师##23届秋招笔面经#
全部评论
这都是些啥问题。。。太难了吧
8 回复
分享
发布于 2022-09-20 22:20 四川
好多啊
2 回复
分享
发布于 2022-09-17 19:07 上海
滴滴
校招火热招聘中
官网直投
羡慕
1 回复
分享
发布于 2022-09-17 16:12 北京
好难啊
1 回复
分享
发布于 2022-09-19 19:48 广东
这些问题面社招1年经验都够了吧。。。
1 回复
分享
发布于 2022-09-20 16:42 广东
这问的好难😨问得这么深也挂了吗
点赞 回复
分享
发布于 2022-09-17 20:12 安徽
上来5道题有点吓人
点赞 回复
分享
发布于 2022-09-17 20:15 天津
好卷啊~
点赞 回复
分享
发布于 2022-09-17 23:54 浙江
内容很丰富哎,lz很棒的!
点赞 回复
分享
发布于 2022-09-18 08:15 江苏
https://www.whyknown.com/ ===> 如何精通面试,获取前端面试资源,吊打大厂面试官,通过面试题查缺补漏,秋招、社招一战成名。免费开源前端|面试进阶之道,快来学习,会更新各大厂的面试真经和答案,每个面试题从源码角度和可调试、尝试角度出发,祝你成功!===> https://www.whyknown.com/
点赞 回复
分享
发布于 2022-09-19 08:19 北京
手撕还可以,问题好难啊😂
点赞 回复
分享
发布于 2022-09-19 17:25 山东
tql!
点赞 回复
分享
发布于 2022-09-21 14:21 湖南
面试用的是什么平台呀?
点赞 回复
分享
发布于 2022-09-22 17:31 上海
这个面试题属实牛逼
点赞 回复
分享
发布于 2022-09-22 21:27 广东
同学可以考虑一下淘系前端哇,不会面这么难的
点赞 回复
分享
发布于 2022-09-26 20:14 浙江
diao,这么难
点赞 回复
分享
发布于 2022-10-31 18:02 陕西

相关推荐

一开始约面是说直接HR面的,但是后面又通知主管也要面,就一起面了。先是主管就项目问问题,后面是和HR的沟通交流。主管一开始感觉有点严肃,但后面感觉还是挺轻松的,后面HR很活泼的小姐姐,面试体验不错。主管面:1.项目最有挑战,最复杂的点2.甘特图优化前是怎么展示的,为什么按照16个设备去分页(项目特点)3.了解的更深入的其他的优化手段4.如果不做分页,想要去展示很多条数据如何优化5.除了请求耗时层面,在渲染层面能做什么优化?(希望说出尽可能多)6.从用户请求到返回结果渲染链路上去解析应该从什么方面进行优化?7.echarts底层的绘制逻辑?使用canvas还是dom绘制的8.canvas绘制和dom绘制的区别是什么9.页面秒卡的速度提升如何优化?(答得一般,可以从下图1、图2的角度去考虑)10.上面问题中针对Vue的优化?11.还有接触过其他的构建工具吗12.webpack和vite的区别13.项目总共多少人14.作为负责人如何进行工作安排15.如果重新做一遍的话,有什么地方可以做的更好16.职责分工有些混乱是由于功能交叉还是需求理解不清导致的?17.实际中遇到工作交叉的情况怎么办18.怎么保障大家的交付质量19.同样的问题在不同的人身上出现怎么规避这个问题20.如果项目中出现某个人交付时间delay了或者出现了临时情况怎么应对21.怎么看待前端这个岗位22.下一步的规划是什么hr面:大概总结一下问的内容1.你对本公司有了解吗2.你觉得什么样的公司算是满足你预期的大的平台3.有没有过压力很大的时候,怎么解决4.怎么考虑实习和工作岗位以及地点主要是围绕个人相关的一些问题最后有反问环节,主要问了培养机制、薪资构成、工作环境和强度之类的希望快快oc!!#软件开发2024笔面经##饿了么##前端##暑期实习##我的实习求职记录##25届暑期实习#
点赞 评论 收藏
转发
头像
timeline:3.28投递 4.2笔试(100,100,10) 4.3一面(1h)1. 自我介绍2. 看你接触过前后端、AI相关的,为什么选择做前端呢?3. 你是怎么学习前端的?4. 上面提到你看了新的React文档,发现自己以前踩过的坑,有哪些呢,具体说说?(这里讲了纯函数、生产模式下render两次、useState的一些社区讨论的不好的点,引申出内部是链表实现的,顶层调用)5. 写过一个根据yaml文档生成word接口文档的工具,问这个的实现方式,为什么要写(因为甲方看文档而我懒)6. 有没有通过这个yaml文档提高前端开发的效率呢?(讲了前端根据yaml文档生成api接口代码,可以直接调用)7. 那么后端怎么利用这个yaml文档呢?(我说swagger有个工具可以根据yaml生成后端的一些代码)8. 现在有什么已经成熟的方法打通前后端接口呢?(已经汗流浃背了想了半天说不知道了,面试官说使用DB的方案,还指出我上面的方案有时候容易出错,yaml文档不稳定)9. 介绍一下实习过程中写的东西(有五个部分,讲的口干舌燥)10. 实习中做了移动端适配,什么方案?tailwind怎么实现的?要写两套css吗?scale怎么实现的?为什么不用rem、vw之类的?(我说因为还要换算,他说不用每次都换算啊,我说那还得通过css预处理器写函数或者每次心里算一下是多少rem,他说好的)11. 知道样式污染吗,怎么避免样式污染?(我说内联样式能避免,他说不好;我说css-in-js,他说比那个好点;我说es module,他问es module怎么避免样式污染的)12. 用过css预处理器吗,includes和extend什么区别?你用css预处理器干什么(转换px到rem……)13. 讲讲monorepo使用changesets发包的流程,github ci/cd的过程,在这个过程中会出现安全问题吗?有两个小伙伴同时要发包,怎么办?(pr没合之前会合并成一个pr)14. 讲讲你比较有意思的一个项目?15. 好了问点八股吧,怎么实现两栏布局,尽可能多的说。16. 数组怎么去重,尽可能的说。(太多字了看图)
点赞 评论 收藏
转发
25 136 评论
分享
牛客网
牛客企业服务