给大家分享一次阿里的社招面试,面的是前端工程师,大致内容如下: 笔试: •n阶楼梯问题(尾递归的优化[函数最后调用自身可以减少中间变量|化递归为循环去优化]/备忘录优化) •节流防抖的实现(分析笔试答案时问到,总结差别,说出应用场景) •深拷贝(类型考虑/Symbol/Date等的构造/循环优化/共用引用优化等) •封装一个只能输入数字的React组件 面试: •输入URL后发生了什么? •事件循环说一下 •JS有几种基本类型,分别是什么,与对象的区别 •JS 执行过程中是如何保存上下文的(建议看看极客时间的《浏览器工作原理》) •你认为什么是前端? •为什么想来阿里? •最近在看什么书? •微前端了解吗? •你想成为什么样的人? •项目中遇到的最大挑战是什么,如何解决的? •nodea大量日志怎么处理的(缓冲队列/采样率降低等) •http2 的特点 •node 与其他语言有什么区别,其优劣势是什么 •csrf 的核心原理 •FCP/FMP/FP 分别是怎样定义,如何统计 •MySQL 题目,id 唯一,name 可以重复,求 name 有重复的所有数据 •有没有推动过什么东西 •未来的一个发展是否是全栈,如何规划 •链路录屏的原理 •链路录屏法务问题如何解决 •FMP 定义及统计,w3c的草案你知道吗 •react 项目的可持续维护性如何体现 •react hooks用过吗,为什么要用 •h5和小程序有什么区别 •https加密原理,中间人攻击知道吗 •ng 负载均衡的方式有哪些 •CDN 有什么作用 •不可变数据里面,immutable,删除数组里面的列表 •垃圾回收中,内部函数返给上层的对象是如何管理的 •es 静态分析原理 •有一个很大很大的文件,如何统计文件里面重复最多的行是哪行(参考git的记录存储)