美东一公司的面试,有多年没有遇到如此流畅的面试了。
本来说的面试时间是 30 分钟,这个还是第一轮处于电话面试那种,但是不知道为什么最后面试整个时间都延长到了快一个小时,貌似双方都还继续沟通下,有点意犹未尽的感觉。
互相了解
通常第一轮面试的过程都是互相了解。
这个公司本身有自己的生产线,同时还有完善的在线销售系统。如果你问我公司大不大的话,可以这样说吧,公司很大,几乎和耐克级别的企业。
当然肯定比耐克还是小点。
在这个互相了解过程中,主要对公司要求的是什么,公司为什么需要这个职位等等。同时还希望我介绍下项目,和在项目中使用了那些技术,有那些问题。
这个和普通面试都差不多,还是那句话,只要你做过项目,基本上都会说,只是在说的时候需要根据公司的要求进行一些调整罢了。
你总不能别人在说系统,你盯着数据库一直在说,这也不合适吧。
技术问题
技术上面的问题进行了简单的沟通,主要是对 Core Java 的内容进行一些了解。
我个人感觉内容还是比较基本,但是问的东西都属于常用的,不是很多人以上来就 OA 各种奇葩算法那种。
也许是这样,才让人感觉非常好,感觉这个才是面试应该有的样子嘛。
问的问题大致包括有:
- 能说一下 hashmap 和 hashtable 吗
- Default 关键字
- Overload 和 Override
- Spring 框架和 Spring Boot 的关系
- DI 是什么
- IoC 是怎么回事
还有些其他的问题,可能记不太清楚了,问的问题还是有点多的,其他的就非常基本了。正常只要用过 Java 的基本上都能得上来。
之所以列出上面这个几个问题,是因为这几个问题还是有那么一丢丢深度。
对于这些问题,感觉都是概念上的,通常可以聊很久,除了 default 关键字不太熟悉之外,其他的内容,只要你理解了,还是比较好沟通的。
唯一的可能当一下子问到 HashTable 上的时候你可能有点懵,这是因为 HashTable 是比较老的版本,可能在实际使用的时候大部分人用的都是 HashMap。关键点,HashMap 比 HashTable 快,这个总知道吧,因为一个是线程同步的,一个不是。
觉得在找工作的时候,还是需要对 Java 的一些常用概念了解下的。
对不熟悉的 default 关键字,我的回答就是,我知道 Default 关键字是在 Java 8 中开始使用的,但我们项目用得并不很多,所以不是非常熟悉。
后来搜了下才知道,Default 关键字主要使用在接口中,用于接口方法的默认实现的。
因现在项目用接口的情况不多,所以一下子没有涉及到还是很正常的。
每次面试后对不知道的东西补习下,记录下就好。
总结
面试的整体流程非常不错,感觉也非常好。
虽然没有把所有的问题都答得非常准确,但是感觉还是不错的。
结果就是在面试还没有最后挂断的时候,对方就说我通知组里面的同时下周安排下技术方面的面试,时间是 1 个小时,他直接问我那周有空。
因为下周有不少其他安排,所以就周二和周四吧。
本来他是希望安排在周一的。
面试双方在面试的过程中都保持了非常好的透明和了解,这是感觉非常好的地方,对方也非常公开的介绍了很多信息。
这才是面试应该有的样子,双方应该都互相了解,通过一个比较短的时间,了解公司,了解应聘人的行为和表达能力。
当面试一上来就先做题的时候就已经跑偏了,再加上这些年连厨师都想要当码农的时候,就更加疯狂了。
希望更多一些理智,少点疯狂。
多年没有遇到如此流畅的面试了 - 求职路上 - iSharkFly