近期上海面试总结(一)
转眼来上海已经4年了,随着对公司业务的不断熟悉,同时通过与众多的人接触也渐渐加深了对职场的理解,从刚开始的初生牛犊不怕虎毅然来到上海,到如今已快有四个年头了,今年还是面临职场上的抉择,再次找工作吧,想想从2013年出来实习到如今也快5年了,回顾自己的这几家公司,一直在从事CS端的开发,从第一家公司做一些WinForm、Flash、MFC然后接触了一阵时间的WPF,来到上海后主要从事WPF相关的工作,但是在这个期间确实有很大的技术上的提升,一些新的概念、新的知识也能快速去吸收,一些重要的概念WPF、WCF、以及WebService、IIS安装部署、Windows服务开发及部署、LINQ、WebAPI、Restful等这些概念都有所积累,虽然每个方面都不是很精通但是至少都使用过,再次提到这些概念时至少不会什么都不清楚,这个过程当然踩了很多坑,但确实技术上也有了很大的进步,另外在数据库方面先后使用过:SQL Server2012、Oracle、MySQL、SQLite等一系列的数据库,同时也会接触到一些ORM的框架,像 EntityFramework、NHibernate等等,有了这些你在做项目的时候就有了更多的选择,另外在逐步熟悉了更多的代码后,在WPF这块会接触到很多新的框架比如:Prism(基于容器的模块化软件开发一个框架)、Caliburn.Micro一个更加灵活的MVVM框架,这些东西学习了之后会有一个软件的体系,逐步熟悉整个软件的开发过程,而且从最开始的一个人负责一个项目到后来学会使用TFS进行团队的软件的开发,在这个过程中一步步沿着更加专业的软件开发方向去学习、进步,当然任何成长都必将经历一个过程,在这个过程中会经历更多的挑战,同时也会经历很多痛苦,说了这么多技术上的事情,在交代了背景之后在来说一说最近地一些面试的经历,然后并分享一些自己的求职的体会。
当然求职的过程来说首先如果能够有熟人进行内推,直接找一些非常靠谱的公司当然是最好不过的了,但是这个得建立在双方以前的相处经历和彼此的信任之上,如果是正常的求职过程那么首先就是在招聘网站上写求职简历了,写完之后刷新简历,就像本人工作5年,4年的软件开发经验效果还是很不错的,下面就将近10天的面试经历来一步步分析,头天晚上写好简历并保存好了之后投了两家自己比较心仪的公司,第二天上午刚过完9点,就有HR来联系我了,简单了解了一下我的基本情况之后就会问我的一些想法并邀请我去面试,速度效率非常高,然后看看一下他们的公司性质,大家一猜就知道:外包公司,他们人员需求多,然后力求速战速决,在接下来的一天里至少接到了4家这样的面试通知,由于本人以前从来没有面试过这类型的公司,然后在网上查了一下发现网上骂声一片,所以也没有什么好印象,但是选择了一家最大的上市外包公司接受了面试,试探一下这个行业的深浅,然后就接受他们的面试了,首先是他们所在的公司会进行一个电话的技术面试,技术面试都是一些软件的基本概念,大概都会问到一些C#的基础知识(就是类、结构、泛型等基本知识),然后就是使用数据库,LINQ等一系列知识,大概20多分钟吧,OK完了,觉得技术基础可以,然后他们的人事打电话解释第一关过了,然后由于现在招聘的岗位是和一家外资企业长期合作的,所以后面的面试需要我去到这家外资企业去面试,OK,然后就按照他们的要求第二天去面试了,不得不说外资企业的办公环境确实没话说,到了面试的环节,首先是他们的面试官第一位是他们的架构师,首先也是做一番自我介绍,然后就开始了整个面试的流程,就是他们会有一系类的知识提纲,然后按照这些来一步步考察应聘者的知识熟练程度,当然除了基础知识外,他们也会列出一些场景,现场让你说清楚这个问题怎么解决,从而判断你的实际解决问题的能力,当然整个过程都是不太容易的,当然数据库内容必不可少,什么优化数据库查询效率啊、存储过程这些基本都会问到,整个过程大概快谈了一个小时多,后面他会简单介绍一下他们现在做的系统,需要具备哪些方面的知识,以及后面如果协作,最后他会把提问的权利交给你,然后你可以去和他交流,整个交流过程还是比较顺利,他也觉得我OK就是Web方面的知识稍稍欠缺一些,在架构师面试完成后,又有一位管理者来面试,主要不是来考察我的技术实力,考察我的情商的,会问我的一些生活习惯,平时和同时发生冲突怎么办,怎么面对工作生活中的压力,对自己职业生涯的期待,自己的一些追求,反正都是一些情商方面的,尽量都往积极方面谈,整个面试过程大概经历了2个小时,说真的还是挺累的,大脑飞速转。
在面试完的当天,人事就给我打电话了,那边还是很认可我的,然后就步入正题开始谈工资了,然后我说了一个我的期望值,他们说要回去请示他们的领导,这样周五就过完了......
下周一他们HR立刻就联系到我了,跟我说了他们领导的意见,一下子压价1000块,然后社保公积金基本上也是按照最低的标准交的,当时心里也是一万只草泥马在奔腾啊......然后就是就相互砍价,最后定在了一个中间值,后面我说我再考虑,没有给他们答复要和家人商量,面试的第一家公司就这样的,也算是自己的一个面试经历吧,第二天上午立马再打电话来问我的决定要发Offer,然后叫我不要再面试别的公司了,这个速度真实够快啊,寻求速战速决,最后的结果是我没有去......
接下来的几天陆续有多家外包公司的HR给我打电话了,对接的业务有花旗银行的,也有国内的东方航空的,还有蔚来汽车的一些业务,都挺高大上的,我想整个面试的流程应该差不多,其实整个外包项目其实分为三大类吧,欧美企业、日韩台、最后是国内的大公司业务,鉴于本人没有实际在外包公司工作过,就不详细说明了,不能说明绝对的好与坏存在即合理,这个可能需要应聘者去加以辨别了,但是万变不离其宗,公司给你多少薪水你就需要创造多大的价值,网上也有很多关于外包公司的具体业务介绍和利弊,希望能够加以辨别。
再后来网上看了一些相对来说是比较合适的岗位,但是现在肯定不会海投了,只是会在选择自己认可的行业,然后在这些行业找到合适的公司来投他们的简历,后面投了两家公司,投完了之后看到前程无忧上面简历的状态都是HR已经阅读过了,投递完的第二天第一家约我面试了,一看是一家民营的医疗行业的一家公司规模不大,但是位置还是比较远,抱着一种学习的态度去面试了一下,然后记录下整体面试的体验,面试之前查找好了位置,乘坐地铁到了地铁站,然后出了地铁还有1.8公里,感觉好远,只有骑了一个小黄车找到了那个位置,找到后觉得可能是一家小公司,办公地点在一家物流园区内,周围也没有什么商圈,而且公司在其中一栋楼的五层,上去后HR接待了我,稍微看了一下环境,比较一般,应该是一家生产硬件设备的公司,有些工人在车间里,也没多想就在办公室等他们的面试人员,等了一会儿过来了一个技术上的Leader吧,面试的过程还是一样的,他拿着我的简历,首先叫我介绍下自己以及自己的项目经历,交流了一会儿看得出他对我们之前的行业不是很熟悉,对WPF也是不太熟悉,我就打开了我的电脑,将我原来的开发的软件给他们看了一下,这样他们就对整个系统有了自己初步的认知,在沟通完这些后,他向我简单介绍完了自己公司的一些业务情况,简单来说就是做医疗影像方面的,需要将仪器方面的导出的高清图片自己添加文字然后再按照一定的规则来保存,在经过一段时间的沟通与交流后我提出了自己的解决办法,后面交流了一段时间,由于自己不太中意,后面也没有再进行联系了,现在再总结一些这类民营公司,他们可能规模不太大,确实需要特定的人去解决他们特定的技术问题,但往往企业规模不大,可能工资也不会太高,这当然是自己的一些总结。
后面面试了一家做汽车经销商系统的公司DMS系统,他们公司是一家新三板的上市公司,公司的位置在上海的市中心位置人民广场,其实这一家公司本人并没有投递简历,而是他们的HR主动联系到我的,然后再去面试的,这家公司2000年成立的,算是一家老公司了,各方面的业务也是非常稳定的,在他们的官方网站上也温馨地放上了公司员工的旅游照片所以整个公司感觉氛围很好,当然他们公司的面试流程也是比较正规的,面试安排在上午10点去了之后也是和其它公司的流程一样,首先是填一些基础的个人信息、工作履历,填完了就是要做一套试卷,当然试卷只是一些简单的知识点,包括考察一些基本的算法、数据结构、迭代算法的实现、LINQ 、SQL查询等知识点,都是一些基础的东西,但是也非常考验一个人的基本功,但是在有限的1个小时内情况又是不太一样,而且脱离了Visual Studio的环境写代码非常不习惯,好在几年的技术积累还是让自己多了更多的自信与从容,做完这套题目之后,就是技术经理进行面试了,整个过程聊了一个半小时左右,首先是自我介绍,然后我自己再介绍项目经历,最后就是提问的一些环节了,从基本的基础知识(比如类和结构的区别、抽象类和接口的异同点)到深入一点的如何优化内存结构、提高代码的执行效率、GC垃圾回收到数据库的优化,对方都是非常专业,当然有些东西自己也是不太熟悉的,比如如何在不更改数据库密码的前提下完成数据库整体结构的迁移,针对各个方面的问题进行彼此深入的交流,最后他向我完整地介绍了他们的技术栈,用到了哪些知识,整个过程本人还是非常愉快的,个人总结的如果对方对你很满意基本上最后都会跟你深入交流现在的工作,然后希望你能够加入到他们,待我们交流完毕以后,都快12点半了,他们的员工都出去吃放去了,所以技术的面试就此通过了,后面就等着HR跟我谈具体的薪资待遇了。下午回去以后他们的HR就迅速给我回电话了,整个过程还是非常顺利,而且我提出的薪资一分都不会少,而且非常期待我的加入,我想如果一个企业真心想邀请你加入,其实很多问题都会按照你的意愿去的,这种压价等应该不会的,因为他们是真正地看重你,赏识你......
后面,到周五了,突然周二投的一家简历的公司的一个技术Leader来对我进行面试了,听得出对方是一个德艺双馨的老程序员,做事情真是一丝不苟,而且问的问题如果基本功不够扎实还真就没有底气去回答,第一个问题就是问题字符串中的\n和Environment.NewLine()的区别,刚开始还愣了一下,忽然想起了\r\n和\n的区别,就回答了这个,结果还真是这个,后面还问了在泛型约束中where T:new()这里的new到底该怎么解释?所以这些技术细节很考验一个程序员的功底,好在这些东西平时了解和关注的还是比较多的,所以勉强都能答得过来,诸如此类的问题他都问了很多,应该是提前列了一个提纲,后面还问到了关于Socket的一些专业问题,比如粘包的问题,好在这些问题在以前都遇到过,所以提出的方案他还是非常认可的,后面他还问到了一些很有深度的框架,有些框架说真的真没见过,碰到这些他总是很友好的向我解释,最后不免说一句,这个问题很多面试者都没听说过,和他交流了接近40分钟,整体上他还是比较满意的,面试完成后,他表示还是认可我的尽管有些不足,最后在快要挂断电话的时候还不忘来一句,下面是人事的沟通,你能多要点就多要点哈,这一句提示让我心中特别温暖,其实程序员这个群体真是是一个真实实在的群体......我想这个公司应该还是不错的,能够留得住老程序员,而且公司的一把手还是一位医学博士,深入医疗行业这么多年了,所以应该还是不错的,但是就是觉得HR这边流程有的慢啊,3天后才接到面试通知,后面HR的反馈也是时间很长,不知道是不是投递简历的人过多了,所以处理起来会慢一些,还在等在后续HR的沟通。
最后讲一下周末的一个收获,在周六的晚上突然收到了IBM的一家公司的面试通知,刚开始还以为是外包公司,后面人家再三解释是IBM旗下的一家服务型公司,人家首先第一个就是English Interview 后面就是几轮面试了,现在还在继续面试中,后面有更多的记录,同时也期待这些面试经历,他能够让我真正地认识到自己的不足......
在程序员的这条路上已经踏过了5个年头,期待后面的生涯能够取得长足的进步,当然这条路也不是那么好走,个中的辛酸也许只有自己才能体会,但是只要有那颗努力奋进的心,一定能够战胜重重困难,最后努力去实现自己的价值。