2025年前端面试热门题目——HTML|CSS|Javascript|TS知识
以下是对这些 HTML 面试问题的详细解答:
1. HTML 的 src 和 href 属性有什么区别?
-
src(Source) 属性:- 用于嵌入资源,例如图像、脚本或 iframe。
- 加载资源时,当前页面的加载会暂停,直到资源加载完成。
- 常用于
<img>、<script>和<iframe>标签。 - 例子:
<img src="image.jpg" alt="图片"> <script src="script.js"></script>
-
href(Hypertext Reference) 属性:- 用于建立超链接,指向外部资源或内部的网页。
- 不会暂停页面加载,用户可以点击链接跳转。
- 常用于
<a>、<link>和<area>标签。 - 例子:
<a href="https://example.com">访问示例网站</a> <link href="styles.css" rel="stylesheet">
2. 什么是 HTML 语义化?
HTML 语义化是指通过使用具有明确含义的标签,使 HTML 结构具有更好的可读性和意义。
-
优点:
- 提高可读性:开发者和浏览器可以更轻松理解文档结构。
- 增强 SEO:语义化标签帮助搜索引擎更好地索引页面内容。
- 增强可访问性:辅助工具(如屏幕阅读器)可以更好地解释页面内容。
-
常见语义化标签:
header、footer、article、section:定义页面结构。nav:定义导航。aside:定义侧边内容。figure和figcaption:定义图像及其说明。
3. DOCTYPE(文档类型)的作用是什么?
- 定义:
DOCTYPE声明用于告诉浏览器当前 HTML 文档的标准。 - 作用:
- 让浏览器以标准模式(Standard Mode)渲染页面。
- 避免浏览器进入怪异模式(Quirks Mode),导致布局和样式出现问题。
- HTML5 DOCTYPE 示例:
<!DOCTYPE html>
4. HTML 的 script 标签中 defer 和 async 有什么区别?
-
defer:- 脚本异步加载,并在 HTML 解析完成后按顺序执行。
- 适合依赖 HTML 结构的脚本。
- 示例:
<script src="script.js" defer></script>
-
async:- 脚本异步加载,加载完成后立即执行(可能在 HTML 未解析完成时执行)。
- 适合独立的脚本(如广告或分析工具)。
- 示例:
<script src="script.js" async></script>
-
区别总结:
defer保证脚本按顺序执行,适用于多个依赖的脚本。async脚本独立,加载和执行更快。
5. 常用的 HTML meta 标签有哪些?
<meta> 标签用于定义页面的元信息,常用的有:
- 字符编码:
<meta charset="UTF-8"> - 视口设置(适配移动端):
<meta name="viewport" content="width=device-width, initial-scale=1.0"> - 描述:
<meta name="description" content="页面的描述内容"> - 关键字:
<meta name="keywords" content="HTML, CSS, JavaScript"> - 作者信息:
<meta name="author" content="作者名字"> - 防止搜索引擎索引:
<meta name="robots" content="noindex, nofollow">
6. HTML5 相比于 HTML有哪些更新?
-
新增语义化标签:
- 如:
<header>、<footer>、<article>、<section>、<nav>。
- 如:
-
新增表单功能:
- 增加了新的输入类型:
email、url、date、number等。 - 表单属性:
required、placeholder、pattern。
- 增加了新的输入类型:
-
支持多媒体:
- 新增
<audio>和<video>标签。
- 新增
-
新增 API:
- 地理位置:
Geolocation API - 本地存储:
localStorage和sessionStorage - 拖放:
Drag and Drop API - 画布:
<canvas>标签。
- 地理位置:
-
废弃元素:
- 移除了
<center>、<font>等。
- 移除了
7. HTML 中,img 标签 srcset 属性的作用是什么?
- 作用: 提供一组图像 URL 和其对应的显示条件,允许浏览器根据设备像素密度或屏幕宽度选择最合适的图像。
- 示例:
<img src="default.jpg" srcset="small.jpg 480w, medium.jpg 1024w" sizes="(max-width: 600px) 480px, 1024px" alt="图片">- 浏览器会根据视口大小和分辨率选择合适的图像。
480w表示图像宽度为 480 像素。
8. HTML 行内元素有哪些?块级元素有哪些?空 (void) 元素有哪些?
-
行内元素:
- 不占据独立一行,内容按行排列。
- 常见:
<a>、<span>、<img>、<strong>、<em>、<label>。
-
块级元素:
- 独占一行,通常是容器。
- 常见:
<div>、<p>、<h1>~<h6>、<section>、<article>、<ul>、<li>。
-
空元素:
- 没有闭合标签,只有单个标签。
- 常见:
<img>、<input>、<br>、<hr>、<meta>。
9. HTML 中,title 与 h1 标签的区别是什么?
-
title标签:- 定义网页的标题,显示在浏览器标签栏。
- 对 SEO 友好,用于搜索引擎结果的标题。
- 示例:
<title>我的网页标题</title>
-
h1标签:- 表示页面的主要标题。
- 用于内容层次结构,通常一个页面只有一个
h1。 - 示例:
<h1>欢迎来到我的网站</h1>
10. Canvas 和 SVG 有什么区别?
-
Canvas:
- 基于像素的绘图。
- 提供动态绘制能力,但不易修改内容。
- 使用 JavaScript 绘制,适合实时动画和复杂图像处理。
- 示例:
<canvas id="myCanvas" width="200" height="100"></canvas> <script>const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');ctx.fillStyle = 'red';ctx.fillRect(0, 0, 150, 75); </script>
-
SVG:
- 基于 XML 的矢量图形。
- 内容可以通过 DOM 轻松修改和操作。
- 适合静态图形或需要高分辨率的图形。
- 示例:
<svg width="100" height="100"><circle cx="50" cy="50" r="40" fill="blue" /> </svg>
-
区别总结:
- Canvas 注重像素,适合动画;SVG 注重结构,适合静态矢量图形。
如果需要进一步展开或补充某些问题,可以继续探讨!
以下是对这些 CSS 和 JavaScript 面试问题的详细解答:
1. 有哪些 CSS 选择器? 请分别介绍
CSS 选择器用于选择 HTML 元素以应用样式。常见选择器有:
-
通配符选择器 (
*):- 选择所有元素。
- 示例:
* {margin: 0;padding: 0; }
-
类型选择器:
- 选择特定标签的元素。
- 示例:
p {color: blue; }
-
类选择器 (
.):- 选择特定类的元素。
- 示例:
.classname {font-size: 14px; }
-
ID 选择器 (
#):- 选择特定 ID 的元素。
- 示例:
#idname {background-color: yellow; }
-
属性选择器:
- 根据属性值选择元素。
- 示例:
input[type="text"] {border: 1px solid gray; }
-
后代选择器 (
A B):- 选择 B 元素,前提是它是 A 元素的后代。
- 示例:
div p {color: green; }
-
子选择器 (
A > B):- 选择 A 元素的直接子元素 B。
- 示例:
ul > li {list-style: none; }
-
相邻兄弟选择器 (
A + B):- 选择紧接在 A 后面的 B 元素。
- 示例:
h1 + p {font-size: 12px; }
-
通用兄弟选择器 (
A ~ B):- 选择与 A 同级的所有 B 元素。
- 示例:
h1 ~ p {color: gray; }
-
伪类选择器:
- 选择元素的特定状态。
- 示例:
a:hover {text-decoration: underline; }
-
伪元素选择器:
- 选择元素的特定部分。
- 示例:
p::first-line {font-weight: bold; }
2. 如何计算 CSS 的优先级?
CSS 优先级是用数字计算的,规则如下:
- 行内样式:
1000 - ID 选择器:
100 - 类选择器、伪类、属性选择器:
10 - 标签选择器、伪元素:
1 - 通配符、继承、默认样式:
0
计算优先级的示例:
/* 优先级为:10 (类选择器) */
.class {color: red;
}/* 优先级为:100 (ID 选择器) */
#id {color: blue;
}/* 优先级为:101 (ID + 标签选择器) */
#id p {color: green;
}
规则:
- 优先级高的样式覆盖优先级低的。
- 同优先级时,后出现的覆盖前面的。
3. CSS 中可继承与不可继承属性有哪些?
-
可继承属性:
- 文本相关属性:
colorfont系列:font-family、font-size、font-style等。visibilityletter-spacing、word-spacing。
- 默认行为:通过继承从父级传递到子级。
- 文本相关属性:
-
不可继承属性:
- 盒模型相关属性:
marginpaddingborderwidth、heightbox-shadow
- 布局相关属性:
displaypositionz-indexoverflow
- 盒模型相关属性:
-
强制继承:
- 对于不可继承属性,可以通过
inherit强制继承:div {width: inherit; }
- 对于不可继承属性,可以通过
4. CSS 中 display 属性的值及其作用
display 属性决定元素的显示方式。常见值:
-
block:- 块级元素,独占一行。
- 示例:
div {display: block; }
-
inline:- 行内元素,与其他元素共享一行。
- 示例:
span {display: inline; }
-
inline-block:- 具有行内特性,但可以设置宽高。
- 示例:
img {display: inline-block; }
-
none:- 隐藏元素,不占据空间。
- 示例:
p {display: none; }
-
flex:- 设为弹性布局容器。
- 示例:
div {display: flex; }
-
grid:- 设为网格布局容器。
- 示例:
div {display: grid; }
5. 使用 link 和 @import 引用 CSS 的区别
-
<link>标签:- 在 HTML 文件中引入 CSS 文件。
- 优点:支持并行加载,适合现代浏览器。
- 示例:
<link rel="stylesheet" href="style.css">
-
@import规则:- 在 CSS 文件中导入另一个 CSS 文件。
- 缺点:浏览器需要解析 CSS 文件后再加载导入的文件,加载速度较慢。
- 示例:
@import url("style.css");
6. JavaScript 有哪些数据类型? 它们的区别是什么?
-
基本数据类型 (Primitive Types):
string、number、bigint、boolean、undefined、symbol、null。- 特点:不可变、存储在栈中。
-
引用数据类型 (Reference Types):
object(包括数组、函数等)。- 特点:可变、存储在堆中。
7. 如何判断 JavaScript 变量是数组?
-
Array.isArray()(推荐):Array.isArray([1, 2, 3]); // true -
instanceof:[1, 2, 3] instanceof Array; // true -
Object.prototype.toString:Object.prototype.toString.call([1, 2, 3]); // "[object Array]"
8. JavaScript 中 null 和 undefined 的区别是什么?
-
null:- 表示一个空的或无效的对象引用。
- 需要手动赋值:
let value = null;
-
undefined:- 表示变量未初始化或不存在。
- 系统自动赋值:
let value; // 默认是 undefined
9. typeof null 的结果是什么? 为什么?
- 结果:
typeof null; // "object" - 原因:
这是 JavaScript 的一个历史遗留问题,null最初被设计为对象的特殊值,因此typeof null返回"object"。
10. typeof 和 instanceof 有什么区别?
-
typeof:- 检测变量的数据类型。
- 适合检查基本数据类型。
- 示例:
typeof 42; // "number"
-
instanceof:- 检测对象是否是某个构造函数的实例。
- 示例:
[] instanceof Array; // true
总结:
typeof主要用于基础类型判断。instanceof用于引用类型判断,尤其是继承关系的判断。- 以下是对这些 JavaScript 面试问题的详细解答:
1. 为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
原因:
- JavaScript 使用 IEEE 754 双精度浮点数来表示数字,这种表示方式无法精确存储某些小数,例如
0.1和0.2。 - 计算过程中的精度损失导致:
0.1 + 0.2; // 0.30000000000000004
解决方法:
-
使用
toFixed()或toPrecision():- 将结果四舍五入到指定的小数位数。
(0.1 + 0.2).toFixed(1); // "0.3" -
使用乘除法避免小数计算:
- 先将数字放大为整数计算,再缩小。
(0.1 * 10 + 0.2 * 10) / 10 === 0.3; // true -
使用 EPSILON 判断:
- JavaScript 提供
Number.EPSILON表示最小可区分值。
Math.abs(0.1 + 0.2 - 0.3) < Number.EPSILON; // true - JavaScript 提供
2. 说说你对 fetch 的理解,它有哪些优点和不足?
fetch 是什么?
fetch是现代浏览器提供的原生 API,用于发起 HTTP 请求,返回一个基于Promise的结果。
优点:
-
语法简单:
- 使用
Promise,代码更清晰。
fetch(url).then(response => response.json()).then(data => console.log(data)).catch(error => console.error(error)); - 使用
-
原生支持:
- 内置支持,不需要额外的库。
-
可扩展性:
- 支持各种 HTTP 方法、头部设置、跨域请求等。
-
流式响应:
- 支持
ReadableStream,适合处理大文件。
- 支持
不足:
-
不支持超时控制:
- 需要手动实现超时逻辑。
const controller = new AbortController(); setTimeout(() => controller.abort(), 5000); // 超时 5 秒 fetch(url, { signal: controller.signal }); -
错误处理复杂:
fetch仅在网络错误时抛出异常,HTTP 状态码错误(如 404、500)不会自动触发catch。
fetch(url).then(response => {if (!response.ok) {throw new Error('HTTP error ' + response.status);}return response.json();}); -
浏览器兼容性:
- IE 不支持,需要 polyfill。
3. JavaScript 中 Object.keys 的返回值是无序的吗?
是否有序:
- 根据规范:
- 如果对象的属性是数字键(索引),
Object.keys返回的数组按 升序 排列。 - 其他非数字键的属性按 插入顺序 返回。
- 如果对象的属性是数字键(索引),
- 示例:
const obj = { 1: 'one', 3: 'three', 2: 'two', a: 'A', b: 'B' }; console.log(Object.keys(obj)); // ["1", "2", "3", "a", "b"]
4. JavaScript 的 BigInt 和 Number 类型有什么区别?
区别:
-
表示范围:
Number:安全整数范围为-2^53 ~ 2^53(由Number.MAX_SAFE_INTEGER定义)。BigInt:支持任意大小的整数。
-
操作:
BigInt无法与Number混合运算。
1n + 2; // TypeError 1n + BigInt(2); // 3n -
精度:
Number是浮点类型,可能有精度损失。BigInt精确表示整数。
-
性能:
BigInt操作效率较低。
示例:
console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991
console.log(9007199254740991 + 1); // 9007199254740992 (精度丢失)
console.log(9007199254740991n + 1n); // 9007199254740992n (精确)
5. 什么是 JavaScript 的尾调用? 使用尾调用有什么好处?
尾调用:
- 尾调用是指一个函数的最后一步调用另一个函数。
- 尾调用条件:
- 调用是函数的最后一步。
- 返回调用的结果。
好处:
- 减少内存占用:
- 避免多余的调用栈帧,提升性能。
- 对递归函数尤为重要(即尾递归优化)。
示例:
-
普通递归(会累积调用栈):
function factorial(n) {if (n === 1) return 1;return n * factorial(n - 1); // 不是尾调用 } -
尾递归(优化调用栈):
function factorial(n, acc = 1) {if (n === 1) return acc;return factorial(n - 1, acc * n); // 尾调用 }
6. 使用 let 全局声明变量,能通过 window 对象取到吗?
-
答案:不能。
-
原因:
- 使用
let或const声明的全局变量不会成为window对象的属性。 - 示例:
let x = 10; console.log(window.x); // undefined
- 使用
-
对比:
- 使用
var声明的全局变量会成为window对象的属性。
var y = 20; console.log(window.y); // 20 - 使用
7. let、const 和 var 的区别是什么?
1. var:
- 作用域: 函数作用域。
- 变量提升: 会提升至作用域顶部,默认值为
undefined。 - 可重复声明: 可以在同一作用域内多次声明。
2. let:
- 作用域: 块作用域。
- 变量提升: 也会提升,但在提升前无法访问(称为“暂时性死区”)。
- 不可重复声明: 同一作用域内不允许重复声明。
3. const:
- 作用域: 块作用域。
- 常量: 声明时必须初始化,值不能重新赋值(对象属性可以修改)。
- 不可重复声明: 同一作用域内不允许重复声明。
8. 说说你对 JS 作用域的理解?
1. 什么是作用域?
作用域是指代码中变量、函数或对象的可访问范围。
2. 分类:
-
全局作用域:
- 定义在任何函数或块外的变量,具有全局可访问性。
- 示例:
var globalVar = "I am global";
-
函数作用域:
- 使用
var声明的变量在函数内部是局部的。 - 示例:
function scopeTest() {var localVar = "I am local";console.log(localVar); }
- 使用
-
块作用域:
- 使用
let或const声明的变量只能在声明的块中访问。 - 示例:
if (true) {let blockVar = "I am block scoped";console.log(blockVar); }
- 使用
3. 闭包与作用域:
- 闭包是函数能够“记住”并访问其定义时的作用域。
- 示例:
function outer() {let outerVar = "I am outer";return function inner() {console.log(outerVar); // 闭包访问}; } const fn = outer(); fn(); // "I am outer"1. ES6 箭头函数和普通函数有什么区别?
1.1 语法上的区别:
- 箭头函数更简洁,不需要
function关键字:// 普通函数 function sum(a, b) {return a + b; }// 箭头函数 const sum = (a, b) => a + b;
1.2 特性上的区别:
-
this绑定规则:- 箭头函数没有自己的
this,会捕获其定义时的上下文this。 - 普通函数的
this根据调用方式动态绑定。
const obj = {value: 10,arrowFunc: () => this.value, // 捕获定义时的上下文normalFunc() {return this.value; // 根据调用时绑定}, };console.log(obj.arrowFunc()); // undefined (指向全局或模块的 this) console.log(obj.normalFunc()); // 10 - 箭头函数没有自己的
-
arguments对象:- 箭头函数没有
arguments对象,可以通过剩余参数代替。 - 普通函数有
arguments,可以访问函数的实际参数。
const arrowFunc = () => console.log(arguments); // Error function normalFunc() {console.log(arguments); // 可用 } - 箭头函数没有
-
作为方法或事件处理函数:
- 箭头函数的
this不会改变,适合绑定事件。 - 普通函数会动态绑定,可能需要手动处理
this。
const obj = {value: 42,handler: () => console.log(this.value), // 指向全局或模块 }; document.body.addEventListener('click', obj.handler); - 箭头函数的
-
是否可作为构造函数:
- 箭头函数不能作为构造函数。
- 普通函数可以通过
new操作符生成实例。
2. ES6 箭头函数能当构造函数吗?
答案:不能。
- 箭头函数没有
[[Construct]]内部方法,无法用new操作符调用。 - 示例:
const Arrow = () => {}; const obj = new Arrow(); // TypeError: Arrow is not a constructor
3. ES6 有哪些新特性?
-
变量声明:
let和const- 块作用域,避免变量提升。
- 示例:
let a = 10; const b = 20;
-
箭头函数
- 简洁语法,自动绑定
this。 - 示例:
const add = (a, b) => a + b;
- 简洁语法,自动绑定
-
模板字符串
- 支持多行和嵌入表达式。
- 示例:
const greeting = `Hello, ${name}`;
-
解构赋值
- 解构对象和数组。
- 示例:
const [a, b] = [1, 2]; const { x, y } = { x: 3, y: 4 };
-
展开运算符
...- 用于复制、合并或解构。
- 示例:
const arr = [...arr1, ...arr2];
-
默认参数
- 函数参数支持默认值。
- 示例:
const greet = (name = 'Guest') => `Hello, ${name}`;
-
类和继承
- 新增
class和extends。 - 示例:
class Person {constructor(name) {this.name = name;} } class Student extends Person {constructor(name, grade) {super(name);this.grade = grade;} }
- 新增
-
模块化
- 使用
import和export。 - 示例:
import { foo } from './module.js'; export const bar = 42;
- 使用
-
Promise- 用于异步编程。
- 示例:
const promise = new Promise((resolve, reject) => {resolve('Success'); });
-
Symbol和Map/Set- 新的数据类型和数据结构。
- 示例:
const sym = Symbol('id'); const map = new Map();
4. TypeScript 有哪些常用类型?
-
基本类型:
string,number,boolean,null,undefined,any,void,never.
-
数组类型:
number[]或Array<number>。- 示例:
const nums: number[] = [1, 2, 3];
-
元组类型:
- 固定长度、已知类型的数组。
- 示例:
const tuple: [number, string] = [42, 'Hello'];
-
枚举类型:
- 定义一组命名常量。
- 示例:
enum Direction {Up,Down,Left,Right, }
-
对象类型:
- 定义对象结构。
- 示例:
interface Person {name: string;age: number; }
-
联合类型:
- 变量可为多种类型之一。
- 示例:
let value: string | number;
-
类型别名:
- 定义自定义类型。
- 示例:
type ID = string | number;
5. 什么是 TypeScript 的对象类型? 怎么定义对象类型?
对象类型定义:
- 在 TypeScript 中,对象类型是描述对象结构的类型。
- 可以使用
interface或type定义对象类型。
定义方式:
-
使用接口 (
interface):interface Person {name: string;age: number; }const user: Person = {name: 'Alice',age: 25, }; -
使用类型别名 (
type):type Person = {name: string;age: number; };const user: Person = {name: 'Bob',age: 30, }; -
嵌套对象类型:
interface Address {city: string;zipCode: number; }interface Person {name: string;address: Address; }const user: Person = {name: 'Charlie',address: {city: 'New York',zipCode: 10001,}, }; -
可选属性和只读属性:
interface Person {name: string;age?: number; // 可选readonly id: string; // 只读 }const user: Person = {name: 'Diana',id: '12345', };// user.id = '54321'; // Error: Cannot assign to 'id' because it is a read-only property
相关文章:
2025年前端面试热门题目——HTML|CSS|Javascript|TS知识
以下是对这些 HTML 面试问题的详细解答: 1. HTML 的 src 和 href 属性有什么区别? src (Source) 属性: 用于嵌入资源,例如图像、脚本或 iframe。加载资源时,当前页面的加载会暂停,直到资源加载完成。常用于 <img&g…...
Linux中部署项目
1.下载JDK17 进入 /usr/local 目录,创建 java 文件夹。并将 JDK17 上传到 java 目录下。 上传成功后,通过cd命令进入Java文件夹目录,解压 JDK17 压缩包,命令 unzip zulu17.44.53-ca-jdk17.0.8.1-linux_x64.zip。 如果报错说 u…...
在 CentOS 上安装 MySQL 8
在 CentOS 上安装 MySQL 8 您可以按照以下步骤操作: 1. 更新系统 首先,更新系统软件包以确保安装的最新版本。 sudo yum update -y 2. 安装 MySQL 8 安装 MySQL 存储库 wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.r…...
gradle项目下载依赖报错
报错信息 Cannot resolve external dependency org.projectlombok:lombok:1.18.36 because no repositories are defined. Required by:project :Possible solution:- Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/…...
solon 集成 activemq-client (sdk)
原始状态的 activemq-client sdk 集成非常方便,也更适合定制。就是有些同学,可能对原始接口会比较陌生,会希望有个具体的示例。 <dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-client&l…...
LRU 缓存
LRU 缓存 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否…...
使用ZLMediaKit 开源项目搭建RTSP 服务器
ZLMediaKit 是啥? ZLMediaKit是国人开发的开源C流媒体服务器,同SRS一样是主流的流媒体服务器。 ZLToolKit是基于C11的高性能服务器框架,和ZLMediaKit是同一个作者,ZLMediaKit正是使用该框架开发的。 官网 ZLMediaKit开源地址&…...
数组晨考2day08
1.用一句话描述数组 在内存中 一块连续的空间 存储相同类型的数据 长度是固定的 2.数组各个类型的默认值 整数:0 浮点:0.0 布尔:false 字符:\u0000 其他:null 3.Arrays类toString,copyOf,sort&a…...
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》已于近日上市,该书由北京大学出版社出版。距离第1版上市已经过去二年半多。本文希望与读者朋友们分享下这本书里面的大致内容。 封面部分 首先是介绍封面部分。 《鸿蒙HarmonyOS应用开发从入门…...
麒麟操作系统服务架构保姆级教程(二)sersync、lsync备份和NFS持久化存储
如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情 上篇文章我们说到rsync虽好,但是缺乏实时性,在实际应用中,咱们可以将rsync写进脚本,然后写进定时任务去备份,如果每天凌晨1:00…...
将OBJ或GLB文件转换为3DTiles
格式简介 GLB文件(.GLB)代表“GL传输格式二进制文件”,是用于共享3D数据的标准化文件格式。确切地说,它可以包含有关三维模型、场景、模型、光源、材质、节点层次和动画的信息。 OBJ文件是一种文本文件格式,这就意味…...
Flink DataStream API 编程指南
(对于Flink的开发,建议使用Java,Scala的支持未来会被移除) DataStream是什么 DataStream API得名于DataStream这个Java类,可以将它们视为可以包含重复项的不可变数据集合。该数据可以是有限的,也可以是无限的,用于处理它们的API是相同的。 DataStream在用法上和普通的…...
tryhackme-Pre Security-HTTP in Detail(HTTP的详细内容)
任务一:What is HTTP(S)?(什么是http(s)) 1.What is HTTP? (HyperText Transfer Protocol)(什么是 HTTP?(超文本传输协议)) http是你查看网站的时候遵循的…...
探索 Plotly:一个强大的交互式数据可视化库
探索 Plotly:一个强大的交互式数据可视化库 数据可视化是数据分析过程中不可或缺的一部分,它能帮助我们更直观地理解数据,发现数据中的趋势和规律。在众多可视化库中,Plotly 是一个非常强大的工具,它以其交互式、易用…...
Oracle 查询表占用空间(表大小)的方法
目录 概述方法一:使用 dbms_space 包方法二:查询 dba_extents 视图方法三:查询 dba_segments 视图总结 1. 概述 在Oracle数据库管理中,了解特定表或索引所占用的空间对于性能调优、存储规划以及资源分配至关重要。本文档介绍了三…...
机器人国际会议IROS论文latex模板
机器人国际会议IROS论文latex模板 文档 root.tex 可以配置为 US Letter 纸或 A4。请注意以下重要行:\documentclass[letterpaper, 10 pt, Conference]{ieeeconf} % 如果需要 a4paper,请注释掉此行%\documentclass[a4paper, 10pt, Conference]{ieeeconf} …...
雪泥鸿爪和屈指可数
paw这个单词,表示“爪或手”,是一个和hoof相对的单词: hoof n.(马等动物的)蹄paw n.爪子;(动物的)爪;(人的)手 v.挠,抓;动手动脚 所以,当你理解了 paw 和 hoof 是相对的概念时&…...
2024年度个人总结
一转眼已经2024年度最后一个月了,今年基本没有在CSDN发布内容,包括其他平台(B站),倒是在其他地方(我的个人网站和V2EX)发布一些零碎的东西,主要是因为今年换了工作后太累了ÿ…...
ChatGPT接口测试用例生成的流程
通常,使用ChatGPT生成接口测试用例的流程可以分为以下关键步骤。 收集接口信息 收集接口的相关文档和信息,如接口名称、请求方法、请求参数、返回结果等。这些是ChatGPT生成测试用例需要的输入信息。 这一步骤的重要性不可忽视,因为它为Chat…...
【读书笔记】《论语别裁》真人和假人
一、内容摘要 在《论语别裁》第01章中,作者探讨了“真人”与“假人”的概念,借鉴于庄子的思想,强调真正有道德修养且懂得人生真谛的人被称为“真人”,而那些未达到道德最高标准的人则称为“假人。孔子所提倡的“学”不仅仅是书本…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
