蔚来后端实习 6.8 一面 40min
一开始面试官就先介绍了蔚来在后端这个方面的主要业务,一开始以为是做erp系统的,但面试官提到ERP是个比较旧的东西了,现在主要做的内容是···hh没怎么听懂。然后就到我这边。
- 开始的自我介绍
- 面试官让我挑一个项目讲继续深入问,我就选了自己写的博客网站系统
- 博客中的登录机制实现中,对称加密和非对称加密的区别是什么
- 为什么选用Redis来存储登录机制中的Token,而不用Tomcat来存储(我往分布式,解耦降低系统复杂性的方向讲和Redis本身的性能上讲,面试官说大部分答对了,但有些没答对,具体是什么记不清楚了)
- 那Redis当中有哪些数据类型(我说出来后面试官就没多问了,可能以为我了解不深,真应该主动继续往下说这些数据类型用到的数据结构以及各自的性能表现)
- Redis还可以用来做什么(分布式锁)
- 分布式锁怎么实现(这一块之前详细看过,没来得及复习,基本不记得了,我只能说忘了)
- 面试官突然说先简单了解一下实习的情况吧,问我能什么时候来实习,实习多久,每周工作多少天,以及线上还是线下。我有点懵,这么快就要结束了吗?要凉了吗?还好继续问下去了。
- 说说你在大学中学到的这些课程对你未来工作的帮助吧(大学的课程太简单了,用不到工作上,我说这些内容大部分是基于自学的)
- 你认为来公司的期望能了解什么(了解真正的企业开发流程,以及一些不现在不太熟悉的技术栈,比如分布式、高并发等等)
- HTTP协议中常见的状态码(200,3xx,404,403,500)
- 做过版本控制吗?(我只知道用Git,但还没用过)
- 既然学过Springboot,那么可以简单说说常见的设计模式吗?(单例模式,策略模式,工厂模式,代理模式)
- 那就挑单例模式讲讲吧,代码实现就不写了(我更期望写写单例模式实现,实现代码应该还记得)
- 按照你说的,如果只是简单的通过类静态变量实现单例模式,在高并发下、反射或者序列化的情况下可能会破坏单例模式本身,其中的反射我觉得不是我们应该考虑的,因为反射都是人为做的,既然是人为去破坏,那一定有他的道理。(这一点我不太懂,Springboot中到处都是反射,感觉框架本身也可能会通过反射来破坏我们自己实现的单例模式)
- 那你继续讲讲还有什么更详细的单例模式实现方案吗?还好继续问了,还有一些内容我还没说完。一开始我提到了用ConcurrentHashMap来实现单例模式,但面试官提醒单例模式的主要核心是在单例对象的初始化阶段,我才想起来书上代码案例,在初始化阶段简单判断一下单例对象是否存在,然后再用synchronized同步代码块再保证一下,实现双保险保证单例模式的实现。
- 有没有做过技术选型(说没有,其实做过,但没有一个成形的思路,说不出来)
- Linux用过吧?(我用过vim命令这些),那查找第二十行的某个字符的命令是什么(没用过这么细,后悔没多尝试尝试),那vim命令里面过什么(wq强制保存等这些命令)
- 容器用过吗?比如k8s(没有,容器只知道docker,还没用过)
- 好,接下来考考你的算法,LeetCode刷过题吧(面了这么多家公司,终于有一家当场手撕代码了)
手撕算法环节:
- 有效的括号 lc20
- 岛屿数量 lc200
手撕算法都是做过的题,几分钟a了。然后还要讲讲自己的思路,第一题就是栈的应用balabala,第二题看到过了就没问了。
反问:
- 继续了解公司的业务情况
- 技术栈涉及到什么
- 对实习生的期望
面完后一个小时HR打电话说过了,约二面时间。
#蔚来汽车##实习#