
面试必备
文章平均质量分 77
懂点技术的abin
需求定制开发vx:abinabincode
展开
-
O(n)复杂度实现寻找数组第k小的数(快速选择算法)
非堆排序实现,利用快速排序思想实现的快速选择。原创 2025-04-11 22:03:20 · 171 阅读 · 0 评论 -
使用两个栈实现队列
使用两个栈(stack1和stack2)来实现一个队列。stack1用于入队操作,stack2用于出队操作。当需要出队时,如果stack2为空,则将stack1中的所有元素弹出并压入stack2,这样stack2的栈顶元素就是队列的头部元素。最坏情况:O(n),当stack2为空且需要将stack1中的所有元素转移到stack2时。enqueue(T item):O(1),直接将元素压入stack1。最好情况:O(1),当stack2不为空时。peek():与dequeue()相同。原创 2025-04-01 12:17:15 · 731 阅读 · 0 评论 -
TCP 三次握手与四次挥手深度解析(面试高频)
问题:为什么必须是三次握手?两次或四次会有什么问题?三次握手流程:fill:#333;SYN=1, seq=x (我想连接)SYN=1, ACK=1, seq=y, ack=x+1 (我准备好了,你呢?ACK=1, seq=x+1, ack=y+1 (我也好了,可以传输啦~)原创 2025-04-01 12:04:33 · 785 阅读 · 0 评论 -
深入理解Java中的HashMap:原理、实现、常见面试题
HashMap是Java集合框架中最重要且使用最频繁的Map接口实现类,基于哈希表实现,提供高效的键值对存储与查询能力。其核心特点包括:非同步:线程不安全,多线程环境下需使用ConcurrentHashMap允许null键值:可存储一个null键和多个null值无序存储:迭代顺序不保证与插入顺序一致动态扩容:当元素数量超过阈值时自动扩容。原创 2025-04-01 11:50:28 · 568 阅读 · 0 评论 -
Redis数据类型
性能极高数据类型丰富,单键值对最大支持512M大小的数据简单易用,支持所有主流编程语言支持数据持久化、主从复制、哨兵模式等高可用特性。原创 2025-03-10 20:57:55 · 581 阅读 · 0 评论