字节内部前端开发手册(完整版)开放下载!

2,061 阅读5分钟

八月不刷题,九月徒伤悲~

金九银十的招聘旺季要来了!各个互联网大厂都会释放出大批社招的岗位出来,这个时候做好准备,去大厂、升职加薪的机会非常大!

但是今年问的难度和深度应该比前几年有所增加,下面从总体分析和重要点两个维度来分析一下:

总体分析

  • 前端问的最多的还是 js基础、计算机网络基础等,建议在此处多下功夫。
  • 而 css 相关的很少问到,最多也就问个三栏布局、两栏布局、水平垂直居中,把前两节看了面试基本没啥问题。
  • 框架 React/Vue 相关的在中小公司问的多一些,差不多占到面试时间的一半。而大厂不爱问框架,更注重基础,因为入职之后让你用哪个框架你就用哪个框架…即使问也是问比较底层的东西,比如 vue 的双向绑定原理。

重要点

最后再列举几个重要的点,无论大中小公司基本都会问的:

性能优化,以及每个优化点具体怎么做,每个点都可能延伸了问。

  • 比如你说异步加载,面试官会追问异步加载的方法,deffer 和 async 的区别。

  • 你说充分利用缓存,面试官会问缓存都有哪些方式,什么是强缓存什么是协商缓存,它们的返回码分别是什么,哪些资源存在 memory cache 哪些存在 disk cache…

http/https/http2.0。三次握手四次挥手,https 为什么安全为什么慢,跟 http 的区别,http2.0 都有哪些优化,浏览器输入url到看到页面的整个流程…

  • 安全类的常见的攻击手段,记好 CSRF 和 XSS 攻击的原理和防范措施就好了。

  • ES6 新特性,还有针对 var 和 let 的各种变态题。

  • 跨域的几种方式。

除了以上这些,大公司还喜欢让你介绍一个你觉得做的比较好的项目,有哪些亮点。这块一定要好好准备,你讲的项目用到的技术最好能够了解的非常深入,避免给自己挖坑。

不同于其他,工程师真的是一个终身学习的行业,尤其是前端领域,知识杂且多、网上资料还良莠不齐,想要靠自己梳理清楚确实不容易。不管你是社招还是校招,下面这份前端面试攻略,请收好。

这里给大家分享一份由字节3-1前端面试官整理的「2021大厂前端面试手册」,内容囊括Html、CSS、Javascript、Vue、HTTP、浏览器面试题\数据结构与算法。全部整理在下方文档中,共计111道,文档结构如下:

HTML

  • HTML5有哪些新特性?
  • Doctype作⽤? 严格模式与混杂模式如何区分?它们有何意义?
  • 如何实现浏览器内多个标签页之间的通信?
  • ⾏内元素有哪些?块级元素有哪些? 空(void)元素有那些?⾏内元 素和块级元素有什么区别?
  • 简述⼀下src与href的区别?
  • cookies,sessionStorage,localStorage 的区别?
  • HTML5 的离线储存的使用和原理?
  • 怎样处理 移动端 1px 被 渲染成 2px 问题?
  • iframe 的优缺点?
  • Canvas 和 SVG 图形的区别是什么?
  • ......

JavaScript

  • 问:0.1 + 0.2 === 0.3 嘛?为什么?
  • JS 数据类型
  • 写代码:实现函数能够深度克隆基本类型
  • 事件流
  • 事件是如何实现的?
  • new 一个函数发生了什么
  • 什么是作用域?
  • JS 隐式转换,显示转换
  • 了解 this 嘛,bind,call,apply 具体指什么
  • 手写 bind、apply、call
  • setTimeout(fn, 0)多久才执行,Event Loop
  • 手写题:Promise 原理
  • 说一下原型链和原型链的继承吧
  • 数组能够调用的函数有那些?
  • PWA使用过吗?serviceWorker的使用原理是啥?
  • ES6 之前使用 prototype 实现继承
  • 箭头函数和普通函数有啥区别?箭头函数能当构造函数吗?
  • 事件循环机制 (Event Loop)
  • ......

Vue框架

  • active-class是哪个组件的属性?嵌套路由怎么定义
  • 怎么定义vue-router的动态路由?怎么获取传过来的动态参数?
  • vue-router有哪几种导航钩子?
  • scss是什么?在vue.cli中的安装使用步骤是?有哪几大特性?
  • mint-ui是什么?怎么使用?说出至少三个组件使用方法?
  • v-model是什么?怎么使用? vue中标签怎么绑定事件?
  • axios是什么?怎么使用?描述使用它实现登录功能的流程?
  • 什么是RESTful API?怎么使用?
  • vuex是什么?怎么使用?哪种功能场景使用它?
  • mvvm框架是什么?它和其它框架(jquery)的区别是什么?哪些场景适合
  • 自定义指令(v-check、v-focus)的方法有哪些?它有哪些钩子函数?还有哪些钩子函数参数?
  • 说出至少4种vue当中的指令和它的用法?
  • Vue的双向数据绑定原理是什么?
  • 请详细说下你对vue生命周期的理解?
  • 请说下封装 vue 组件的过程?
  • 你是怎么认识vuex的?
  • vuejs与angularjs的区别?
  • ......

计算机网络

  • HTTP 缓存
  • 你知道 302 状态码是什么嘛?你平时浏览网页的过程中遇到过哪些 302 的场景?
  • HTTP 常用的请求方式,区别和用途?
  • HTTPS 是什么?具体流程
  • 三次握手和四次挥手
  • 你对 TCP 滑动窗口有了解嘛?
  • WebSocket与Ajax的区别
  • 了解 WebSocket 嘛?
  • HTTP 如何实现长连接?在什么时候会超时?
  • TCP 如何保证有效传输及拥塞控制原理。
  • TCP 协议怎么保证可靠的,UDP 为什么不可靠?
  • ......

算法

  • 链表
  • 字符串
  • 数组问题
  • 二叉树
  • 排序算法
  • 二分查找
  • 动态规划
  • BFS
  • DFS
  • 回溯算法
  • ......

附送一份「高级前端工程师必备资料包」

完整版PDF资料免费分享,只需你点赞支持,然后【点击此处免费领取】