随笔分类 - 面试
摘要:数据结构模块 键值对字符串 char* 的不足: 操作效率低:获取长度需遍历,O(N)复杂度 二进制不安全:无法存储包含 \0 的数据 SDS 的优势: 操作效率高:获取长度无需遍历,O(1)复杂度(通过len和alloc,快速获取字符长度大小以及跳转到字符串末尾) 二进制安全:因单独记录长度字段,
阅读全文
摘要:Java 基础 知识体系 Questions 1. HashMap 1.8与1.7的区别 | | 1.7 | 1.8 | | : : | : : | : : | | 底层结构 | 数组+链表 | 数组+链表/红黑树 | | 插入方式 | 头插法 | 尾插法 | | 计算hash值 | 4次位运算+5
阅读全文
摘要:操作系统 知识体系 Questions 1.进程和线程的区别 进程是系统进行资源分配和调度的基本单位; 线程是CPU调度和分派的基本单位。 每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行
阅读全文
摘要:计算机网络 知识体系 Questions 1.计算机网络分层的优点和缺点 优点 各层之间是独立的; 灵活性好; 结构上可分割开; 易于实现和维护; 能促进标准化工作。 缺点: 降低效率; 有些功能会在不同的层次中重复出现,因而产生了额外开销。 2.计算机体系结构 3.从输入网址到获得页面的过程 浏览
阅读全文
摘要:基础架构 连接器 建立连接成本过高,尽量使用长连接,维护长连接的方式有两种:定期断开长连接或定期执行mysql_reset_connection 来重新初始化连接资源 查询缓存 (key-value形式)key是查询语句,value是查询结果,查询缓存命中率不高,弊大于利,在mysql8.0已被移除
阅读全文
摘要:你了解 Java 应用开发中的注入攻击吗? 注入式(Inject)攻击是一类非常常见的攻击方式,其基本特征是程序允许攻击者将不可信的动态内容注入到程序中,并将其执行,这就可能完全改变最初预计的执行过程,产生恶意效果。 下面是几种主要的注入式攻击途径,原则上提供动态执行能力的语言特性,都需要提防发生注
阅读全文