前端面试挑战一天一题
文章平均质量分 76
太卷了,试试能不能每天打一篇
亨呢还要悟再谦虚点
游泳健身了解一下
展开
-
21、22、23、53、80、123、161、1433、3306、3389 端口的用途或协议
80 端口:HTTP(HyperText Transfer Protocol)端口,用于 Web 服务器和客户端之间的通信,常用于网页浏览。3389 端口:RDP(Remote Desktop Protocol)远程桌面协议端口,用于远程登录和管理 Windows 操作系统。23 端口:TELNET(Telecommunication Network)远程登录协议端口,用于远程登录和管理服务器。22 端口:SSH(Secure Shell)远程登录协议端口,用于远程登录和管理服务器。原创 2023-05-12 15:58:06 · 13962 阅读 · 0 评论 -
微前端中的应用隔离是什么,一般是怎么实现的?
微前端中的应用隔离是指将不同的微前端应用程序隔离开来,以确保它们之间不会相互影响或干扰。这种隔离可以通过多种方式实现,以下是一些常见的方法iframe 隔离:将每个微前端应用程序嵌入到一个 iframe 中,以确保每个应用程序都在自己的沙箱环境中运行。Web Components 隔离:使用 Web Components 技术将每个微前端应用程序封装为一个自定义元素,以确保每个应用程序都在自己的命名空间中运行。原创 2023-05-12 15:46:39 · 1575 阅读 · 0 评论 -
DNS 协议介绍
如果 DNS 服务器能够找到对应的 IP 地址,它会将该 IP 地址返回给浏览器,然后浏览器就可以使用该 IP 地址与对应的服务器进行通信。它是互联网中最为重要的基础设施之一,负责将人类可读的域名转换为计算机可读的 IP 地址,从而使得互联网上的设备能够相互通信和交流。可靠性:TCP 是一种可靠的协议,它使用数据确认和重传机制来确保数据的可靠传输,以便于应用程序接收到数据时能够正确无误。传输效率:由于 TCP 提供了可靠性保证,它的传输效率相对较低,因为它需要进行额外的数据确认、重传和错误检测等操作。原创 2023-05-12 15:50:45 · 1711 阅读 · 0 评论 -
webpack4和webpack5有什么区别
Webpack4和Webpack5是两个版本的Webpack,其中Webpack5是Webpack的最新版本。原创 2023-04-28 10:15:19 · 4235 阅读 · 0 评论 -
为什么要用虚拟 DOM?
虚拟DOM(Virtual DOM)是一种将应用程序的状态(state)与DOM分离的技术。它是一个JavaScript对象,它的结构类似于实际DOM元素的结构。使用虚拟DOM的目的是在减少DOM操作的数量的同时,提高应用程序的性能和响应速度。当应用程序的状态发生变化时,使用虚拟DOM可以计算出需要进行哪些DOM操作来更新UI界面,这样只需要更新必要的部分,而不是整个DOM树。这样可以减少浏览器重新渲染的次数,从而提高性能。原创 2023-04-26 08:27:31 · 1781 阅读 · 0 评论 -
请谈一下内存泄漏是什么,以及常见内容泄漏的原因和排查的方法
内存泄漏是指在程序中动态分配的内存空间未被及时释放,导致该内存空间无法再被程序使用,最终导致程序运行时消耗的内存越来越多,直到达到系统可用内存的上限而崩溃。内存泄漏是一种常见的程序错误,尤其在长时间运行的程序中容易出现。原创 2023-04-25 14:40:18 · 1351 阅读 · 0 评论 -
什么是Tree-shaking
Tree-shaking是一种用于优化JavaScript代码的技术,它可以在打包时自动去除未使用的代码。具体来说,它通过静态分析代码来判断哪些代码被使用,哪些代码没有被使用。然后,它可以将未使用的代码从打包后的代码中删除,以减少文件大小并优化性能。Tree-shaking是一种基于ES6模块系统的优化技术,这是因为ES6模块系统的静态特性使得代码的依赖关系在编译时就可以确定。因此,Tree-shaking可以在编译时进行静态分析,并删除未使用的代码。原创 2023-04-24 11:43:40 · 844 阅读 · 1 评论 -
WebSocket 中的心跳是为了解决什么问题?
减少无效流量:由于 WebSocket 连接是长时间保持的,如果没有心跳机制,连接双方会不停地发送和接收数据包,这会导致大量的无效流量和带宽浪费。通过心跳机制,可以及时发现连接是否已经断开,并采取相应的措施。需要注意的是,在发送心跳包时,我们需要先检查 WebSocket 连接的状态是否为 OPEN,因为如果连接已经关闭或发生错误,我们就不应该再发送心跳包了。提高连接的可靠性:通过心跳机制可以及时检测连接是否已经断开,这可以减少因连接断开而导致的数据传输中断和数据丢失的情况,从而提高连接的可靠性。原创 2023-04-23 08:40:21 · 2542 阅读 · 0 评论 -
Vue 和 JQuery 的区别在哪?为什么放弃 JQuery 用 vue?
Vue 的生态系统相对更加统一和一致,Vue Router 和 Vuex 都是 Vue 官方提供的插件,使用起来更加方便和稳定。相比之下,Vue 的声明式编程方式更加适合构建复杂的 Web 应用程序,可以提高代码的可维护性和可扩展性。Vue 使用基于 HTML 的模板语法,可以直接在 HTML 中编写 Vue 组件的模板,使得编写和维护模板更加容易。Vue 的使用方式是基于组件的声明式编程,将页面拆分成多个组件,每个组件负责自己的业务逻辑和用户界面。原创 2023-04-21 15:43:11 · 1504 阅读 · 2 评论 -
事件捕获和事件冒泡有什么区别
例如,当用户点击一个按钮时,该按钮的点击事件会被触发,但在触发该按钮的点击事件之前,事件会先从文档根节点开始向下捕获,可能触发该按钮的祖先元素、父元素的点击事件。当用户点击按钮时,事件会先在子元素上触发,然后事件会向上冒泡到父元素,最终触发父元素的点击事件处理函数。事件冒泡是指当一个元素上的事件被触发后,该事件会从该元素开始向上冒泡,依次触发父元素的相同事件,直到冒泡到文档根节点为止。例如,当用户点击一个按钮时,该按钮的点击事件会被触发,然后该事件会向上冒泡,可能触发该按钮的父元素、祖先元素的点击事件。原创 2023-04-21 11:48:11 · 1384 阅读 · 0 评论 -
短轮询、长轮询、SSE 和 WebSocket 间的区别
短轮询:短轮询是一种客户端与服务器之间的通讯方式,客户端定期向服务器发送请求,以检查是否有新消息。如果没有新消息,服务器会返回一个空响应。这种方法的缺点是客户端发送的请求频率较高,这可能导致网络拥塞和服务器负载过高。长轮询:长轮询是一种改进的轮询方式,其中客户端发送一个请求并保持连接打开,直到服务器有新消息可用或连接超时。这种方法减少了不必要的请求,但仍然需要发送大量的 HTTP 请求。SSE:SSE(Server-Sent Events)是一种单向通信协议,其中服务器可以将消息推送到客户端。原创 2023-04-21 15:13:03 · 1688 阅读 · 0 评论