现在的位置: 首页 > 综合 > 正文

阿里电话面试下来的感受

2012年11月19日 ⁄ 综合 ⁄ 共 2853字 ⁄ 字号 评论关闭

最近偶尔的机会,群友内推了下阿里CBU部门,两轮电话面试下来,感受一般般,但还是得到了不错的评价。只是对于这个评价感慨颇多,略述一下。

 

群友说,给我的最终评价是:有戏,但对新技术的学习是短板,没有热情,个人规划也不理想。

这个评价,是中肯切实的,就目前来说,我对未来做些什么确实没有明确的规划;而对新技术,也确实没有什么热情了;借此也抒发一下对此二者的感受吧。

 

个人规划:相比来说,我是那种自制力不是很强,且非志向高远执行力强的人,10年来,看过了各种人物的欢喜悲愁,你再努力,跟不对人,站队错误,最终也未必能得到什么好的结果;也见过几个人孜孜不倦的努力最后成功,但是不论如何成功,并不是你想成功就百分之百就一定会成功的。

      人的一生,是充满了各种危险,机遇的,说不定明天我就有个好机会创业成功了。见惯了千奇百态的社会,各种规划对我来说,不过都是走一步算一步,做好手头的事情,至于今后会发生什么,随遇而安。这算不算是一种悲观的生活态度?我宁愿相信乐观的人,都是无视社会人生现实,醉生梦死的250。

 

学习新技术:这是我认为最可笑的一部分,电话二面结束的时候,我问面试官,Node.js你们现在用么?WebSocket用吗?面试官表示Node.js没用,WebSocket沉默以对,就这样凭什么说我学习新技术是短板?

      在我看来,对于新技术,了解即可,但关键是能用上么?了解那么多用不上还不等于白看?难道知道的多,然后再偶尔的机会可以借取经验?

      相比来说,我更倾向于实践,曾经跟风过BREW,而现在的移动开发者大多数甚至连BREW听都没听说过,我学了有用么?学XHTML/DIV+CSS的时候,去面试,人家面试官直接说没听过,拜拜;那可是6年前甚至更早的时候,新技术给我带来了什么?

 

是的,以上都是控诉+吐槽。

 

但我更认为面试官自身问问题的方式就不适合我的思维习惯于目前的状态。

就个人规划来说,我自己计划的是3年内深入架构师,然后慢慢转向管理岗位。

而就新技术的了解来说,我更倾向于发现问题找解决方案,或者简单看一下大概情况。

  并且我更倾向于,了解到什么新技术,自己亲自试一试,而不是天天看啊看,对于面试来说,像Node.js/WebSocket,自己知道但不用,跟不知道区别很大么?

 

 

我觉得,作为面试官,问常上什么网站,看什么书,也算正常,但是并不是所有人都有空看这些,我也告诉面试官,我曾经有2年没怎么看书,我就很奇怪,作为面试官为何不深入下去问,那你这2年是在做什么?方便回答么?作为面试官,一点都不好奇么?

我在这2年间,其中有一年在困惑,伤感,另外一年,间或看看书,但也不记得到底看了些什么,乱七八糟还是翻过很多的,不过另外的时间一直在开发自己的股票行情分析软件,完成了数据导入,基本数据库的构建到程序基本架构搭建的过程,其中操作的数据量超过100G,最终将超过1T的级别;前台界面基于Swing+ChartDirector,我会说我打算采用SSD+CUDA?几乎用上了我所有的业余时间,哪儿来的时间看书看网站?

所以,总结下来,还是面试官的问话方式有问题,如果换了是我,我会这样问,方便聊聊你下班时间都做些什么?晚上会偶尔翻翻书,上上JE之类的网站么?

 

 

 

20130709:

峰回路转,本以为就此结束了,朋友也告诉我结束了,上周五又打过电话来告知下周一视频面试,OK。

周一一大早飞奔回家,等了半个小时电话来了,结果,叫我加QQ视频,有点惊讶,难道不是自有软件?OK,上QQ,对方2人,然后要求打开远程桌面/eclipse写代码,之后。

 

第一题:2个线程对变量J+1,2个线程对变量J-1:

答:多线程代码略过,最开始我将变量J命名为int类型,后来想想,改成了AtomicInteger.

  接着要求打印每个线程的标识,这里我笨了一下,直接用之前开启变量的计数器打印了;

  接着进一步要求打印当前线程的名称,这里就完全不记得了,做了几道题后,突然间想起来了,然后告知面试官我想到如何打印所属线程的名称,并改动代码show之。

 

第二题:5张火车票,两个窗口卖,模拟一下:

答:一开始我写了2个方法getTick1/getTick2被多个Threa调用来模拟,之后面试官提示,两个窗口相当于两个线程,改之并完善了一下,基本正确。

 

第三题:要求以字节的方式截取指定数量的字符串并返回,如:我ABC,截取4,应该返回我AB,我ABC汉,截取6,应该返回“我ABC”。

答:第一次,我按照char的方式,对char在GBK码表里的汉字码值来判定,代码写完,由于不知码值多少,我说大概是这个意思。面试官提示,答的不对,要按字节的方式截取。

  第二次,直接getBytes,通过操作字节,以字节码值在GBK码表的区间判断,当然我依然不知道码值多少,直说大概是这个意思。面试官貌似非常不满,你这代码不能执行,遂提示你网上搜一下别人的写法。

  第三次,搜了下,GG排行第一的代码,恍然大悟,原来是先按指定的长度getBytes,之后以指定长度递减并getBytes来判断2次getBytes的长度是否一致来判定末尾是否汉字,以此来决定是否需要舍弃最末位的字节。简单改了改,DEBUG了一下,很久没搞对,说实话,我下班还没吃饭,已经饿的受不了了,几次想放弃,还是鼓气坚持下来,其实就是>符号写反了,改之测试通过。面试官答,这个姑且算你通过把。

  接着面试官表示你的代码难读,我说是有点可能着急了点吧,然后要求把这个方法的注释写一下,简单写之,作了个文字示例。

 

第四题:A继承B实现C,B继承D,打印A继承的接口和超类,打印A的变量和方法。

答,此前研究过,简单调试后无压力通过。

 

第五题:面试官简单问了下,JS水平如何,答2年没怎么写了,出了个题,多选,反选,单选用JS实现一下。

答:打开记事本,写完了在Chrome上打开,报错,审查元素,Console,看了下JS代码出错,var写成int,改之通过。

 

第五题:另一人问,会Unix?不会,Linux,会点。给你一个Class名,用Linux命令查找,答:grep /app/xxx "classname";怎么知道本机与对方机器连接,答:netstat -an | grep 6000 | grep EST???,跟着面试官表示他没有问题了。

 

之后问我有什么问题问他们,我问,你们吃过饭了吗?笑笑不做答,问我你还没吃饭吗?我说是呀,我上班的地方比较远。然后我问,我可以通过吗?面试官说等通知,我说我没什么问题了。OK,那你先去吃饭吧。

 

总结:上面我对面试官的出题部分简化了,面试官原本的描述略微复杂混淆,需要分辨才能搞清楚。

  另外,就题目来说,第三题我认为我的解法可能比面试官的解法性能更好,简单写了点代码,确实如此,并且源内容越长性能越好,如下:

  详细代码见这里:http://www.cnblogs.com/cmings-chen/p/3180463.html

抱歉!评论已关闭.