招聘还是炫耀,设计模式是装逼利器?
春天是动物们交配的季节,春天也是程序猿们跳槽的季节。根据上次吐槽的趋势,我们公司年后树月没有半点改善的趋势,甚至更糟,我还是审时度势,闪了。
都快奔三的人了,我还想着要转技术方向,放弃多年的.NET,想去搞搞iOS,于是趁着躁动的季节,怒投了许多iOS职位,不过基本是石沉大海。最后广撒网,简单看看公司介绍,只要不是50人以下的公司或者交通实在不方便的都投。虽然我iOS的经验不多,但是也会有些公司给我打电话,愿意给我个机会。这两个星期来,一共面试了8家,基本上都没下文,还有一些不靠谱的,我早就皮了,但是今天这个让我好生郁闷。
上年纪的人记性不好,以前我去面试,公司地址、行车路线什么的都是记在脑子里,但是今天我到了大楼底下的时候,居然TMD的忘了是什么公司,一点印象都没有。然后,我就去了B座(应该是A座)找找看,错过约定的时间大约10分钟后,那边HRMM给我去了电话,问肿么个情况啊,我说去错楼了,马上就到。正好HRMM自曝家门的时候,我马上就记起是什么公司了。
智力退化也许预示着今天的悲剧。这是一家搞IT培训的,不是大名气的达内青鸟,里面装修很干净,我还疑问,不会是让我当老师吧,这不是误人子弟嘛。既来之则安之,进去填表,之后HRMM和我随便聊了聊,双方的会谈在友好愉快的氛围下进行,原来他们还接外包,看来是当不了老师了。再然后HR退场,技术面试官入场,我想这个面试官可能是个老师吧,他开始考察我技术,下面是我郁闷的回忆:
首先问的是delegate是啥。delegate翻译成委托,然后……老衲愚钝,不知道考点是啥?我弱弱问,是UITableViewDelegate那种吗?那边确认后,我说delegate是Adapter模式的变种……
“不对,这两者没有关系”
“我是在objective-c设计模式上看到的……”(应该是Apress出版的 Pro Objective-C Design Patterns for iOS)
“没有一点关系!”再次直接打断我。
然后我有点急,脸上觉得一下就发烫了,当时有生气,即是书上说的不对,也可以理性的讨论嘛,怎么跟训学生似的。
他又枴到了C#的delegate,问我是啥,还问我异步调用的,要传个匿名委托,反正我是没明白他的意思,而且objective-c中的delegate都是protocol,类似C#的interface,不应该生搬硬套C# delegate的概念吧,恰恰说明是adapter呀。
“notification有几种行为”
“不知道” 这是我第一次说不知道,前面还努力对付。
紧接着问:“抽象工厂模式是什么?”
“……”我也忘了我说的是啥了,不过各位看官谁可以在不看资料的情况下说说简单工厂,抽象工厂,工厂方法的区别吗,顺便画个类图?反正我说不出来,自从我知道工厂模式的时候,就开始流行ioc框架了,我一个工厂类都没写过。而且老衲记性不好,虽然以前看过,此时也没一丁点印象。
“为啥叫抽象工厂?”
“……”。我想说是abstract翻译过来的。
“不知道”
然后问了问单例模式的,不知道怎么又到C#的垃圾回收了,他说要手动GC,我说一般不用手动GC吧,他说他已经很有研究了,垃圾回收没有想想中的强,必须手动GC才行。好吧……那本《c# via clr》确实没看。然后老师说曾用silverlight做过网游(我见识少,有成功的silverlight网游上线吗?)
反正一塌糊涂,跟训学生似的让我很不爽,而且由于第一个问题,我下意识的认为此人不过是装货,甚至有些排斥了。
老师试图找一下我在.NET方面的亮点,又问用过 iterator吗?我说就是foreach就是。那个时候我已经懒得多说话了,而且我认为这个问题很傻逼,写C#不可能没写过foreach语言,怎么可能没过呢。在老师的继续追问之后,我蹦了出语法糖,IEnumerator,Next啥的。期间回答了无数个不知道。
“在C#里用过指针吗?”我说没有。难道老师察觉我是反叛的学生了吗?然后开始谆谆教诲,说是为了效率。好像在C#里写指针很牛逼吧,难道这个老师其实个高手?其实我在C里写指针还行,只是C#里一般用不到,觉得大多数的性能问题都可以通过合理的数据结构和算法解决,除非像图像识别之类的密集运算,不过我懒得说了。而且我是做互联网开发的,性能瓶颈在数据库什么的,也没机会接触到这个。反正说了记不清多少个不知道。最后,我问老师是在什么项目在C#里面用的指针呢,他说是网游,客户端,服务器都用。然后老师说我已经了解你的情况了。没等老师给我个台阶说等通知让我走人,我就自觉的拍屁股走了。
后记:之前都是自学,难免知识结构有欠缺,一些公司要招熟手我也没意见。我觉得招聘程序员的关键是看思路,有没有解决问题的能力。因为大家做的项目不同,大家掌握的知识结构也是不同的,面试官与应聘者应该交流,引导,甚至讨论一些没有确切答案的问题。换句话说,我随便出一些题目也绝对能考住这个老师,但是这个老师自始至终没问过我以前做过那些项目,而是像对学生一样卖弄他的设计模式的“知识”。
通过贵人内推,还是找到了一份全职的iOS开发工作,待遇还略有提高,所以后来得到OFFER,工作中也能用上Mac,心情大好,本来想应该还是回去干.NET的。
还有一家公司让我复试,面试的时候除了问一下iOS的基础,也是问了问一些数据结构的问题,我答的不错,对于我iOS开发经验不足的情况,看来他们也是忍了,不过他们动作有点慢,拖的时间有点久,我已经答应去贵人内推的公司了。