蔚来公司后端招聘面试经验:从自我介绍到技术挑战的全程分享
一位朋友近日分享了他在蔚来的面试经历,现整理如下。
面试第一轮
第一轮面试让我大吃一惊,难以置信这真的是一场技术面试。
- 自我介绍。
- 讨论项目,分享其亮点。在此过程中,面试官对我的描述有些疑惑,提出了一些问题,但都不深入,停留在表面。
- 几个经典的知识点提问,包括JVM内存区域、LinkedList的实现以及ReentrantLock的公平与非公平锁。
- 在算法环节,由于我涉及的是缓存项目,面试官让我编写LRU算法。如果有同样经验的朋友,我强烈建议将LRU算法熟练掌握,面试中遇到的可能性极大!
面试第二轮
相比于第一轮,第二轮的难度可谓天差地别,主要是面试官询问项目相关内容时,我对其意图感到困惑,至今仍无法理解。
- 面试一开始就询问项目架构,我一时无言以对,面试官的意图是让我从业务的角度分析,讨论项目各个模块之间的联系,结果我始终在讲技术,最后他也放弃了这个话题。这让我对“业务”这个词的理解产生了困惑。
- 面试官问我项目是单体还是微服务。我回答说是分布式的,后端使用SpringBoot,前端用Vue,拆分了一部分业务为独立系统,但最终他认为这仍然算是单体架构,项目架构显得不够合理。
- JVM内存区域的问题又被问到,我顺便提到了永久代和元空间,面试官对此的反应似乎是认可的。
- 有关CMS收集器的收集过程。
- GC Roots的概念及其主要用途。
- Spring Bean的生命周期。
- 闻到Spring循环依赖时,面试官询问为何需要三级缓存而不是二级缓存。我给出自己的理解,但看他神情似乎并不是他想要的答案。
- 算法环节涉及回溯全排列。
- 最后我询问自己有哪些不足之处,面试官表示我能力很强,但如果能时时站在业务的角度思考问题,会有很大的进步。
面试总结与建议
朋友的评论质量也相当高,分享了许多实用的信息。
![图
在面试之前,务必重视项目经历,深入理解项目。你可以从以下几个方面准备:
- 对项目整体设计的感受(面试官可能会要求你绘制系统架构图)。
- 在项目中你负责的内容、执行的任务及担任的角色。
- 从该项目中学到的知识、使用的技术及新技术的掌握。
- 在项目中遇到过什么问题?是如何解决的?有什么收获?
- 你的项目使用了哪些技术?是否真正理解这些技术?举例来说,如果项目中用到了Seata进行分布式事务,相关的问题如Seata支持哪些配置中心、事务分组的处理方式、支持的事务模式及选择标准都需提前准备。
- 反思项目中犯过的错误以及最终是如何弥补的。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果