2026-10-20 19:53:50
整体面试表现总结:面试节奏紧凑,以技术八股文为主,覆盖数据库、缓存、操作系统、网络、构建工具、搜索引擎、Java基础等多个方面,回答正确率约50%,面试官反馈基础需加强,项目缺乏技术深度。以下为详细解析:
一、技术问题解析1. MySQL
原子性(Atomicity):事务不可分割,要么全部成功,要么全部失败。通过Undo Log实现回滚。
一致性(Consistency):事务前后数据完整性约束(如外键、唯一键)保持不变。
隔离性(Isolation):并发事务互不干扰,通过锁机制(如行锁、表锁)或MVCC实现。
持久性(Durability):事务提交后数据永久保存,通过Redo Log实现崩溃恢复。
B+树索引:默认索引类型,适合范围查询。
哈希索引:仅支持等值查询,InnoDB的自适应哈希索引可自动生成。
全文索引:用于文本搜索,MyISAM支持全文索引,InnoDB 5.6+支持。
空间索引(R-Tree):用于地理数据存储,MyISAM支持。
违反最左前缀原则。
索引列参与运算(如WHERE YEAR(date) = 2023)。
使用NOT、!=、NOT IN等否定操作符。
使用LIKE以通配符开头(如LIKE '%abc')。
使用OR连接条件且未所有列加索引。
数据分布不均匀(如性别字段只有M/F)。
慢查询日志:开启slow_query_log,记录执行时间超过long_query_time的SQL。
性能监控工具:如Percona PMM、VividCortex。
type:访问类型(ALL全表扫描、index索引扫描、range范围扫描、ref非唯一索引查找、eq_ref唯一索引查找、const主键查找)。
key:实际使用的索引。
rows:预估扫描行数。
Extra:额外信息(如Using filesort、Using temporary)。
2. Redis
查询、插入、删除时间复杂度均为O(log n),接近平衡树。
实现简单,无需旋转树结构。
支持范围查询。
3. Linux
4. 计算机网络
重定向:客户端行为,URL变化,可跨域。
转发:服务器行为,URL不变,仅限同一应用内。
HTTP:明文传输,端口80,易被窃听或篡改。
HTTPS:HTTP+SSL/TLS加密,端口443,通过数字证书验证服务器身份。
对称加密:加密解密使用相同密钥(如AES、DES),效率高但密钥分发困难。
非对称加密:公钥加密、私钥解密(如RSA、ECC),安全性高但效率低,常用于密钥交换或数字签名。
5. MAVEN
6. Elasticsearch
倒排索引:核心数据结构,记录词项到文档的映射。
正排索引:记录文档到词项的映射(ES默认不存储,需额外配置)。
分词:将文本拆分为词项(如"Hello world" → ["hello", "world"])。
倒排列表:记录词项出现的文档ID及位置信息。
倒排索引:快速关键词检索。
分片(Shard):数据分布式存储,并行查询。
缓存:查询缓存、文件系统缓存(os cache)。
近实时(NRT):refresh机制使数据近实时可搜索。
7. Java
封装:隐藏内部实现细节,提供公共接口(如private字段+getter/setter)。
继承:子类复用父类属性和方法(如extends)。
多态:同一方法调用因对象类型不同表现不同行为(如方法重写、接口实现)。