上接    群硕笔试题(for 07 graduate)  

     找工作阶段,是不该发泄自己的这些情绪的,可是, 真的是不吐不快。
 
     周四中午被电话惊醒,通知周六去群硕面试。我说周六不成,那个MM说,那你明天晚上七点过来吧。之前,我有同学过去面试了,都说不解决户口。我就在电话里问,你们解决户口不?MM竟然说,不知道,我又问,那公司地址。。。MM说,你到网上查吧。就迅速挂了电话。
 
     在此要批评自己一下——心态不对!即使是当练兵,也应该端正态度的。因为应届生有机会解决户口,既然能有这个机会,大家都想把户口落下,虽然不知道到底意义有多大。群硕不解决户口,我就是抱着去看看的心理,结果连简历都没带,空手就去了,到了大厦,前台MM告诉说,公司没有我的简历,只好到楼下去打了两份,还好,我邮箱里有我的简历,要不就白坐了一个多小时车,大晚上的跑一趟了。
 
     顺便提一趣事:刚进电梯,一个哥们按了17层,和后天的一群人有说有笑,然后问我到哪,我说我也到17层。他说,来面试的吧?赶紧回去吧,可别来。。。Absolutely Faint!看来风言群硕的公司文化果然不假。。。。
 
     面试的情况是这样的:一个微胖的技术,拿着我的简历转了好几圈,又问前台MM说XX还没回来啊?我不适合面试.net的。。。最后转向我——他们都出去没回来,我面你吧。。。
 
    入座,问我技术方向,答兴趣在.net,java也可以。遂问我用03还是05,我说之前用03,用05有半年多。
    问:你讲讲framework1.0和2.0有什么区别吧。(后来他发现自己说错了,03里是1.1)
    答:03中framework是1.1的,2.0版本提供了更多的整合框架,提供了更多的新的特性。(我主要做WEB FORM,就主要从WEB角度说的)比如更好的缓存机制,提供了Membership用户角色权限框架,新增了五种功能强大的数据源,sitemap等等。没有提语言本身的东西,如泛型等。  
    ——PS:因为项目本身就是应用性的,主要从自己了解的应用讲,没有涉及机制底层等。那些,我确实也说不明白。
   
    问:说说CLR吧。
    答:公共语言运行时提供了一种类似JAVA虚拟机的机制,允许.net环境下的各种语言编译生成的中间代码执行于其上。。。也在一定程度上实现了跨平台性。。。
    ——PS:原理性的东西,我也看,不过,看过就过了,没有深入去理解。再次批评自己。
 
    问:一定听过Struts吧,谈你对MVC架构的理解。
    答:我对JAVA的理解都是对照.net来理解的。。。之后我讲了N层架构的实施过程,表示层、业务逻辑层、数据访问层。。。如果细化,还可以在业务逻辑层实现业务外观层。。。稀哩哗啦说了一堆,不知道对不对他胃口。
    ——PS:架构。。哎。。我想大部分做项目的人,也是用成型的一套架构改来改去吧。——浅薄之见,拍砖我也忍了,反正也是被郁闷了。
 
    问:你本科是学计算机的啊,那说说PV原语吧。
    答:对进程资源分配的一种管理方式,当请求一个资源时,P操作。。。如果小于0则等待。。。当释放一个资源时,V操作。。。
   ——PS:很久不看操作系统,做的主要都是web的东西,也不知道说得对不对。。。(顺手去google了一下,想了解详细的看这个 [url]http://oldchild.nbc.net.cn/jsjsj/DB&OS/rhyPVcz.htm[/url])
 
    问:讲讲冒泡排序和二分查找的原理,在说说你知道的其他算法。
    答:。。。。。基本原理讲了一遍,应该说还应付得过去,之后我说的把自己陷进去了。我说,还知道一些加密算法,如DES,RSA等。。
    他接着让我将一个加密算法的原理。我有点晕。。。这么个问法,我不翻才怪。我只好说,经过什么模乘/位运算啊,DES是对称的,RSA是非对称的。
    ——PS:我实在是记不住。。。如果老师说明天考试,我会去记的,否则,拿来主义就好。
 
    问:那你现在设计一个加密算法,然后分析一下它的优缺吧。
    答:。。。面对着简历沉思。。。可以对待加密内容的ASCII码进行特定的数学运算。。。他提示,加密算法能加密也要能解密。这倒是,ASCII码运算后估计乱码不可避免,那解密呢。。。
    他又说,现在考的不是算法,而是,怎么提出一个东西,然后对他进行分析。。。
    我又胡诌了一个最简单的位运算了事的。优点是效率高,简单,缺点是强度不够。
    他说这样有点应付面试的意思, 现在是SHOW TIME。。。
 
    问:如何实现一个呼叫中心,并能快速在页面上显示位置信息。。。
    ——PS:我简历写了熟悉网络编程和线程编程。注意是,熟悉,不是掌握。这个不会。线程在导师的项目里用过些,不过也基础,就是启动一个线程监听串口,进行数据的实时处理。
   
    问:同步。。。
    答:可以通过同步来实现对代码块的单一访问,排它。。。
    问:异步。。。
    ——PS:没有具体应用过,回来后把简历的这条索性去掉了,只要不是我掌握的,全去掉。要不真的会被郁闷。
  
    问:你熟悉SQL。。。那先来个最土的题。——他自己连题都没叙述清楚。
    我在黑板上写,告诉他,另外两个表都没有用了。他说,那不可能,要不我给你三个表干吗。后来他一看不对,说那查name吧,不查id了。我改。。。他提了一个问题,说这里应该用in,不是用“=”,因为后面是一个集合,我解释:按题目的意思,后面是单一记录,那用“=”号应该没问题的吧。。。
    ——PS:最后我写完,他说,其实他也不知道对不对。这个可以理解。至少我写了in,group by,怎么也是用过SQL吧。
 
     问:存储过程、触发器。。。
     答:存储过程的优点很明显,最明显的当然可以使代码简洁,然后可以提高数据访问的性能,因为数据库服务器本身提供了对存储过程的优化,有些情况下,甚至可以把数据访问层完全通过存储过程来实现。触发器我正在用。我的课题要通过触发器来记录对表的DML操作等。。。
 
     问:触发器的原理是什么?
     答:只是用。。。原理不是很清楚
     问:那你现在想一下可能是什么原理?
     答:事件探查器。。。发生特定事件时检查是否定义了针对该事件的触发器——让我猜,我也只有猜了。
     他也没说个什么究竟,又问我临时表,我说用过,##。。。他说,知道双##号,那应该是用过了。
     又说视图。。。我说项目里应用比较少。
     结果让他抓到了把柄。其中,我还提到了一个蹩脚的数据库设计,因为项目并不是很正规,基本属于独立开发,然后合代码的那种,我的工作大部分在数据访问和业务逻辑,数据库设计有些地方不是满意,但是也要听人家的。
     他说,你们的这个设计连第三范式都满足不了吧。我解释,有些情况下也需要一些变通,因为,后续才发现有这个需求,而加表会比较麻烦,只好通过拼接ID串的方式。。。
     他说,如果你说,你的项目里很少用视图,那只能说明你只是个用户,然后说视图如何如何重要,没有用过视图就等于没用过数据库。。。。
 
     不想再写了。。。越写越郁闷。。。还问到了很多,比如垃圾回收器的原理,什么样的算法实现的,application,session,cookies( [url]http://www.lslnet.com/linux/docs/linux-4141.htm[/url]),2.0下应用程序的发布方式等等等等。这几个我在之前遇到过,答得应该没问题。
 
     大晚上折腾到群硕,不到7点进去的,8:10出来的。被折磨了一个多小时,按 豪客大哥的话,成技术讨论会了。
 
     我不是强人,我不知道群硕要招什么样的人。看来,离他们的要求是差得十万八千里了。