前端不只是会写页面
打开某大厂的招聘页面,看到“全栈工程师”职位要求里写着:熟练掌握 React/Vue,熟悉组件化开发。别以为会拖拽几个 Element UI 组件就能过关。实际面试中,对方可能直接扔出一个问题:如何实现一个支持异步校验的表单?这背后考察的是对状态管理、Promise 控制流以及错误处理机制的理解。
后端能力要能撑起一个服务
光前端溜得飞起不行,大厂更看重你能不能独立搭起一套可用的服务。Node.js 是常见选项,但 Spring Boot、Go 也常被提及。比如要求你用 Express 写一个带 JWT 鉴权的 API 接口:
app.post('/login', async (req, res) => {
const { username, password } = req.body;
const user = await User.findOne({ username });
if (!user || !await bcrypt.compare(password, user.password)) {
return res.status(401).json({ error: 'Invalid credentials' });
}
const token = jwt.sign({ userId: user._id }, process.env.JWT_SECRET);
res.json({ token });
});
这种题目不难,但如果你连中间件顺序都搞错,基本当场出局。
数据库不是只会建表就行
招聘要求里总有一句“熟悉 MySQL/Redis”,可真问起来,往往是:订单系统并发超卖怎么防?缓存穿透怎么解决?有人一紧张就说“加锁”,但具体用 Redis 的 SETNX 还是分布式锁框架,有没有考虑过失效时间设置不当导致死锁,这些细节才是区分点。
运维和部署也得心里有数
别以为写完代码就完事了。CI/CD 流程、Docker 打包、K8s 基础概念,现在几乎成了标配。有次面试官问我:“如果线上接口突然变慢,你怎么一步步排查?” 从日志平台查异常,到监控看 QPS 和响应时间,再到数据库慢查询日志,路径要清清楚楚。不会这些,连问题出在哪都找不到。
项目经验要经得起深挖
简历上写“主导过用户中心重构”,结果一问技术选型原因、数据迁移方案、灰度发布策略,就开始含糊其辞,这种情况太常见。大厂喜欢追问细节,比如“为什么选 MongoDB 而不是 MySQL?” 答“因为文档结构灵活”只是及格,能说出读写性能差异、索引策略调整才算过关。
软技能其实也在考
跨团队协作、需求沟通、排期评估,这些看似和编码无关的事,在实际工作中天天碰。面试中让你模拟和产品经理讨论一个功能边界,答得好不好,直接影响印象分。技术再强,听不懂人话也不行。