中小厂面试流程
约 985 字大约 3 分钟
2026-04-23
一、面试流程
小厂通常流程为 笔试 + 1~2轮技术面 + HR面,比大厂少一轮技术面。
| 环节 | 小厂特点 |
|---|---|
| 笔试 | 30分钟~1小时,部分公司甚至省略 |
| 技术面 | 通常1 |
| HR面 | 聊薪资、期望、入职时间 |
面试比例大致为:10% 手写代码 + 20% 基础八股 + 40% 深挖项目 + 20% 开放问题 + 10% 聊人生
二、笔试形式
常见题型组合
- 选择题(10~20道):Java基础 + 数据库基础 + Spring基础 + 简单数学逻辑题
- 简答题(3~5道):概念辨析、原理阐述
- 编程题(1
2道):LeetCode easymid难度 - 场景题(1道):系统设计或业务实现思路
真实笔试示例
某小厂(50人左右)笔试:
- 20道选择题 + 4道简答(
finally/final/finalize区别、Java数据类型、值传递与引用传递、ArrayList/Vector/LinkedList区别)+ 4道编程(手写单例模式、字符串格式化输出、文件目录遍历、SQL两表联查)
三、面试高频题目分类
1. Java基础(必考)
HashMap底层原理、扩容机制、线程安全性ConcurrentHashMap如何保证线程安全==和equals的区别String/StringBuilder/StringBuffer区别final/finally/finalize区别- 反射的理解和应用场景
- JDK动态代理 vs CGLIB动态代理
- Java 8新特性(Lambda、Stream、Optional)
2. 并发编程(高频)
- 线程池核心参数、执行流程、拒绝策略
synchronized与volatile的区别ThreadLocal原理及内存泄漏问题- CAS原理、ABA问题
- 乐观锁与悲观锁
- 死锁的产生与规避
3. 数据库/MySQL(重点)
- InnoDB vs MyISAM 区别
- 事务四大特性(ACID)
- 四种事务隔离级别,MySQL默认哪个
- 索引类型、最左前缀原则、索引失效场景
- 间隙锁、MVCC原理
- SQL优化经验
4. 框架(Spring/SpringBoot)
- IOC和AOP的理解
@Controllervs@RestController- 声明式事务 vs 编程式事务
- Spring Bean生命周期
- SpringBoot自动装配原理
5. 中间件
- Redis:数据类型、持久化(RDB/AOF)、缓存穿透/击穿/雪崩、分布式锁
- MQ:使用场景、消息可靠性、幂等性
- Nacos:注册中心 + 配置中心
6. 项目深挖(占比最大)
- 简历上写的项目会逐行追问
- 为什么用这个技术方案?有没有考虑过替代方案?
- 遇到了什么难点?怎么解决的?
- 系统的QPS、数据量、架构图
7. 算法(少量)
- 小厂算法要求较低,通常LeetCode easy~mid
- 常见:反转链表、二分查找、排序算法、字符串操作
- 部分小厂不考算法,全程问项目+八股
四、小厂 vs 大厂面试差异
| 维度 | 小厂 | 大厂 |
|---|---|---|
| 面试轮数 | 1~2轮技术面 | 3轮技术面 |
| 算法要求 | easy~mid,甚至不考 | mid~hard,必考 |
| 八股深度 | 偏基础,不追太深 | 追问很深,要求底层源码 |
| 项目权重 | 占比最大(40%+) | 占比适中 |
| 侧重点 | 能干活、上手快 | 基础扎实、潜力大 |
| 笔试 | 简单,部分无笔试 | 标准化在线笔试,通过率25~30% |
五、备考建议
- 项目经历要烂熟于心——小厂最看重实战能力,简历上的项目要能说出每个细节
- 八股文覆盖核心模块——Java基础、集合、并发、JVM、MySQL、Redis、Spring
- 算法刷LeetCode前300道的easy~mid即可
- 了解微服务基本概念——Nacos、Gateway、Feign等,即使没深度用过也要能说出基本概念
- 准备一个好问题反问面试官——体现主动性和思考深度
Sources:
