小胖李的面试之旅
#0 序
一切过往,皆为序章
---莎士比亚
#1 起因
10月1日之前就发现经常在半夜出现突发性恶心,并且伴随一股及其刺激性的液体反流到嗓子,痛苦的睡不好,10月1日之后找了一个时间去了一趟医院,检查出来:
慢性萎缩性胃炎,
食道炎,
中度脂肪肝,
胆结石
并且伴随胃食管反流。大夫说,别看你胖,你的饮食肯定非常不规律,超出一般的不规律性,然后一寻思也对,每天除了早饭在酒店吃的比较准时,其他时间什么时候吃饭都不知道。开了一大堆药,让我回家好好养一段时间。
我也和项目经理说,生病了,在家待一段时间,结果在家呆没到2天,现场经理让我赶紧回去,调代码。没办法只能回去了,谁让我们是下级转包呢,回去之后行李放下就直奔现场,紧接着一天没吃饭,加上吃药,加上通宵改代码。
通宵之后睡了3个小时,一个电话让我赶紧回去,下午有检查。又没吃饭。
直接让我动摇的心坚定下来,裸辞。
目前正在走离职手续。。。。。
#2 找下家
大家也都知道,今年过年比较早(不要和我学裸辞,我是觉得在不辞职就要死在外地了),所以10月11月工作机会比较少,只要那种外包和一些比较着急的项目组才会招人。所以网上的面试机会就少一些。再加上我要的价格和条件都比较高。
所以更难找,重点是,我个人的技术已经好几年没有进步了。所以遇到一些新的面试内容都无法应答。老脸一红。。尴尬。
#3 外包
公司性质:某汽车大型外企
简历途径:boss
职位:c# 开发工程师
福利待遇:五险一金(最低) + 双休 +法定假日+福利假+额外医疗保险
面试方式:两轮电话面试,面试通过就可以直接上班
这是一个外包公司给我打电话,本来开始没想去,但是后来通过一些途径知道,可以通过外包的形式去,有一定几率成为这家外企的员工。然后我就同意hr把我的简历给到甲方hr,紧接着就来pm面试电话了,对话如下:
pm:你好,请问你是小胖李吗?
小胖李:对,我是
pm:你好,我来负责你的技术面试,请问你会 vb.net吗?
小胖李:.........不会
pm:哦.................简单介绍一下自己吧
小胖李:我是小胖李,巴拉巴拉
pm:嗯,好的,我了解了,有结果hr会和你联系的,再见
小胖李:好的,再见。
总结:全程2分钟通话时长。我很蒙,我面试c#,为什么要问我vb?直接被pass。垃圾pm。
(有彩蛋)
#4 游戏公司
公司性质:中小型外包游戏公司
简历途径:boss
职位:c#开发工程师 / 项目经理
福利待遇:五险一金(最低)+单双休串休
面试方式:face to face
这是一家游戏公司,主要工作是听取甲方需求做游戏,开发和项目经理都要。这次面试的人也是pm,但是没有问什么技术问题,只是问了问以前的工作经历等等,但是我没想到的是,他问了我一句知道 web api吗?
我当时真的很懵,web api是什么东西?我说没听过,他说没事,就是现在的一种新的技术形式,然后又胡扯一堆。
pm最后的结论是:要价太高了,最低价都已经超出了他们的预期,我就问:你们的能给的最高价是多少?他说了一个低于我预期30%的价格。
总结:我当时没有意识到问题,招聘市场的条件已经不在是5年前的那个样子了,已经完全变样了,我所掌握的技术已经落伍了?我给这句话画了一个大大的问号。现在市场到底是什么样的。
#5 中场休息
通过游戏公司,我查了一下,web api,.net core ,微服务,mvc,在通过查出来的关键字在招聘网站上查询,发现比我单纯用c#查询的职位多了很多。这时候我才算意识到,目前c#的市场主要应用场景是
微服务,web api等,不在是原来的ado.net,而前端不再是熟练使用 javascript,jquery,而是加上了:bootstrap,vue,angularjs,h5,css3 等
总结:目前市场的前后端分离已经成为常态,需要的人才已经从以前啥都会啥都不精通变为,全栈工程师、前端工程师、后端工程师,开发行业被细化。混沌时代已经过去了。
#6 另一家外包
公司性质:某汽车大型外企
简历途径:boss
职位:c# 开发工程师
福利待遇:五险一金(最低) + 双休 +法定假日+福利假+额外医疗保险
面试方式:两轮电话面试,面试通过就可以直接上班
这个和第一家外包公司一样,只不过是另一个供应商,有了第一次的经验,我就和hr问清楚是不是面c#,得到肯定的答复,然后等待一面。然后电话就来了(因为过去了一段时间,有一些记不清了,我就按印象回忆一下当时的对话)
pm:你好,请问是小胖李吧,我这里是xxx公司我是pm,接下来我来负责你的技术面试,你现在说话方便吧
小胖李:你好,我现在说话方便。
pm:请简单介绍一下自己。
小胖李:我是小胖李,今年30,巴拉巴拉。
pm:好的,你刚才说你会 wcf,我问你一下wcf工作原理是什么?
小胖李:.......我......只是......会用,没有研究他的具体原理,我一般用它是给他当成一种升级的web service使用
pm:好的,你刚才还说你之前用过angularjs,现在还在自学vue,那如果让你带领团队开发项目,你的团队成员两个前端框架都不会使用,你会决定用哪个框架呢?
小胖李:是做app项目吗?
pm:是的。
小胖李:.........我会用angularjs,因为我会一点,算是从0变成1,我可以带团队的人学习,然后在共同学习掌握这个框架,最后达到项目的预期结果。
pm:嗯(肯定的语气),你能说一下c#编码特点吗?
小胖李:......我能记得就是高内聚低耦合
pm:嗯(差一点意思的语气),你能说一下net的特性吗?
小胖李:................额,没什么思路
pm:你说你之前项目用过mvc,用过web api吗
小胖李:我用mvc的时候是mvc 1.0时代到2.0时代,那时候没有成熟的web api经验
后面的问题记不住了
pm:如果让你去现场面试你方便吗?
小胖李:??????(不是说好都是电话面吗)方便,但是要等下周,我这周要去交接工作。
pm:好的,有结果hr会告诉你
*************顺利进入2面**************
2面基本没聊什么东西,扯东扯西,因为我通过外包的hr知道进入2面的有3个人,工作形式本身对英语要求很高,而且对技术上手速度也要很快,所以在2面开始的时候我就大概知道我是陪跑的。
结果真的是陪跑了,因为最后是三选一。。。
总结:本次电话大概有30分钟,问的很细,都是我没有涉及过的区域和吹牛吹大了。给自己装到一个坑里,还有就是不要在安检前进行电话面试,容易赶不上飞机。。
问题总结:
问:wcf工作原理是什么?
答:当创建一个服务时,它可以用来在内部网上实现跨进程、跨机器边界的客户一服务器调用。通过这个调用,可以公开队列调用和传送服务保证,并且使用完整的ws协议栈来公开可互操作的web服务。
wcf分为客户端和服务端,服务端要寄宿在一个windows进程中或者是iis上,可以通过ws协议通信也可以通过tcp协议通信
问:小白团队使用angularjs还是vue?
答:vue,因为vue是专门为移动端定制的的前端框架,对各种移动端的自适应做的很好,虽然我也不会,但是可以和团队共同学习进步,重点是vue框架比angularjs框架好学,angularjs庞大而且对移动端支持
不如vue,但是angularjs对pc端的自适应还是很好的。
#7 彩蛋
在工作交接的时候,第一家外包给我打电话,问我什么时候能入职,我说我都被pass了。。。。hr告诉我一共面试2个人,那个人不去了。你又被选上了。。。
我说我最快也要等到11月15号之后,这已经是我的极限了。她说,我在去问问协调一下。我说好。然后没下文了。
#8 国企外包
公司性质:某国企外包
简历途径:boss
职位:c# 开发工程师
福利待遇:五险一金(最低) + 双休 +法定假日+福利假
面试方式:电话面试,face to face
面试我的是一个pm(?),女生,我描述了一下我的情况,然后她描述了一下她的项目情况:
1.北京的外包公司来我们这做国企项目
2.项目已经做2年了,现在要做本地化团队接手
3.北京的团队撤离
我和她的谈话中知道这三个信息,哪我就对这三个信息提出以下问题
1.项目已经做2年了,还能做多久?
2.你们要我去是什么职位?是开发还是pm?
3.项目目前用的技术是什么?
4.既然项目着急,是不是目前还有很多加班?
对方没有给我正面回答,而且支支吾吾的,双休都没有,周六周日是需要值班的。节假日也是要值班的。直接给pass了
总结:pm对自己项目使用的技术不清楚,对项目流程不清楚,那么可以认为是做了一个无法收尾或者无法验收的项目,并且后续维护成本很大,甚至被抛弃。
我一直认为pm的职责是,区分风险,划分职责,全流程跟踪,和客户保持高频率的沟通,而不是做一个类似于某门子的项目经理,对项目用什么语言都不清楚,每天想要做的工作就是收集日报。
#9 落魄的网络公司
公司性质:网络公司专门做zf项目
简历途径:boss
职位:c#开发工程师
待遇:五险一金(最低)+双休
去这个地方面试,我开车开了一个小时。。到了一栋破大楼里面,找到了一个类似于网吧的公司,整体环境脏乱差。
小会议室里面的桌子都已经有土了,大会议室还有鼻涕纸。。面试我的人是技术负责人,相当于公司的大佬,看到我的简历什么问题也没问,就和我胡扯一堆。
核心思想就是:别来我们单位,人际关系复杂,你要的价格已经是咱们这座城市的最顶点了,咱们这城市只有极少数公司能给的起这个价格。
我对他的回答也很诚恳,我来面试就是积攒经验,并没有想入职,只是看看市场目前是什么情况,其次我已经感觉到我要的薪资已经触碰了天花板。
总结:在面试任何一家公司的时候最好可以先对这个公司做一个背调,至少知道你要去的是一个什么单位。
#10 nb的国企
公司性质:国企大数据以及军事
简历途径:智联
职位:c#开发工程师
待遇:五险一金(全额)+双休+法定假日+福利假日
上午给我打电话,下午就让我去面试,开车1个小时,从二环跑到四环。。到了之后,是一家大国企,独门独院。进大门登记。到大门我就知道,我必然无法通过,
进到大厅进行观察,这家单位主要做涉密内容,以及全省大数据,监控等。hr随便聊一下,pm和我见面了。
pm:你这简历内容挺多啊
小胖李:嗯,做的内容比较多
pm:为什么离职
小胖李:基本处于24小时高强度工作,身体受不了了
pm:问你点技术问题,对web api有了解吗
小胖李:还在学net core还没看到这一部分
pm:大数据应该怎么提高他的查询方式
小胖李:您说的大数据是指的大量的数据吗?如果是大量数据看具体情况......
pm:(打断)你接触过最大的数据量多大?
小胖李:百万级
pm:哦,你怎么做
小胖李:做索引(怕给自己挖坑,转话风),例如我们接触的数据都是plc传输过来的实时数据,这些数据是有时效性的,要么当时看,要么存储到数据库空,做定时计划将数据查询出报表,
如果数据量再大一些,那么用数据库快照。
pm:知道什么是游标吗?
小胖李:知道。。但是没用过
pm:游标就是查询一个结果集
小胖李: 哦。。。。
pm:我看你简历上写会java,小x你问问吧
小x:哪我就问你一些基础的吧,设计模式了解过吗?
小胖李:(不敢给自己挖坑)嗯稍微了解的少一些
小x:嗯。。接口和抽象类的区别是什么?
小胖李:..................接口可以继承,抽象类不能。
小x:.....我没问题了
pm:wcf想用http通信怎么做
小胖李:......把服务寄宿在iis上发布出来就行了
pm:怎么写呢
小胖李:......直接放到iis上给他当web service用就行了啊。
pm:.............你写后端用什么技术?
小胖李:.........您说的是使用什么框架吗?
pm:不是,是用什么写,怎么写
小胖李:........用传统的c#写,一般情况三层,mvc这些
pm:......行,回去等通知吧
总结:我出来之后就给自己总结是,面试0分,关键性技术问题都没有答对,另一方面,面试我的pm的气场很足,莫名的就有恐惧心理。所以我太怂了
问题总结
问:wcf想用http协议通信怎么做
答:在配置文件里面配置,因为wcf默认的通信协议是tcp。
问:接口和抽象类的区别
答:抽象类要被子类继承,接口要被类实现。
接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。
接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。
接口是设计的结果,抽象类是重构的结果。
抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。
抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。
抽象类主要用来抽象类别,接口主要用来抽象功能。
#11 旅游公司
公司性质:旅游公司网站
职位:c#开发工程师
待遇:五险一金(最低)+双休+法定假日
因为朋友在这个公司,我就寻思我也去面一下吧,也没个内推流程,去了之后先来一套性格测试题,然后来了一套笔试题,我问我朋友,不是说没有笔试吗!!
笔试内容如下:
1.有lista和listb 其中a,b的元素都是可以保证没有重复的,现在合并a b得到新的 list c,要求c中不能有重复元素
2.实现不重复的100个随机数的方法
3.取出数据库user表中的一个小时内创建的数据
4.列举spring常用的注解,并且分别表示的意义
5.session和cookie的区别和练习,session的生命周期,多个服务器部署时session管理方式
6.如果有一个特别大的访问量,到数据库上,怎么做优化
口答题
1.重写和重载的区别
2.接口和抽象类的区别
3.多态是什么意思
4.继承是什么意思
(以上问题给你们答吧。)
最后他们选择了一个会web api的只要我薪资一半的人。。
#12 总结
1.我的薪资已经达到我所在的城市的c#的天花板
2.我会的技术已经落伍
3.目前c#市场要的内容基本是 mvc,web api,大数据,分布式,传统的开发者不需要了
4.工作经验多了之后面试的内容基本都是面向设计的方向,用人单位不想要一个年龄大的开发者,想要一个架构师之类的设计者
接下来找工作的方向:
1.降低薪资
2.给多少的公司都去面试,积攒大量的面试经验
3.继续做自己的h5+net core web api的简历网站
4.大量看理论知识
希望找工作的大家都有一个好的归属!