2021淘宝前端团队面试春招总结
转发的是来自 重庆邮电大学 的团队同学 康 * 的记录,成功拿到 offer
春招总结
自我介绍
双非本科大三科班前端小白一个,接触前端一年多。在春招找实习期间陆续投递面试了阿里、字节、腾讯、美团,都进入了最后阶段。
心得体会
这次春招给我最大的感受就是:保持积极的心态,抓住每一次面试机会。
在面试过程当中,总有自己不熟悉的方面,不可能做到面面俱到,这种情况下难免会有些焦虑。这个时候需要做的就是保持自信,对经历的面试进行复盘总结,思考自己的弱点在什么地方,下一次面试就尽可能去规避这样的问题。并且在面试的时候要尽量去引导面试官往自己擅长的方面聊,而不是简单的一问一答这种形式。
对于不同的公司,考察的侧重点可能不同。但基础肯定是都要考察的。
对于阿里一定要好好准备项目,给项目增添亮点并且深入使用的技术框架的原理;想好为什么要使用这个技术,有没有其他的方案;项目的背景是什么,成果是什么。
对于字节和美团,手写代码和编程题一定要多练多写。
关于简历
不要在简历上面挖坑。写上去的一定就是你会的,并且很熟悉的东西。当你的简历写好了之后,它就是你的复习大纲,根据简历上面写的内容来进行复习。
面试中的问题
JavaScript部分
- 事件循环、宏任务和微任务
- 闭包、闭包存在的问题
- Proxy,和Object.definproperty的区别
- 垃圾回收机制
- this(看代码,说输出结果)
- Map和weakMap的区别
- ES6 迭代器
- 异步编程方案(回调函数、promise、async、generator)
- let和const区别
- 手写发布订阅者模式
- 手写深拷贝(考虑循环引用)
- 手写序列化与反序列化(考虑循环引用)
- 手写快排
- TS和ES的区别
- TS怎么实现静态类型检查
- 说一下TS接口与泛型
- TS装饰器
- CommonJS模块和AMD模块有什么区别
- 了解过前端动画效果的一些实现方式?
- 知道canvas、webgl相关的知识吗?
- 手写数组去重
React相关
- 介绍一下虚拟DOM
- react fiber调度过程
- fiber架构和之前react 15架构有什么不同
- fiber架构怎么判断当前帧是否有剩余时间
- 为什么没有使用requestIdelCallback
- redux和其他状态管理方式有什么区别?
- 虚拟DOM
- Diff算法
- React Hooks原理
- hooks模拟生命周期
- hooks闭包陷阱
网络和浏览器相关
- localStorage的作用范围
- 介绍一下跨域,为什么会有跨域?复杂请求每次都会发送预检请求吗?预检请求是针对同一URL吗?cors请求有什么局限性?
- 常见http状态码
- http2相比http1.1有哪些区别
- 前端安全相关(CSRF和XSS)
- TCP和UDP有什么区别?应用场景?
- GET和POST区别
- CDN缓存原理
- 三次握手、四次挥手
- 协商缓存与强缓存
- https怎么保证安全,为什么握手过程使用非对称加密,数据传输用对称加密
- https数字签名证书有什么用
- 多个标签页之间怎么通信
- 从输入URL到页面展示整个过程
- cookie和session的区别
项目部分
- 文件切片上传和断点续传怎么做的
- 切片上传失败了怎么处理
- 服务端合并文件做了校验没有
- md5算法,怎么计算hash值
- 如果切片上传到的是一个集群,怎么合并
- 小程序登录怎么做的
- 同构原理
- 能说一下egg的进程机制吗?
- egg内置的session知道怎么实现的吗?
- token怎么实现登陆,jwt算法,token保存在哪
- Next.js怎么用的?特性和特点?
- 不可变数据怎么实现的,有什么用
- 防抖怎么实现的
- 项目总体分为哪些模块
其他问题
- webpack怎么将ts打包转成js
- webpack常见loader有哪些
- loader和plugin的区别
- webpack打包过程会暴露哪些钩子
- 热更新怎么实现的(websocket)
- 对工程化的了解
- 听说过BFF吗?
- 知道RESTful吗?
总结
- 简历是第一印象, 不要在简历上写一些不擅长的点给自己挖坑
- 回答问题的时候一定要形成闭环, 要知道面试官为什么问这个问题, 以及面试官想要考察什么
- 在不断的面试中提升自己, 如面试官指出了你的一些问题, 在面试后需要去复盘来提升自己
- 回答问题过程中尝试着引导面试官到自己熟悉的点上
- 面试过程中要自信, 相信自己
最后可以继续加微信交流
#校招##阿里巴巴##前端工程师#