一面
发生在14点。
首先是自我介绍,大概3-4分钟。把我大学的经历说了一遍。
面试官问了一下会些什么语言。我就说主要是Java,然后也会C系和Python。
第一个问题
手写一个单例模式
面试官让先阐述什么是单例模式,于是一边阐述一边就开始在面试系统上写。
于是我就从最简单的版本开始说(不能并发),然后说怎么改进
主动补了一个enum版本。
第二个问题
然后面试官就问了一下MySQL咋建索引。然后我就在讨论框打了个CREATE INDEX ON TABLE...
第三个问题
链表的环怎么求,回答快慢指针。面试官没让手写
其他问题
然后就是和面试官说了一下项目做什么,最近在学什么。
差不多1个小时就过去了。
二面
二面发生在15点。
还是自我介绍。
第一个问题
面试官对简历比较疑惑,为啥你一个做密码的要搞Java 后端。于是说了一下因为业务的市场广阔。
第二个问题
学了写什么
于是又说了一下学了Spring/boot, 然后下一步准备看Scloud。然后吹了一下raft blabla。
第三个问题
MySQL 用了什么技术,回答B+树
第三个问题
写了一个应用题,
给出数个数字对例如(1,2),(2,3),(3,4),(5,6)求问有多少组数是独立于其他组的(上面的例子就是2,因为1234是一个组,56是一个组)。
提出用HashMap来存,Key是数字的编号,Value是组的编号。然后就各种情况的处理方式提出方法。
实际上这道题同学指出应该用图(并查集)来做。可惜没学过,不过面试官还是放了。
三面
三面等了很久,本来应该16点开始,等到17.30还没有消息,然后HR打电话说一个小时后见。结果17.40面试官又打电话说他在房间了,淦。
还是自我介绍
第一个问题
手写LRU
磕磕绊绊写了一个,面试官一边Debug一边提问题。如何优化,说可以取消start和end两个node,直接用指针指。
面试官不满意。指出可以用优化代码bla bla。
最后面试官指出无法满足并发需求,于是我提出可以用sync锁hashmap或者锁put get函数。然后又提出用crtHashMap。
第二个问题
学了些啥
第三个问题
分布式懂吗
其他
问了一下项目和专利,问了一下对java后端的看法。
总结一下,蔚来这个面试体验强度太高了,而且中间这个等待有点离谱。应该早点通知的,我看牛客还有哥们14点就开始等着了。
面试官几个都不错,问的也不刁钻,细节基本都是围绕场景来的,所以可以自己发散。
全部评论
(2) 回帖