小米实习面经
HTML语义化新标签webworkerspostmessage
onmessage
websocket一次连接
WebSocket 协议本身并没有内置的短线重连机制,但可以通过在客户端实现相应的重连逻辑来实现短线重连。通常,客户端会在连接断开后尝试重新连接到 WebSocket 服务器,并且在一定的策略下进行重连,以确保连接的稳定性和可靠性。
以下是一种简单的 WebSocket 短线重连的实现方式:
重连策略:客户端可以实现一个重连策略,决定在何种情况下进行重连,以及重连的间隔时间。例如,可以在连接断开后立即进行第一次重连,然后采用指数退避的方式进行后续重连,即每次重连间隔时间逐渐增加。
监听连接状态:客户端需要监听 WebSocket 连接的状态,包括连接成功、连接断开、连接错误等。当连接断开时,触发重连逻辑。
重连逻辑:当连接断开时,客户端根据重连策略进行重连。通常,客户端会尝试重新连接到服务器,并且在连接失败后等待一定的时间后再次尝试重连。可以根据实际情况设定重连的最大次数,避免无限重连造成资源浪费。
断线检测:客户端可以周期性地向服务器发送心跳包,以检测连接是否断开。 ...
HTTP相关知识点
OSI模型OSI七层模型OSI模型是一个概念模型,用于描述和标准化各种计算机网络中的功能分层。该模型将网络通信分为七个层次,每一层都有其特定的功能,并且支持上层或被下层支持。下面列出了每一层的基本功能和与之相关的一些主要协议:
1. 物理层(Layer 1: Physical Layer)负责传输原始比特流(即电信号、光信号等)。
协议与标准:Ethernet、IEEE 802.3、Cable、DSL、ISDN、USB、Bluetooth、RS-232(串行端口标准)、光纤等。
2. 数据链路层(Layer 2: Data Link Layer)负责在物理网络之上提供错误检测和修正的方法。
协议与标准:Ethernet、PPP(点对点协议)、STP(生成树协议)、ARP(地址解析协议)、RARP(反向地址解析协议)、VLAN、IEEE 802.11(Wi-Fi的一部分)、Frame Relay。
3. 网络层(Layer 3: Network Layer)负责数据包从源到目的地的传递和路由选择。
协议:IP(Internet Protocol,包括IPv4和IPv6)、ICM ...
小鹅通
项目页面有做SEO优化吗搜索引擎优化(SEO)是提高网站在搜索引擎中的可见性的一种策略,目的是吸引更多的自然(非付费)流量到网站。优化你的网站以适应搜索引擎的标准,可以显著提高其在搜索结果中的排名。以下是一些常见的SEO优化策略及其执行方法:
1. 关键词优化
研究关键词:使用工具如Google关键词规划师、Ahrefs、SEMrush等来找到与你的业务、产品或服务相关的关键词。
关键词部署:在网站的内容中自然地使用这些关键词,特别是在标题、描述、主体文本、URLs和图片的alt属性中。
2. 高质量内容
创建有价值的内容:确保你的内容对目标受众有用,能解决他们的问题或提供所需信息。
定期更新内容:定期更新你的网站内容,保持其相关性和新鲜感,这是提高网站权威性和吸引重复访问者的重要方式。
3. 技术SEO
提升网站速度:使用工具如Google PageSpeed Insights来分析和改进网页加载速度。
移动友好:确保你的网站对移动设备友好,使用响应式设计使网站在所有设备上都能良好显示。
使用HTTPS:确保你的网站安全,使用HTTPS加密网站,这是搜索引擎的一个正面评价因素。
...
JavaScript基础知识扫盲
JavaScript有几种方式声明函数?
函数声明(Function Declaration):
123function functionName(parameters) { // 函数体}
函数表达式(Function Expression):
123var functionName = function(parameters) { // 函数体};
箭头函数(Arrow Function)(ES6引入):
123var functionName = (parameters) => { // 函数体};
Function构造函数:
1var functionName = new Function('parameters', 'function body');
这些方式各有特点,函数声明和函数表达式是最常见和推荐的方式,而箭头函数是在ES6中引入的一种更简洁的写法,而Function构造函数则较少使用,因为它会在运行时解析字符串,有一定的性能开销和安全风险 ...
Java面试
1、JavaGuide2、计算机网络3、操作系统4、MySQL5、Redis
Java学习笔记
第01章核心基础Java->MySQL->JDBC->JavaWeb
微服务核心Maven→Gradle→Spring6→SpringMVC→MyBatis→MyBatisPlus→SSM→Redis7→SpringBoot2→SpringCloud
微服务生态Git→Docker→Elasticsearch→ZooKeeper→Nginx→SpringSecurity→
ActiveMQ→RabbitMQ→RocketMQ→K8S→MySQL面试题→大厂面试题第2季→大厂面试题第3季
项目实战尚筹网→云尚办公→谷粒学苑→尚医通→硅谷课堂→尚融宝→谷粒商城(大型重磅)
MySQL数据库学习笔记
MySQL官网:https://www.mysql.com/
最新大厂前端面试题
写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么?key 是给每一个 vnode 的唯一 id,可以依靠 key,更准确,更快的拿到 oldVnode 中对应的 vnode 节点。
JavaScript设计模式
设计模式设计模式总共有 23 种,但在前端领域其实没必要全部都去学习,毕竟大部分的设计模式是在 JavaScript 中占的比重并不是那么大,本文会列举出一些 JavaScript 常见的、容易被忽视的设计模式,不过还是有必要先简单了解一下设计模式相关的概念。
设计模式是什么?先举个形象的例子,比如现在正在考试而且恰好在考数学,实际上每道数学题目都对应着一种或多种解决公式(如和三角形相关的勾股定理),而这些解决公式是经过数学家研究、推导、总结好的,我们只需要把 题目 和 已有公式 对应上就很容易解决问题,而 设计模式 也是如此,只不过是它是相对于 软件设计领域 而言的。
设计模式(Design pattern) 是一套被反复使用、经过分类、代码设计经验的总结,简单来说设计模式就是为了解决 软件设计领域 不同场景下相应问题的 解决方案。
设计原则(SOLID)SOLID 实际上指的是五个基本原则,但在前端领域涉及到最多的是仍然是前面两条:
单一功能原则(Single Responsibility Principle)
开放封闭原则(Opened Closed Principle)
...
iframe学习
标签是一个内联框架,即用来在当前 HTML 页面中嵌入另一个文档的,且所有主流浏览器都支持iframe标签。简单说,即为**一个浏览器窗体被分为多个页面**。实现该机制需要用到`iframe`。123### 基本语法:```html<iframe src="文件路径"></iframe>
iframe标签常用属性介绍:
height可以设置框架显示的高度
width可以设置框架显示的宽度
name可以定义框架的名称
frameborder用来定义是否需要显示边框,取值为1表示需要边框
scrolling用来设置框架是否需要滚动条,取值可以是yes,no,auto
src用于设置框架的地址,可以使页面地址,也可以是图片地址
align用于设置元素对齐方式,取值可以是left,right,top,middle,- - bottom
html中iframe标签的使用方法首先新建两个HTML页面,一个命名为iframe-content.html,另一个命名为iframe.html,在iframe-content.html中添加内容,代码如下:
...