Redis 的 intset 和 hashtable 编码转换条件
pren 发布于 2026-09-22
在 Redis 的 Set 类型底层实现中,intset 和 hashtable 是两种最常见的编码方式。理解它们之间的转换条件,不仅是面试中的高频考点,也是掌握 Redis 内存优化思想的关键。本文将从底层结构出发,系统梳理 intset 与 hashtable 的转换触发条件...
阅读(3)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Redis 的 Set 类型底层实现中,intset 和 hashtable 是两种最常见的编码方式。理解它们之间的转换条件,不仅是面试中的高频考点,也是掌握 Redis 内存优化思想的关键。本文将从底层结构出发,系统梳理 intset 与 hashtable 的转换触发条件...
阅读(3)评论(0)赞 (0)
pren 发布于 2026-09-22
文件上传是 Web 应用中最常见的功能之一,也是安全漏洞的高发区。在 PHP 面试中,"如何安全处理文件上传"几乎是一道必考题。很多候选人只能答出"检查扩展名"或"用 moveuploadedfile",但真正安全的文件上传处理远不止这些。本文将从攻击面出发,系统梳理 PHP 文...
阅读(7)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Linux 后端开发面试中,I/O 模型几乎是绕不开的考点。很多候选人对这几个概念背得滚瓜烂熟,但一旦面试官追问“select 和 epoll 的本质区别是什么”“异步 I/O 到底异步在哪里”,就容易卡壳。这篇文章从面试实战角度出发,帮你把这四种 I/O 模型讲清楚、讲透彻...
阅读(3)评论(0)赞 (0)
pren 发布于 2026-09-22
Redis 作为一款高性能的内存数据库,其内存管理机制一直是面试中的高频考点。很多开发者在使用 Redis 时,只关注它的命令和数据结构,却忽略了底层的内存管理细节。其中,对象共享机制和 refcount 引用计数是理解 Redis 内存优化的关键。本文将从底层实现出发,带你彻底...
阅读(5)评论(0)赞 (0)
pren 发布于 2026-09-22
在 PHP 面试中,Web 安全几乎是绕不开的核心考点。SQL 注入、XSS、CSRF 作为最常见的三类安全漏洞,不仅考察候选人对攻击原理的理解,更考验其在真实项目中的防御实践能力。本文将从攻击原理出发,逐一剖析这三类漏洞的防御方案,并给出可直接落地的 PHP 代码示例。 一、S...
阅读(6)评论(0)赞 (0)
pren 发布于 2026-09-22
Redis 作为内存数据库,内存管理是运维和面试中的高频考点。其中 maxmemory 和 maxmemorypolicy 两个配置项直接决定了 Redis 在内存不足时的行为,理解它们的工作原理,是避免线上故障的关键。 为什么需要设置 maxmemory Redis 默认对内存...
阅读(4)评论(0)赞 (0)
pren 发布于 2026-09-22
在网络编程和高并发服务器开发中,I/O 多路复用是绕不开的核心话题。无论是准备跳槽面试,还是日常排查线上服务瓶颈,select、poll、epoll 这三者之间的区别都是高频考点。本文将从底层数据结构出发,逐步拆解它们的工作机制,并给出清晰的性能对比和选型建议。 为什么需要 I/...
阅读(4)评论(0)赞 (0)
pren 发布于 2026-09-22
一、为什么需要 opcache? PHP 作为解释型语言,传统执行流程是:读取 .php 源文件 → 词法分析 → 语法分析 → 编译成 opcode → Zend 虚拟机执行 opcode。每次请求都会重复这一过程,其中编译阶段消耗大量 CPU 时间。 opcache 扩展的核...
阅读(6)评论(0)赞 (0)
pren 发布于 2026-09-22
在 PHP 面试中,jsonencode 和 serialize 的区别是一个高频考点。很多候选人对这两个函数的认知停留在“一个转 JSON,一个转 PHP 专属格式”的层面,但当面试官继续追问“什么时候用哪个”“为什么缓存里推荐 JSON”“为什么队列里有时必须用 serial...
阅读(6)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Linux 后端开发面试中,epoll 几乎是绕不开的话题。面试官通常会先问你 epoll 和 select/poll 的区别,然后紧接着追问一句:“水平触发和边缘触发有什么区别?实际项目中你怎么选?”很多人能背出定义,却在“怎么选”这个问题上卡壳。这篇文章就从原理到实战,把...
阅读(4)评论(0)赞 (0)