高频面试题:实现int sqrt函数

每周技术面试高频题汇总(2026.05.26-2026.06.02)

根据过去一周各大技术社区(CSDN、LeetCode、掘金、博客园等)的热议内容,本文精选10道高频面试题,涵盖算法、系统设计、数据库、网络四大核心领域,每道题均标注考察点与解题思路,助力求职者高效备战。


一、算法类面试题

1. 实现 int sqrt(int x) 函数

考察点:二分查找、数学优化、边界条件处理

题目描述:计算并返回 x 的平方根,x 为非负整数,结果只保留整数部分。

解题思路

  • 方法一(二分查找):在 0, x 区间内二分查找,判断 mid*mid 与 x 的大小关系
  • 方法二(数学公式) :利用 exp(0.5 * log(x)) 快速估算,再验证相邻值
  • 关键边界:x=0 时直接返回 0;注意整数溢出问题,使用 long long 进行中间计算

参考代码

cpp 复制代码
class Solution {
public:
    int mySqrt(int x) {
        if (x == 0) return 0;
        int ans = exp(0.5 * log(x));
        return ((long long)(ans + 1) * (ans + 1) <= x ? ans + 1 : ans);
    }
};

2. 被围绕的区域(LeetCode 130)

考察点:DFS/BFS、边界处理、逆向思维

题目描述:给定 m x n 矩阵,包含 'X' 和 'O',将所有被 'X' 围绕的 'O' 填充为 'X'。

解题思路

  • 逆向思考:不被围绕的 'O' 一定与边界相连
  • 三步法
    1. 从边界 'O' 出发,BFS/DFS 标记所有相连的 'O' 为临时标记 'A'
    2. 遍历矩阵,将剩余 'O' 改为 'X'
    3. 将 'A' 恢复为 'O'
  • 时间复杂度:O(m*n),每个格子最多访问一次

3. VLA模型动作生成模块设计

考察点:具身智能、多模态融合、动作规划

题目描述:说明VLA模型中动作生成模块的核心功能,对比2种主流方法并说明选型逻辑。

解题思路

  • 核心功能:接收融合特征→生成连续动作序列→保障动作合规性

  • 主流方法对比

    方法 优点 缺点 适用场景
    基于策略梯度 端到端训练,适应性强 样本效率低,训练不稳定 复杂动态环境
    基于轨迹优化 精度高,可解释性强 计算开销大,实时性差 精密操作任务
  • 选型逻辑:人形机器人需兼顾精度与实时性,建议采用混合架构


二、系统设计类面试题

4. AI Agent 项目整体流程设计

考察点:Agent架构、状态管理、多Agent协作

题目描述:设计一个AI Agent项目的整体流程,说明各模块职责与通信机制。

解题思路

  • 五段式架构:意图识别→计划生成→工具执行→结果聚合→反思
  • 状态存储
    • 短期会话:Redis Hash(TTL 30分钟)
    • 长期记忆:Postgres + 向量库双写
  • 多Agent协作:Planner + Executor + Critic 三角色,共享状态对象,避免直接对话
  • 防死循环:硬步数上限(10-15步)+ 去重机制 + 失败工具降权

5. 高并发系统架构设计(软考架构师)

考察点:分布式架构、缓存策略、数据库优化

题目描述:设计支持大量用户同时访问的在线购物系统,保证高并发处理能力。

解题思路

  • 架构层面:采用微服务架构,负载分散到多台服务器
  • 数据库层面:分库分表,读写分离,主从复制
  • 缓存层面:Redis缓存热点数据,减轻数据库压力
  • 安全层面:SSL/TLS加密通信,数据库加密存储,访问控制与身份认证

三、数据库类面试题

6. InnoDB与MyISAM存储引擎区别

考察点:存储引擎特性、事务支持、应用场景

解题思路

特性 InnoDB MyISAM
事务支持 支持ACID 不支持
锁粒度 行级锁 表级锁
外键 支持 不支持
崩溃恢复 支持 不支持
适用场景 高并发写操作 读多写少场景

核心结论:MySQL 5.5+ 默认使用 InnoDB,MyISAM 已逐步淘汰。


7. char与varchar的区别及varchar(5)与varchar(200)存储差异

考察点:字符串类型、存储机制、性能优化

解题思路

  • char(n):定长字符串,不足补空格,查询速度快,适合固定长度字段(手机号、身份证号)
  • varchar(n):变长字符串,实际占用=真实长度+1/2字节,适合长度不固定字段(用户名、地址)
  • 经典坑点 :varchar(5)和varchar(200)存储"abc"时,实际占用字节数完全相同(3+1字节),性能几乎无区别

8. MySQL索引底层数据结构及B+树优势

考察点:索引原理、数据结构选型、磁盘IO优化

解题思路

  • 为什么用B+树不用B树
    1. 非叶子节点只存索引,树高度更低,磁盘IO次数更少
    2. 叶子节点是双向链表,支持范围查询
    3. 查询效率稳定,所有查询都要走到叶子节点
  • 为什么不用哈希:不支持范围查询、无序、哈希冲突问题
  • 为什么不用红黑树:树高过高,千万级数据时磁盘IO次数过多

四、网络类面试题

9. HTTP与HTTPS区别及SSL/TLS握手过程

考察点:网络安全、加密协议、证书验证

解题思路

  • 核心区别

    特性 HTTP HTTPS
    传输方式 明文 加密
    默认端口 80 443
    证书 不需要 需要CA签发
    安全性 高(加密+身份认证+完整性校验)
  • SSL/TLS握手流程

    1. 客户端发送支持的TLS版本、加密套件、随机数
    2. 服务端返回选择的TLS版本、加密套件、随机数和数字证书
    3. 双方通过密钥交换算法生成会话密钥
    4. 后续HTTP数据使用会话密钥进行对称加密

10. HTTP/1.0、HTTP/1.1、HTTP/2、HTTP/3的区别

考察点:协议演进、性能优化、队头阻塞解决

解题思路

版本 核心特性 解决的问题
HTTP/1.0 短连接 基础版本
HTTP/1.1 长连接、Host头、断点续传 减少连接建立开销
HTTP/2 二进制帧、多路复用、头部压缩 解决HTTP层队头阻塞
HTTP/3 基于QUIC(UDP) 解决TCP层队头阻塞,握手更快

总结与建议

本周技术面试热点呈现以下趋势:

  1. 算法题:LeetCode中等难度题目仍是主流,重点考察二分查找、DFS/BFS等基础算法
  2. AI方向:VLA模型、AI Agent成为新兴热点,考察多模态融合与系统架构设计能力
  3. 数据库:MySQL索引原理、存储引擎对比是必考内容,需深入理解B+树底层机制
  4. 网络:HTTP/HTTPS、TLS握手、协议演进是后端开发高频考点

备考建议

  • 算法题注重边界条件与时间复杂度分析
  • 系统设计题需结合实际场景,体现工程思维
  • 数据库与网络题需掌握底层原理,避免死记硬背
  • 关注AI与大模型相关新技术,保持知识更新

参考来源

相关推荐
黄敬峰9 分钟前
一文搞懂 Agentic RAG:用 LangGraph 打造会思考的智能检索架构
面试
晚安日记wanna1 小时前
SSR 为什么不适合登录态从水合冲突到缓存串号
前端·react.js·面试
晚安日记wanna1 小时前
压测 TPS 卡在 800CPU 只跑四成六步定位法
运维·面试·测试
晚安日记wanna1 小时前
批量请求失败只弹一个 Toast面试官想听五层
前端·面试·架构
晚安日记wanna1 小时前
TS const 类型参数一道面试题的四层追问
前端·面试·typescript
晚安日记wanna1 小时前
大表 DDL 面试翻车现场Online DDL 为什么还会锁死业务
数据库·面试·架构
晚安日记wanna1 小时前
MySQL 主从延迟别只答并行复制
数据库·面试·架构
SamDeepThinking1 小时前
Java 17内存屏障:为什么需要,怎么用
java·后端·面试
CC数分1 小时前
2026年金融数据分析岗位需要哪些工具?2027届秋招备考指南
面试·数据分析
ocean21034 小时前
2025-2026年C语言专题面试高频知识点洞察
c语言·面试·面试经验