前言
时间线:8月20日投递简历,9月7日面试官打电话约面,9月16日晚上面试。
部门:阿里巴巴 - 本地生活 - 饿了么 - 商家端。
一面
做题+聊天,全程100分钟。
做题
先做五道题,给20~30分钟的时间。
- 列出打印顺序
// 列出打印顺序 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);
- 数组扁平化
// 数组扁平化 const arr = [1, 2, [3, 4, [5, 6, [7]], [8], [9], 10], 11];
- JS 手写快排
// JS 手写快排 const arr = [3, 2, 5, 4, 8, 3, 9, 3, 5, 2, 1, 6];
- 手动实现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();
- 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)();
聊天
- 自我介绍
- 说一下实习项目吧
- 说说对跨端的理解
- 微信小程序了解多少
- RN 中的 H5 如何与原生通信
- H5 页面如何保存原生的登陆态
- 这种登陆态和 Web 的有什么区别
- 说说对 Hybrid 的理解
- JSBridge 背后的原理是什么
- JS 为什么能调用原生方法
- 对跨端编译了解多少
- 抓包工具背后的原理是什么
- 说说对前端监控的理解
- 你是如何设计埋点 SDK 的
- 说说 Babel 的工作流程
- 挑一个你写过的 Babel 插件,说说实现思路
- 说说对 TS 的理解
- 即使没有执行,TS 也能提示类型错误,这背后的原理是什么
- AST 还有哪些应用场景
- 你知道哪些性能指标
- TTI 的计算规则
- 你有实践过哪些性能优化
- 提升页面秒开率的手段有哪些
- 如何解决长列表渲染问题
- 接口请求耗时过长怎么办
- 如果我想用缓存解决上述问题,该如何让前端展示最新数据
- 实现一个自定义 Hook,根据缓存和请求接口,展示最新的数据
- 洋葱模型是如何用于请求拦截的
- 函数式组件和类组件有什么区别
- 为什么说函数式组件是一种趋势
- 函数式组件和类组件在编译后哪个更大
- 它们的编译产物还有什么区别
- 实现一个带装饰器的高阶组件
- useMemo 和 useCallback 的区别
- 说下你理解的闭包陷阱
- 说下 webpack 和 vite 的区别
- 如何加快 webpack 的打包速度
- include 和 exclude 的使用场景
- 如何对 node_modules 中的某个 npm 包进行编译
- webpack 的分包策略有了解吗
- 多个 entry 的应用还是 SPA 吗
- 在打包过程中,如何对多页面应用进行缓存
- Tree Shaking 背后的原理
- 为什么原型链上的属性无法被 shaking
- sideEffects 有什么作用
- 说说对事件代理的理解
- Promise 背后的原理是什么
- 说一下 V8 垃圾回收机制
- 哪些情况会造成内存泄漏
- 反问环节
总结
第一次面阿里,虽然一面完就挂了,但不得不说,体验非常好。
面试官会很耐心地向你解释一些技术的使用场景和背后原理,并引导你思考。
无奈技术实力差距太大,不能和面试官做到有来有回地互动。
反问环节,问了面试官一些职业发展的问题,也收获了一些启发。
最近在前端的学习上也确实遇到了瓶颈,希望自己可以继续努力吧。
全部评论
(16) 回帖