大家好,我是一名前端爱好者,喜欢整理和总结,凭借坚持努力+一点点运气,在2020年秋招过程中,我有幸拿到了百度、字节、阿里、腾讯、拼多多、京东等大厂的前端开发offer。 现在将自己秋招准备及面试过程中的遇到的高频知识点分享出来,有重点,少废话。希望能够帮助大家有重点地去学习/复习,斩获大厂offer~
1. 技术面
技术面主要考察前端基础以及解决实际问题的能力,下面分五类对高频考点进行解析。
- html&css
- js/es6
- 前端框架vue/react
- 网络
- 其他
1-1. html&css
html&css是基础,也是前端入门的必备,大厂一般都不会直接考察知识点,而是给出场景设计题,比如设计轮播图/搜索框,需要用简单的知识进行拼凑解决复杂的问题;
常考考点:
- 语义化举例
- html5新特性
- cookie、localstorage、sessionstorage三者区别
- 多标签页通信
- 浏览器渲染过程
- 从输入url到页面显示完成发生了什么
- 回流和重绘
- css盒模型
- 边距重叠、高度塌陷、BFC
- 自适应布局的方式(三栏布局、两栏布局)
- 水平居中、垂直居中
- CSS选择器优先级排序
1-2. JS/ES6
js是重点,考察比例最大,原型原型链/异步单线程/闭包作用域,这三座大山需要熟练掌握其原理并且熟悉应用场景,有时面试官会给出代码问输出结果,其实也是对这些内容的考察,所以一定要很熟悉;
常考考点:
- JS变量类型
- DOM事件流
- 事件的代理/委托
- AJAX请求
- 跨域问题
- 原型、原型链、继承
- 单线程的原因
- JS异步编程的方式
- EventLoop
- 变量/函数提升
- this优先级
- 闭包的意义
- 作用域链
- es6新增语法,如class、promise等
1-3. 前端框架
前端框架都是相通的,掌握任意一种就可以(我学的是vue),如果都掌握就更好了,常考的题型一般是问框架原理,在有充足时间的基础前提下建议看看源码自己理解,如果时间不够可以在各大学习平台看下别人总结的原理,结合源码理解记忆;
常考考点:
- mvvm原理
- vue双向绑定的原理
- vue生命周期
- 组件之间传值的方式
- vuex的属性
- router路由
- 懒加载
- vue常见指令
1-4. 网络部分
网络部分,需要熟练掌握基本知识,例如OSI协议模型、TCP连接的建立断开、HTTP/HTTPS原理、状态码等等;
常考考点:
- 七层模型的内容
- TCP三次握手
- TCP四次挥手
- TCP/UDP的区别
- HTTP协议的特点
- 状态码以1-5开头的含义
- 状态码301/302、304/200区别
- HTTP的常见方法
- HTTP1.0与2.0区别
- HTTPS工作原理
- HTTPS优缺点
- HTTP与HTTPS对比
- 进程与线程区别
- 缓存规则
- 强缓存、协商缓存及相关字段
- cookie与session原理、区别
- restful的理解
1-5. 其他
其他知识会的越多加分越多。
- webpack构建流程
- nodejs基本原理
- 微信小程序原理
- apache与nginx对比
- 前端性能优化(常考)--防抖节流
- 前端安全(常考)
- 前端工程化
- 算法(剑指offer足够用,排序、搜索、数组和二叉树相关的算法是重点)
- 操作系统
1-6. 小结
以上知识点的考察方式包括问答题、代码输出、手撕代码等多种形式。
常以代码输出形式考察的知识点包括:
- 引用类型
- 类型转换
- 原型和继承
- 异步和单线程
- 作用域和闭包 手撕代码包括:
- AJAX
- Promise
- call、apply、bind
- 防抖、节流
- 深浅拷贝
- lazyman
2. HR/领导面
- 自我介绍
- 为什么学前端
- 职业规划
- 对公司的了解/为什么选择该公司
- 和他人相比,优缺点
- 进入公司后努力的方向
这类问题如果一点思路都没有,建议在网上多搜搜,不要冷场,不要违背主流价值观。
3. 面试复习技巧
- 在准备面试的过程中,要去寻找自己的冷门闪光点,就是对某个冷门专业知识的熟悉,面试时非常加分
- 每次面试结束都要及时复盘没有答好的知识点,做好针对性训练
- 准备知识点时要学会在答案中引导面试官的提问,减少给自己挖坑
最后打个广告,前端知识点总结,欢迎试读