聊聊这几个星期的面试感受吧,内容太长。。慢慢更新吧
终于在与上家公司结束了各种恩怨纠葛后,选择了相互妥协的离开。匆匆忙忙的开始了面试的征程,为什么会是匆匆忙忙,中间又涉及到各种坑,哎。
面试真的是很能让一个人发现自己缺点的事,虽然我很讨厌面试,也非常不善于面试,但还是不得不承认这种事实。通过两周多的时间里,面试了大大小小的公司也有十几家了。从中发现了自己的很多缺点吧,当然也遇到各种奇葩的公司。
第一家面试的是一个做跨境电商物流的公司,因为是第一家面试,难免有点紧张,而且那面试官还五大三粗的。面试的时候有点不能忍,面试官一直在玩手机。说说面试吧,整体流程就是先做个自我介绍,介绍自己的项目,用到哪些技术,然后我就把我们公司那个把DDD当三层来那么用的项目拿出来说了,谈了下我对我们公司里面DDD的误用。面试官就针对的问了我对DDD的理解。然后问了里面的一些概念,例如领域实体,值对象的含义,有什么区别。当时一时紧张,很多都答磕磕巴巴的。后面,还问了设计数据库的一些原则,数据库优化,项目中用到的一些具体的设计模式。最后,问我最近在学的一些东西,我说了 vue,.net core,面试官貌似突然起来兴趣,说他们项目中也用到了.net core。然后又和他聊了一下.net core的相关东西,但是他们貌似还不知道最新版本的项目配置文件从json又换成了CSProject的。
一面基本就问了这些,因为自己表现的很一般所以感觉应该不会有复试的,而且等了挺久确实没有回应。突然有一天,他们hr告诉我他们的技术vp要和我视频面试,他们的技术vp在美国。然后就约了早上8点的视频面试,开始都聊得挺不错的,也是聊了ddd,聊了他们公司的技术氛围什么的,问到在看什么书什么的。于是我把我垫在笔记本下面的那本Evans写的领域驱动设计拿给他看了。也许是这个原因,他的态度后面都非常好。最后聊得差不多了让我去入职,最后问了句,你薪资谈了没,汗。。。然后我说都没有和hr聊,最后谈了下薪资,他说薪资超过一定的数额。要看写的代码,然后我就慌了。我发现我除了在公司写的代码,平时根本都没有认认真真的写过代码。最近写的都是那些纯技术demo,根本没办法看的那种。没办法,我只能把我几年前写的一个小功能拿给他看,但是是我刚工作时写的,没有一点高质量的东西。看完,他非常失望,然后和我说代码这种东西不能只看,要多写,然后就没有然后了。
第一家的面试写的有点长,但是确实也是我印象最深刻的一个吧,也是对我帮助挺大的一次面试。如果不是这次面试,我可能到现在都没有意识到我的这个问题。写代码太少了,虽然平时经常会看一些新的技术,写一些相关的测试代码。但是这种代码的意义性真的很小,根本不会对你的代码能力有任何的提升。除了工作中,平时一定要锻炼自己的代码能力,不管在写任何代码,都要注重自己的代码质量,不能因为是测试demo就可以随便写。其实通过这次面试,我挺希望可以进入到这家的公司的。
后面第二家公司就有些奇葩,这是一家做教育培训的公司,哎这种公司都是奇葩,例如我上家公司,一面的时候基本没问什么东西,让你把项目介绍一下,针对项目中的技术随便问了一下。然后让我回去等通知,通知是挺快的,当天就通知我二面,约的时间我已经有安排了,让我把时间腾出来他们面试官只有那天有时间,我只好把另一家面试往后延了,二面的时候,让我做了一下自我介绍。然后什么问题都没问,说,我们这个岗位的预期是15,你的期望我们达不到,15能接受吗?我说不能,面试结束,整个过程不到5分钟,我等了他半个小时。延了一家面试,既然达不到预期要么就不要约了,要么电话沟通一下就可以了,何必浪费大家时间和精力。
面完这个坑爹的面试,就去了下一家,不知道是不是上家把自己心态搞崩了。下一家面试的时候,表现应该是所有面试中最差的吧。面试问了页面生命周期,单例,clr,gc,其实这些都了解,但是当时就都没办法完整的答出来,面完基本就知道自己结束了。到这个时候其实我已经有点开始否定自己了,感觉自己很多东西都了解,但是却都没办法说出个所以然。就好像是,工作中你都知道怎么做,但让你说你有不知道从何说起。
这种面试是属于面完就知道自己没戏的那种,但其实我大部分面试遇到的是下面这样的。面试的时候其实表现属于不错的,面试官的问题基本都可以答上来,而且我可以肯定算是比较完整的答案,面试官也没有任何疑问的。但大部分这种的我都没有接到后续的通知,你根本就不知道为什么自己会失败,其实我挺讨厌这样的,不管面试是否成功,都应该给面试者一个邮件说明一下。即使是失败,也可以告知一下原因。
未完待续。。。后面还有几个面试是我印象比较深刻的,后面继续吧
继续聊。。。
后面有面一家做金融的,总共两轮面试,一面聊得挺不错的,一面过后给了一道设计题,有两个选择一个前端一个后端,我选了后端,具体的题目是设计一个生产系统。题目大概是,一个生产奶酪的生产车间,有三种生产线,分别可以生产牛奶,奶酪和一个什么,奶酪是以牛奶和另外一种产品为原料的,然后还有冷库可以存储1000(?忘了),然后生产车间每天要生产10000个奶酪,最后运输到超市,中间有货车,货车每次可以拉一定数量的奶酪(具体数量忘了)。题目大概是这样,让你设计一个大致的模型。我觉得这种题目还是挺有意思的,当时花了半个小时左右大概做了一个一些(有大神可以聊一下自己的思路,我做的时候有很多疑问,自己也只是完成了一部分)。做完面试题就到了二面,我以为二面会问这个笔试题的一些东西,然而是一点都没有问。而是问了angularjs里面的一些细节问题(因为项目中有用到),还问到多线程的一些东西,自旋锁和互斥锁的区别,多线程怎么进行同步。这些确实了解的很少,所以基本没答出来。面试基本也就结束了,后面和hr聊了说后面cto会电话面试。后面漏掉这个公司的一个电话,因为当时正在进行其他面试,因为后面有合适的offer也就没有再关注了。
我印象最深的除了第一个就是一个外派到花旗的岗位吧,因为总共有五个人面试过我,去花旗去了三次,而且还是在两个不同的地方。花旗的面试给我的感觉是挺舒服的,不会问一些很多很深的东西,会针对于你的项目去问。比如,我项目中有用到angularjs,就会问你对mvvm的理解,有写到autofac,unity就会问你对依赖注入,ioc的看法。有的时候,你因为紧张忘掉一些东西也会引导你去想起来。还会让你去在纸上写一些代码,不要求你完整的去写,只让你写出你的思路就可以了。比如,如果我想比较两个引用对象是否一样,我要去做些什么。花旗的面试会喜欢问一些设计模式,会问你这些设计模式会用在哪些场景,为什么要用这个设计模式,有什么好处。也会问一些面向对象设计的五大原则,每个原则的概念什么的。在花旗最后一面是他们的manager面的,也没有聊具体的技术。整场面试其实都是他在给我讲解代码质量的重要性,为什么要用unit test,要怎么用,最后还聊了c# 和 java生态的一些问题。这场面试更像是一场技术上的聊天吧,是那位manager作为一个过来人给我说的很多经验吧,对我来说从这次面试上确实学到了挺多的。虽然这是一个外派的岗位,但是我其实当时还是非常想进入到花旗的,因为通过面试我感觉到那边的氛围是真的挺不错的,虽然不知道工作上是不是那样。哎,不过最终我还是选择了另外一家公司。
面试的经历主要就是这些,更像是一个流水账。但是,通过这次面试其实对我来说帮助确实是很大的,可以说能够更清楚的认识到自己。
最后聊聊自己吧,因为读书晚,大学毕业都23,所以现在27才三年多的工作经验,而且大学主要学的也不是计算机。所以,现在紧迫感其实非常强,喜欢编程,但是也非常迷茫。我每天都会去上一下博客园,去上推酷,希望自己可以多了解一些新的技术,害怕自己被淘汰。但是大部分看过的东西,自己没有实践过,很快也会忘记。很多时候都不知道自己应该去学习什么,只是盲目的这里看一点那里看一点。
通过这次面试也发现一点,你之前的工作经历对你太重要了,如果之前有个大公司的工作经历能够得到的面试机会都会提高很多。所以对于那些刚工作不久的,有机会最好能够进入到一些比较大的公司,对未来发展肯定会有好处的。
这是我的第一篇博客,也希望可以通过这个激励自己。