计算机网络
-
HTTP 缓存
-
你知道 302 状态码是什么嘛?你平时浏览网页的过程中遇到过哪些 302 的场景?
-
HTTP 常用的请求方式,区别和用途?
-
HTTPS 是什么?具体流程
-
三次握手和四次挥手
-
你对 TCP 滑动窗口有了解嘛?
-
WebSocket与Ajax的区别
-
了解 WebSocket 嘛?
-
HTTP 如何实现长连接?在什么时候会超时?
-
TCP 如何保证有效传输及拥塞控制原理。
-
TCP 协议怎么保证可靠的,UDP 为什么不可靠?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
算法
-
链表
-
字符串
-
数组问题
-
二叉树
-
排序算法
-
二分查找
-
动态规划
-
BFS
-
栈
-
DFS
-
回溯算法
生成HD钱包及根据种子生成子私钥的步骤:
-
首先,生成一个
助记词
(BIP39 Mnemonic) -
该助记词使用PBKDF2转化为
种子
(BIP39 Seed) -
种子用于使用HMAC-SHA512生成
根私钥
(BIP32 Root Key) -
通过根私钥生成
子私钥
(参见BIP32),其中节点布局由BIP44设置
可以看出BIP39生成助记词的过程非常重要,如果一个HD钱包的助记词是12个有序单词, 单词拥有2048个不同单词的单词库中随机选择, 那么根据排列组合公式,n! / (n-r)!, 即2048!/ (2048-12)! = 5.27e+39 。地球上的沙子数量大概是1e18, 如果每秒生成一百万个助记词, 那么一年可以生成 1000000_60_60_24_365 = 3.15e+13, 大概需要 1.67e+26年才能遍历所有的助记词
HD钱包生成工具
除了各主流钱包均加入了对BIP39规则的支持, github上有很多HD钱包生成工具,例如:https://github.com/iancoleman/bip39, 建议下载下来后在断网环境下使用
使用HD钱包的好处
备份更容易
传统钱包的问题是一个钱包可能存有一堆密钥地址,每个地址都有一些比特币。这样备份钱包的时候,需要备份所有的密钥。但如果之后生成了一个新地址,你就需要重新备份一次。事实上,每次生成新地址的时候,你都需要做一次备份。 HD钱包允许你从一个主(根)密钥创建海量的子密钥。这意味着,一旦你控制了主密钥,你就可以生成所有的子密钥,主密钥和子密钥形成树状结构。所以你就不需要频繁的备份钱包,你只需要在创建钱包的时候备份一次就可以了,因为你可以从主密钥重新创建所有的子密钥。
私钥离线存放更安全
TCP协议
- TCP 和 UDP 的区别?
- TCP 三次握手的过程?
- 为什么是三次而不是两次、四次?
- 三次握手过程中可以携带数据么?
- 说说 TCP 四次挥手的过程
- 为什么是四次挥手而不是三次?
- 半连接队列和 SYN Flood 攻击的关系
- 如何应对 SYN Flood 攻击?
- 介绍一下 TCP 报文头部的字段
- TCP 快速打开的原理(TFO)
- 说说TCP报文中时间戳的作用?
- TCP 的超时重传时间是如何计算的?
- TCP 的流量控制
- TCP 的拥塞控制
- 说说 Nagle 算法和延迟确认?
- 如何理解 TCP 的 keep-alive?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
浏览器篇
- 浏览器缓存?
- 说一说浏览器的本地存储?各自优劣如何?
- 说一说从输入URL到页面呈现发生了什么?
- 谈谈你对重绘和回流的理解
- XSS攻击
- CSRF攻击
- HTTPS为什么让数据传输更安全?
- 实现事件的防抖和节流?
- 实现图片懒加载?
- 说一说从输入URL到页面呈现发生了什么?
- 谈谈你对重绘和回流的理解
- XSS攻击
- CSRF攻击
- HTTPS为什么让数据传输更安全?
- 实现事件的防抖和节流?
- 实现图片懒加载?
[外链图片转存中…(img-L3yROLBD-1715023102642)]