别管,咱们前端人有自己的拼夕夕~

这份清单,是无数次面试复盘后沉淀下来的“考点最大公约数”,是八股文里的精华。它由十六个经典模块构成,像积木一样,能拼出绝大多数大厂面试的轮廓:

1.JavaScript 深度解剖室:这里不问“怎么用”,专问“为什么”。从堆栈内存到闭包原型,从事件循环到模块化演进,每一个概念都能被拆解成带代码的论述题。

2.框架原理拆解场:Vue 的响应式与 React 的 Fiber,diff 算法与渲染优化。这里需要你像框架作者一样思考,解释那些“魔法”背后的朴素逻辑。

3.浏览器硬核工厂:从输入 URL 到页面展现,每一步都可以是万字长文的起点。渲染性能、缓存策略、安全防护,这里是理论与实践的结合部。

4.工程化与性能优化竞技台:Webpack、Vite 的配置与原理,首屏加载的秒数博弈,如何度量与优化。这里考察的是你能否从“开发者”视角切换到“用户体验守护者”乃至“架构师”视角。

5.手写代码实验室:Promise、异步调度、深浅拷贝、函数柯里化……面试官想看的不仅是你实现功能,更是你对代码健壮性、边界处理和设计思路的考量。

6.......

下面,就让我们看下这份 “拼夕夕”清单

一、JavaScript(323题)

  • 1.不会冒泡的事件有哪些?
  • 2.mouseEnter 和 mouseOver 有什么区别?
  • 3.MessageChannel 是什么,有什么使用场景?
  • 4. async、await 实现原理
  • 5.Proxy 能够监听到对象中的对象的引用吗?
  • 6.如何让 var [a, b]= {a: 1,b:2}解构赋值成功?
  • 7.下面代码会输出什么?
  • 8.描述下列代码的执行结果
  • 9.什么是作用域链?
  • 10.bind、call、apply 有什么区别?如何实现-个bind?

二、CSS(61题)

  • 1. css 中的 animation、transition、 transform 有什么区别?
  • 2.怎么做移动端的样式适配?
  • 3.相邻的两个inline-block节点为什么会出现间隔,该如何解决?
  • 4. grid网格布局是什么?
  • 5.CSS3新增了哪些特性?
  • 6.怎么使用 CSS3 实现动画?
  • 7.怎么理解回流跟重绘?什么场景下会触发?
  • 8.什么是响应式设计?响应式设计的吗?基本原理是什么?如何进行实现?
  • 9.如果使用CSS提高页面性能?
  • 10.如何实现单行/多行文本溢出的省略样式?

三、HTML(57题)

  • 1. 什么是 DOM 和 BOM?
  • 2.简单描述从输入网址到页面显示的过程
  • 3.一台设备的dpr,是否是可变的?
  • 4.前端该如何选择图片的格式?
  • 5.前端跨页面通信,你知道哪些方法?
  • 6.说说你对 Dom 树的理解
  • 7.行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
  • 8.html和css中的图片加载与渲染规则是什么样的?
  • 9.title与h1的区别、b与strong的区别、i与em的区别?
  • 10.script 标签为什么建议放在 body 标签的底部(defer、async)

四、React(83题)

  • 1.下面代码中,点击“+3"按钮后,age 的值是什么?
  • 2.React Portals 有什么用?
  • 3.react 和 react-dom 是什么关系?
  • 4. React 中为什么不直接使用 requestIdleCallback?
  • 5.为什么 react 需要 fiber 架构,而 Vue 却不需要?
  • 6.子组件是一个 Portal,发生点击事件能冒泡到父组件吗?
  • 8.说说React render方法的原理?在什么时候会被触发?
  • 9.说说React事件和原生事件的执行顺序
  • 10.说说对受控组件和非受控组件的理解,以及应用场景?

五、Vue(80题)

  • 1. Vue 有了数据响应式,为何还要 dif ?
  • 2.vue3 为什么不需要时间分片?
  • 3.vue3 为什么要引入 Composition API ?
  • 4.谈谈 Vue 事件机制,并手写$on、$off、$emit、$once
  • 5.computed 计算值为什么还可以依赖另外-个 computed 计算值?
  • 6.说-下 vm.$set 原理
  • 7. 怎么在 Wue 中定义全局方法?
  • 8.Vue 中父组件怎么监听到子组件的生命周期?
  • 10.说说 vue3 中的响应式设计原理

六、算法(19题)

  • 1.最大的钻石
  • 2.举例说明你对尾递归的理解,以及有哪些应用场景
  • 3.去除字符串中出现次数最少的字符,不改变原字符串的顺序。
  • 4.请手写“快速排序”
  • 5.洗牌算法
  • 6.什么是尾调用优化和尾递归?
  • 7.合并K个升序链表
  • 8.什么是时间复杂度?
  • 9.请手写“基数排序”
  • 10.请手写"桶排序"

七、计算机网络(71题)

  • 1.简单描述从输入网址到页面显示的过程
  • 2.说说WebSocket和HTTP的区别
  • 3.说说 https 的握手过程
  • 4.HTTP2中,多路复用的原理是什么?
  • 5.说说你对"三次握手"、“四次挥手”的理解
  • 6.为什么推荐将静态资源放到cdn上?
  • 7.什么是DNS劫持?
  • 8.TLS 1.3 做了哪些改进?
  • 9.TLS1.2 握手的过程是怎样的?
  • 10.HTTP 报文结构是怎样的?

八、Node.js(27题)

  • 1.common.js和es6中模块引入的区别?
  • 2.为什么Node在使用es module时必须加上文件扩展名?
  • 3.浏览器和 Node 中的事件循环有什么区别?
  • 4.Node性能如何进行监控以及优化?
  • 5.如果让你来设计一个分页功能,你会怎么设计?前后端如何交互?
  • 6.如何实现文件上传?说说你的思路
  • 7.如何实现iwt鉴权机制?说说你的思路
  • 8.说说对中间件概念的理解,如何封装 node 中间件?
  • 9.说说 Node 文件査找的优先级以及 Require 方法的文件查找策略?
  • 10.说说对Nodejs中的事件循环机制理解?

九、 TypeScript(46题)

  • 1.说说对 TypeScript 中命名空间与模块的理解?区别?
  • 2.说说你对 typescript 的理解?与 javascript 的区别?
  • 3.Typescript中泛型是什么?
  • 4.TypeScript中有哪些声明变量的方式?
  • 5.什么是Typescript的方法重载?
  • 6.请实现下面的 sleep 方法
  • 7. typescript 中的 is 关键字有什么用?
  • 8.TypeScript支持的访问修饰符有哪些?
  • 9.请实现下面的 myMap 方法
  • 10.请实现下面的 treePath 方法

十、性能优化(25题)

  • 1.script标签放在header里和放在body底部里有什么区别?
  • 2.前端性能优化指标有哪些?怎么进行性能检测?
  • 3.SPA(单页应用)首屏加载速度慢怎么解决?
  • 4.如果使用CSS提高贞面性能?
  • 5.怎么进行站点内的图片性能优化?
  • 6.虚拟DOM一定更快吗?
  • 7.有些框架不用虚拟dom,但是他们的性能也不错是为什么?
  • 8.如果某个页面有几百个函数需要执行,可以怎么优化页面的性能?
  • 9.讲一下png8、png16、png32的区别,并简单讲讲 png 的压缩原理
  • 10.React.memo()和 useMemo()的用法是什么,有哪些区别?

十一、前端安全(21题)

  • 1.说说你对 XSS的了解
  • 2.web常见的攻击方式有哪些,以及如何进行防御?
  • 3.说说你对前端鉴权的理解
  • 4.如何禁止别人调试自己的前端代码?
  • 5.CSP(Content Security Policy)可以解决什么问题?
  • 6.前端怎么实现跨域请求?
  • 7. HTTPS 有哪些优点?
  • 8.webSocket 有哪些安全问题,应该如何应对?
  • 9.什么是点击劫持?如何防范点击劫持?
  • 10.什么是 Samesite Cookie 属性?

......

为了不影响读者的阅读兴趣,本文就展示到这,需要的小伙伴: https://github.com/encode-studio-fe-coder/natural_traffic/wiki/scan_material3

Read more

《前端文件下载实战:从原理到最佳实践》

《前端文件下载实战:从原理到最佳实践》

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[[email protected]] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? * 专栏导航: 码农阿豪系列专栏导航 面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️ Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻 Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡 全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀 目录 * 《前端文件下载实战:从原理到最佳实践》 * 引言 * 一、需求背景与初始实现 * 1.1 业务需求 * 1.2 初始后端实现 * 1.3

By Ne0inhk
五分钟入门控制算法:MPC(模型预测控制)算法

五分钟入门控制算法:MPC(模型预测控制)算法

什么是控制算法?         比如我现在的无人机悬浮在空中的某个位置,我想要让他以最短时间抬升悬浮到上方10m的位置,那我要具体如何去调整输入(如电流、油门、功率),以最好的性能(时间最短)来达到预期的目标呢?那就需要控制算法来求解,来调整这些输入。         控制算法(Control Algorithm)本质上是一套控制机械系统运作的“数学指挥指令”。它告诉机器(如无人机、恒温空调、机械臂)如何根据目前的状态,通过调整输入(如电流、油门、功率)来达到预期的目标。         不同的算法有不同的使用场景与特性,有些适用于动态系统,有些适用于静态。有些适用于低阶系统,有些适用于高阶系统。有些计算量小,有些计算量大。所以衍生出了很多种控制算法。         如何根据不同的场景选择合适的控制算法,创造更厉害的控制算法,调整控制算法的参数使得任务完成的效果更好;如何让实时波形图(如 rqt_plot)更加贴合跟踪曲线;如何对机械系统编写“保护逻辑” ;如何处理传感器噪声与延迟,用一些滤波算法(卡尔曼滤波)做更好的状态估计。如何增加前馈(

By Ne0inhk

黑马程序员java web学习笔记--后端进阶(二)SpringBoot原理

目录 1 配置优先级 2 Bean的管理 2.1 Bean的作用域 2.2 第三方Bean 3 SpringBoot原理 3.1 起步依赖 3.2 自动配置 3.2.1 实现方案 3.2.2 原理分析 3.2.3 自定义starter 1 配置优先级 SpringBoot项目当中支持的三类配置文件: * application.properties * application.yml ❤ * application.yaml 配置文件优先级排名(从高到低):properties配置文件 > yml配置文件 > yaml配置文件 虽然springboot支持多种格式配置文件,但是在项目开发时,推荐统一使用一种格式的配置。

By Ne0inhk

快速部署指南:CV-UNet图像抠图WebUI搭建

快速部署指南:CV-UNet图像抠图WebUI搭建 你是否还在为一张证件照反复调整魔棒选区而头疼?是否因为电商主图要批量换背景,不得不熬夜修图到凌晨?有没有试过打开PyTorch代码、配置CUDA环境、下载模型权重,结果卡在ModuleNotFoundError: No module named 'torch'就再也没继续下去? 别折腾了。今天这篇指南不讲原理、不配环境、不写代码——只做一件事:从镜像启动到完成第一张人像抠图,全程不超过90秒。 我们用的是由开发者“科哥”二次开发构建的 cv_unet_image-matting图像抠图 webui 镜像。它不是Demo,不是玩具,而是一个真正开箱即用、界面清爽、参数直观、结果可靠的生产级AI抠图工具。没有命令行黑框,没有报错日志,只有紫蓝渐变的界面、三秒出图的响应,和一张干净利落的透明背景人像。 本文就是为你写的——给没装过CUDA的运营、没写过Python的设计师、不想碰终端的剪辑师,一份真正能“照着点、就能用”的部署实录。

By Ne0inhk