阿里社招面经(已过)

2年前投递的简历被人才库捞起来了.  题比较多, 阿里面试的时间跨度也比较久. 而且很多面试题都是跟个人项目相关的. 所以笼统地写一下还记得的题目. 按照知识点分类. 实际可能是一面二面n面中的题. 技术面hr面也聊完啦~ 跟大家分享分享. 

每个问题后面都会备注下对应的知识点 (一般都是一个知识点深入问进去)

笔试题

笔试题比较简单

  1. 编写函数convert(money) ,传入金额,将金额转换为千分位表示法。例如:12345.6 => 12,345.6

  2. 实现对象的深拷贝,输出:新的对象

  3. 请完成React组件封装,能够实现长度展示功能封装,并且不失input原生组件能力。

面试题

  • 进程线程的区别 [event loop 事件循环 ]

  • 聊一聊缓存 [浏览器缓存+http缓存]

  • 如果浏览器关闭了再打开, 请求还是from cache吗?  [浏览器缓存+http缓存]

  • Service Worker 了解过么? 

  • 聊一下常见的前端安全问题. [前端安全攻防]

  • 你的网站是怎么阻止 csrf 攻击的? [前端安全攻防]

  • 为什么用 token 就可以防止 csrf 攻击?

  • token 的刷新机制是怎么样的, 为什么这么设置?

  • 讲一下 跨域 [跨域]

  • 如何处理项目的异常.

  • script error 怎么捕获

  • 脚手架做了什么功能.

  • webpack做了什么优化

  • webpack原理 [webpack]

  • 维护的公共组件需要发布大更新, 如何做?

  • react 怎么做优化

  • 用 react hook 来实现 class 的几种生命周期.

  • react hook 相比较 class, 哪些不太容易实现?

  • react 原理

  • 聊一下高阶组件 hoc

  • 聊一聊组件设计, 领域模型

  • mobx 和 redux , 为什么选择了 mobx , 技术选型有标准

  • mobx 过于灵活, 如何规范约束

  • mobx 原理与 redux 原理

  • 项目的最大难点是什么? 怎么解决?

  • 聊一下 node 的事件循环.

  • node 架构中容灾

  • pm2 的原理.

  • 有没有读过 egg 源码.

  • 了解过 grahql 么

  • 聊一下微服务

  • 小程序跟 h5 的区别是什么? [小程序底层实现]

  • 讲一下 taro 小程序的底层原理,跟 mpvue 的区别 [AST, babel]

  • SPA 项目如何监控 pv, uv 值

  • 如何在用户刷新、跳转、关闭浏览器时向服务端发送统计的数据?

  • 错误日志上报遇到的问题.

  • 规范 [eslint, prettier, git commit hook]

  • 如何制定规范?

  • 可视化表单了解过么?

  • 聊一下 axios .有什么优点, 跟 fetch, ajax对比

  • axios 为什么既可以在浏览器发请求,又可以在node层发请求?

  • 职业规划

  • 考虑杭州么

  • 家人情况

其实单单看面经, 很难说学到什么. 建议每一个知识点系统的学习一下,列了一份清单, 希望对你有帮助. 基础知识基本是每次面试都会随机抽问. 建议刷书. 记笔记总结.

  • 基础知识

    • 跨域

    • 执行上下文/作用域链/闭包

    • 事件循环

    • 安全

    • 缓存

    • 模块化

    • 深拷贝浅拷贝

    • 异步处理 async await promise

    • 防抖节流

    • 类型转换

    • http 请求头, http2 http 相关知识

  • webpack 知识点

    • webpack 热更新的原理

    • loader 和 plugin 的区别

    • 手写一个plugin

    • webpack 底层 Tapable 原理

    • webpack 做的性能优化

    • tree-shaking

    • webpack 的构建流程

    • 多页面打包怎么做?

    • 文件指纹

    • webpack 如何实现异步加载

  • react 知识点

    • jsx 的原理

    • 为什么要使用 key , 有什么好处

    • diff 原理

    • fiber 架构

    • setState 更新机制

    • react hook 原理

    • 原生事件和 React事件的区别?

    • 虚拟 dom 有啥好处?

    • 高阶组件(HOC), Mixin, hook 对比和用处.

  • node 知识点

    • koa中间件原理

    • 介绍下 stream

  • babel

    • transform-runtime, stage-2 说一下他们的作用

    • babel 如何将字符串解析成 AST ?

    • 讲一下 AST 语法树

    • babel-runtime 和 babel-polyfill

  • npm package.json

    • npx

    • 说一下对 package.json 的理解,它都有哪些作用

问题列表正在持续更新,感兴趣的可以前往github查看(点击阅读原文即可到达),持续更新。一起学习,一起进步~

后续也会整理对应的知识点总结~ 关注「前端加加」, 第一时间获取优质文章. 

最后

阿里社招面经(已过)

关注「前端加加」, 第一时间获取优质文章.