毕业工作一年之后,有了转行的想法,偶然接触到程序员这方面,产生了浓厚且强烈的兴趣,开始学习前端,成功收割了大厂offer,开始了我的程序员生涯。
在自学过程中有过一些小厂的面试经历,也在一些小型的互联网公司实习过,这些都不是本文重点。本篇章主要分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等
一面:
1,说一下浏览器缓存
2,cookie 与 session 的区别
3,浏览器如何做到 session 的功能的。
4,解释一下:csrf 和 xss
5,怎么防止 csrf 和 xss
6,跨域的处理方案有哪些
7,CORS 是如何做的?
8,对于 CORS ,Get 和 POST 有区别吗?
9,了解 HTTPS 的过程吗?
10,es module 和 commonjs 的区别
11,react 里如何做动态加载
12,动态加载的原理是啥,就是 webpack 编译出来的代码
13,写一个处理加法可能产生精度的函数,比如 0.1 + 0.2 = 0.3
二面:
1,聊项目
- 项目难点以及怎么解决的
- 项目有哪些亮点?
2,写一个 es6 的继承过程
3,写一个大数相乘的解决方案。传两个字符串进来,返回一个字符串
三面
1,聊项目
2,写一个防抖函数
3,算法题
字节是出了名的考算法题比较多的,基本每面都会算法题和编程题,对编程能力比较看重吧。
蚂蚁
一面:
1,讲讲来蘑菇街都干了哪些事情
2,聊聊有什么技术上的沉淀
3,除了 redux mbox dva 还用过其他的 状态管理没
4,hooks 原理
5,看过 hooks 相关的草案吗
6,你对蚂蚁有什么期望,或者说技术的规划,想做的东西
7,vue3 的 类似 hooks 的原理是怎么样的
二面:
1,聊项目,项目的难点,以及自己做了哪些事情
2,为什么项目里会引入 TS
3,dva 和 redux 的区别
4,职业发展,今年的打算
5,组件升级怎么让使用这个组件的人都知道
6,如果让你设计项目自动设计组件升级,并且安全,你会怎么去设计
三面
全程聊项目,因为他不是前端的,所以没问前端任何知识,主要聊业务相关的,看看我对业务的理解,以及一些想法。
- 项目难点
- 怎么解决
- 项目有什么改进的地方
- 业务方怎么拿到反馈的,就是做的这个东西具体有什么用
上面是字节和蚂蚁的一些面试分享。每一次面试前我们肯定都要充分的准备好,可以去多看看别人的面经,看自己是否可以很好的回答这些问题,查看自己还有哪些不足,查漏补缺。
还有就是多刷题,资料可以去网上找,可以加一些前端群,一般群里会有资料分享,还可以和伙伴们交流讨论,也可以自己去买这类书籍,方法有很多,这个看自己个人的选择。
最后
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的JavaScript面试题文档,或更多前端资料可以点此处免费获取。
版的JavaScript面试题文档,或更多前端资料可以点此处免费获取。