前言
假如有那么残酷的一天,我不小心喝错了一瓶药,一下子抹掉了我这十多年的编程经验,把我变成了一只小白。我想自学 前端,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习状态当中,并且每天的学习时间至少在 12 个小时以上。
即便是这样,我敢肯定,找到的工作肯定不会太好,勉强能够维持生活吧,毕竟是零基础入门啊。
如果想更进一步,真正成为一名不可或缺的高级前端工程师,时间需要更久,两年、三年、五年,直到秃的那天。
想着想着,我就觉得有必要为那一天做点准备,以备不时之需。
一面:
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,如果让你设计项目自动设计组件升级,并且安全,你会怎么去设计
三面
全程聊项目,因为他不是前端的,所以没问前端任何知识,主要聊业务相关的,看看我对业务的理解,以及一些想法。
- 项目难点
- 怎么解决
- 项目有什么改进的地方
- 业务方怎么拿到反馈的,就是做的这个东西具体有什么用
上面是字节和蚂蚁的一些面试分享。每一次面试前我们肯定都要充分的准备好,可以去多看看别人的面经,看自己是否可以很好的回答这些问题,查看自己还有哪些不足,查漏补缺。
还有就是多刷题,资料可以去网上找,可以加一些前端群,一般群里会有资料分享,还可以和伙伴们交流讨论,也可以自己去买这类书籍,方法有很多,这个看自己个人的选择。
最后
在面试前我花了三个月时间刷了很多大厂面试题,最近做了一个整理并分类,主要内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。
包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。
-
HTML5新特性,语义化
-
浏览器的标准模式和怪异模式
-
xhtml和html的区别
-
使用data-的好处
-
meta标签
-
canvas
-
HTML废弃的标签
-
IE6 bug,和一些定位写法
-
css js放置位置和原因
-
什么是渐进式渲染
-
html模板语言
- meta viewport原理
- 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】