面试题:为什么 li 与 li 元素之间有看不见的空白间隔?如何解决?
这是一个非常经典且在实际开发中频繁遇到的 HTML/CSS 问题。这个问题的本质是HTML 中的空白字符(whitespace)在特定布局模式下被渲染成了可视的空白。 一、问题原因 <li> 元素之间出现看...
面试题:JDK 1.8 对 HashMap 除了红黑树还进行了哪些改动?
在 JDK 1.8 中,除了引入红黑树(用于优化链表过长时的查询效率)外,HashMap 还进行了多项重要改动,以下是主要的优化点: 1. 哈希函数的优化 改进计算方式:在 JDK 1.7 中,HashMap 的哈希值...
面试题:JavaScript 的数组有哪些原生方法?
JavaScript 的数组提供了丰富的原生方法,可以分为几大类:增删改查、遍历、转换、搜索、排序等。以下是常用方法的分类总结: 一、添加/删除元素(改变原数组) 这些方法会直接修改(mutate)原...
面试题:JavaScript 中 + 操作符什么时候用于字符串的拼接?
在 JavaScript 中,+ 操作符的行为是动态的,它既可以用于数值相加,也可以用于字符串拼接。其具体行为取决于操作数的数据类型。 核心规则 当 + 操作符的任意一个操作数是字符串(或可以被转换...
面试题:Java 中什么情况会导致死锁?如何避免?
在Java中,死锁是指两个或多个线程处于互相等待的状态,每个线程都在等待其他线程释放资源,从而导致所有涉及的线程都无法继续执行。这种情况通常发生在多线程环境下,当线程需要同时获取多个锁...
面试题:Redis 主从复制的常见拓扑结构有哪些?
Redis 主从复制的常见拓扑结构主要有以下三种,每种结构适用于不同的业务场景,具有独特的优缺点: 1. 一主一从结构 描述:最简单的主从结构,一个主节点(Master)对应一个从节点(Slave)。主...
面试题:为什么 JDK 1.8 对 HashMap 进行了红黑树的改动?
JDK 1.8 对 HashMap 引入红黑树的主要目的是优化极端情况下哈希冲突导致的性能问题,通过将链表转换为红黑树,将最坏情况下的时间复杂度从 O(n) 降低到 O(log n),从而显著提升性能。以下是详细...
面试题:active-class 是哪个 Vue 组件的属性?
active-class 是 <router-link> 组件的属性。 详细说明: 所属组件:<router-link> 是 Vue Router 提供的一个全局组件,用于在应用中创建导航链接。 作用:active-class 属性用于指定...
面试题:如何使用 React 开发任务记录网站?实现思路是什么?
开发一个任务记录网站(To-Do List)是 React 的经典入门项目,它涵盖了组件化、状态管理、用户交互等核心概念。以下是详细的实现思路和步骤: 一、功能需求分析 一个基础的任务记录网站通常包...
面试题:什么是 Hash 碰撞?怎么解决哈希碰撞?
什么是哈希碰撞? 哈希碰撞是指不同的输入通过哈希函数计算后得到了相同的哈希值的情况。在哈希表(如 Java 中的 HashMap)中,键(Key)首先会被转换成一个哈希码(hashCode),然后这个...










