蔚来后端校招面经
一位朋友前段时间的蔚来面经,分享一下。
一面
一面简单的有点让我难以置信,确定这是技术面试?
- 自我介绍
- 问项目,说说亮点啥的,过程中他可能对你说的内容有点疑惑,问问为什么,但都不深,点到为止
- 八股没有问几个,一个 JVM 内存区域,一个 LinkedList 实现,一个 ReentrantLock 公平锁和非公平锁
- 算法这块因为我做的是缓存项目,所以面试官让我写的 lru 。如果有人也做类似的项目,强烈建议把 lru 这个题做到会默写的程度,面试中碰到的概率非常大!
二面
二面和一面比难度可以说是天上和地下,主要在于他问的项目相关的内容我无法理解他的意思,我至今不能理解。
- 开头就问项目架构,我迷迷糊糊一顿说根本不知道说什么,他的意思就是让我站在业务的角度思考,我的项目在业务角度各个模块的联系啥的,反正就是一个字,业务。我前面后面说的一直都是技术好像,后来他就放弃了。导致我现在对业务这个词失去了认知。。。
- 问我项目是单体还是微服务,我说算是分布式吧,后端用 SpringBoot,前端 Vue,把一部分业务拆出来单独最为一个系统,然后一顿唠发现拆出来的那部分用的了后端主体的数据库,后面大致意思就算单体,而且项目架构不合理。
- JVM 内存区域(两次问到,我顺便说了说永生代和元空间,两次面试看面试官表情应该算半拉亮点)
- CMS 收集器收集过程
- GC Roots 是什么?主要用来做什么?
- Spring Bean 的生命周期
- Spring 循环依赖,Spring 为何需要三级缓存解决循环依赖,而不是二级缓存?我说了自己理解,但是看他样子这不是他想要的答案。
- 算法就是个回溯全排列。
- 反问面试官我有什么不足?面试官说我我能力挺强要是平时站在业务的角度去思考问题会有很大的进步(又是业务。。。我听到后有点想抹脖子了),还有就是开发经验不足。。
一些评论
球友的评论质量也非常高,干货很多!
面试之前一定要重视项目经历,吃透项目。你可以从下面几个方面来准备项目经历:
- 你对项目整体设计的一个感受(面试官可能会让你画系统的架构图)
- 你在这个项目中你负责了什么、做了什么、担任了什么角色。
- 从这个项目中你学会了那些东西,使用到了那些技术,学会了那些新技术的使用。
- 你在这个项目中是否解决过什么问题?怎么解决的?收获了什么?
- 你的项目用到了哪些技术?这些技术你吃透了没有?举个例子,你的项目经历使用了 Seata 来做分布式事务,那 Seata 相关的问题你要提前准备一下吧,比如说 Seata 支持哪些配置中心、Seata 的事务分组是怎么做的、Seata 支持哪些事务模式,怎么选择?
- 你在这个项目中犯过的错误,最后是怎么弥补的?
如果你连项目的技术架构都没搞清楚的话,那面试大概率就 G 了。
最后,希望大家都能找到满意的工作!
·········· END ··············
推荐阅读:
喜欢我可以给我设为星标哦
评论