携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第19天,点击查看活动详情
前言
众所周知,前端需要掌握的知识非常杂,知识点涉及的也很广,本文我们讲一下前端知识体系基本部分的重要知识点,javascript、html、css、网络、浏览器相关知识,帮助大家进行查缺补漏。
大前端 - 基础
javascript
- 类型
- 基本类型(
symbol,BitInt) - 引用类型
- 操作符
- 基本类型(
- Object
- 其他对象的基类/方法/构造函数(比如
Object.defineProperty、Object.getPrototypeof)
- 其他对象的基类/方法/构造函数(比如
- Array
- 类数组/遍历方法/构造函数(比如
Array.isArray/Array.from/Array.of)
- 类数组/遍历方法/构造函数(比如
- ES6相关
- 箭头函数(与普通函数的区别)
promise原理、promise几个方法区别(all、allSettled、race、any)Set、Map、WeakSet 和 WeakMap的区别- 其他新特性(Proxy/Reflect、symbol)
- 闭包(表现形式、用途、缺点)/作用域(概念)/this(隐式绑定、绑定优先级)
- 原型链(是什么?有哪些特点)
- OOP
- 继承(es5的几种实现方式)
- 设计模式(构造函数、原型模式、工厂模式)
- 手动实现一个new
- 异步
- 异步编程的方式
eventloop- 宏任务与微任务
- 其他
- 事件(事件委托、事件冒泡、事件模型)
ajax与fetch区别- 深浅拷贝相关
html
- html5新标签(语义化)
- 盒模型、css盒模型
- html5概念
- 声明
- 存储 (
localStorage、sessionStorage) - 属性(
websocket) - 其他特性(
document.querySelector、geolocation)
css
- 动画(
transform、transition、animation) - flex(默认显示、属性)
- BFC概念
- 样式权重
- css选择器
- 移动端兼容(点击穿透、滚动穿透、异形屏适配)
- 布局
- 水平垂直居中
- 品字、圣杯、双飞翼布局
网络
- tcp/ip
- OSI七层模型
- tcp协议(三次握手、四次挥手)
- TCP与UDP区别
- 状态码(
301、302、304、401、404、500、504) - 缓存
- 缓存类别(强缓存、协商缓存)
- 缓存策略
- header参数
http与https区别http1.0/http2.0/http3.0区别- web的攻击技术
- xss攻击(跨站脚本攻击)
- 跨站点请求伪造CSRF
- 其他常见问题
get和post请求区别cdn优化静态资源- 输入url后http请求的完整过程
浏览器
- 浏览器渲染页面的过程
网络层(构建请求、查找强缓存、dns解析、建立TCP链接、发送http请求、网络响应)解析算法(构建dom树、样式计算、生成布局树)渲染过程(建图层树、生成绘制列表、生成图块和生成位图、显示器显示内容)断开连接(TCP四次挥手)
- 回流和重绘
- 概念及
优化
- 概念及
- 首屏加载优化
- 体积优化
- 网络优化
- 感知优化
- 浏览器本地存储
cookiesessionStorage/localStorageIndexDB
- 跨域通信
- 跨域的原因、了解什么是同源策略
CORS、nginx、jsonp、postMessage、websocket、node中间件
- 前端异常处理及前端监控(错误处理与调试)
- 前端监控(用户行为、异常监控、性能监控)
- 错误上报方式(
GIF上报错误) - 捕获错误(
window.onerror、try-catch、promise-catch、iframe、MVVM框架错误) - 崩溃和卡顿
window对象的load和beforeunload事件实现了网页崩溃的监控。- 使用
Service Worker来实现网页崩溃的监控 performance.now() + requestAnimationFrame代码判断
- 第三方工具(
sentry)
结语
- 本文介绍了前端的基础部分的重要知识点,也是面试经常会问到的,给大家进行一个梳理和总结,包含了
javascript、html、css、网络、浏览器等相关知识,也是我认为一个初级前端需要掌握的内容。