前端面试题合集
1.有哪些方式可以实现数据的实时更新?
一. AJAX轮询(Polling)
轮询是一种通过定时发送HTTP请求到服务器来检查数据更新的方法。客户端每隔一定时间(如每5秒)发送一个请求到服务器,服务器响应当前的数据状态,客户端根据响应更新界面。这是最简单的实现实时更新的方法,但可能会导致服务器负载增加,因为请求是在固定间隔发送,无论数据是否真的发生变化。
二. 长轮询(Long Polling)
长轮询是轮询的一个变种,客户端发送请求到服务器后,服务器会保持连接打开,直到有数据更新时才响应请求。响应后,客户端立即再次发起请求,等待下一次更新。这减少了请求的次数,比传统轮询更有效率,但仍然会占用服务器资源。
三. Server-Sent Events(SSE)
Server-Sent Events是一种允许服务器主动向客户端发送新数据的技术。客户端创建一个到服务器的单向连接,服务器通过这个连接可以发送更新的数据。SSE适用于需要从服务器到客户端的单向数据流,如推送通知。SSE在客户端使用JavaScript的EventSource接口实现。
四. WebSocket
WebSocket提供了一个全双工的通信通道,允许数据在客户端和服务器之间双向实时传输。一旦WebSocket连接建立,服务器和客户端都可以随时发送数据,这使得WebSocket非常适合需要高频实时交互的应用,如在线游戏、聊天应用等。WebSocket协议比HTTP轻量,减少了开销和延迟。
2.关于性能优化?如何提升页面加载速度?
【性能优化】如何提升页面加载速度?-CSDN博客
3.什么是节流与防抖?怎么实现?有什么作用?
【vue3】防抖与节流_vue3 防抖-CSDN博客