返回列表 发帖

[转载]求职者看面试官:和不懂技术的人谈技术

上午9点半,如约来到面试地点,特地还喷了点阿迪男士香水。到地了,先填表。OK,大概填了一下,字写的我自己都不认识。然后就是常规笔试,看了看题目类型(C#高级),题目大概如下:

  1.

  1.1写出一个单链表的结构体定义

  1.2根据定义写于一个插入操作,假设链表是有序的(忘了是升序还是降序了),原型为BOOL Insert(Node* pHead, int value)

  1.3 根据你写出的方法,写出所有的测试用例

  2.给出一个函数 Char* Revert(Char* pStr),将字符串pStr逆序,然后返回逆序后的字符串

  以上是编程题,是给的C++原型,可以用C#或JAVA作答。

  底下的都是小题,就记得不清楚:

  怎么调试ASP。NET程序?

  怎么防止类被继承?

  在子类中怎么访问父类的成员?

  怎么判断一个dataset是不是空的?

  给你一个dataset,怎么在datagrid上显示出来?

  ref和out是啥?有什么区别?

  viewstate保存页面的状态存在什么地方?

  在ASP。NET中Redirect和Transfer有什么区别?(这个还真不会)

  怎么从一个company表中选出address以“Beijing”开头的结果?

  如果有用户信息,用什么方法可以最快的取出来?请写出你存储和获取User信息的方法。

  给一个用户表,用XML格式表达出来。

  大概就记得这么多,基本上不怎么难,相信园子里好多兄弟都能得满分。

  下面就是面试,是一个HR MM。

  先巴拉巴拉介绍自己,说了两分钟。

  这位HR MM就开始考我的技术了。

  附上招聘需求:

  1、大学本科或以上学历,计算机及相关专业毕业,3年以上工作经验。

  2、丰富的上C#/.Net开发经验。

  3、精通Windows程序设计,精通VS.NET。

  4、熟悉TCP/IP网络和多线程编程。

  5、热爱技术工作,具有钻研应用新技术、新知识的能力,责任心强。

  6、熟悉软件设计流程,具备良好的软件工程思想,对UML/设计模式等有一定了解。

  7、有良好的沟通、协调、表达能力,能够独立完成工作,有敬业精神,具备良好的团队精神。

  8、较强的英文听说读写能力优先。

  9、有WPF/WCF经验者优先。

  以下为大概的对话过程:

  HRMM:你用过VS吗?

  ME:哦。。。。用过

  HRMM:你用的是几?是2005吗?

  ME:继续。。。。。哦,都用过,2003,2005,2008.

  HRMM:您用过TCP/IP和多线程编程吗?

  ME:哦,这个真没有。TCP/IP是协议,这个知道些。多线程没有这么针对过,因为多线程编程不好控制和调试,所以基本上项目里不怎么提倡用。但是.NET里许多调用,像异步调用都是多线程的。还有基本上如果UI里有些比较耗CPU的操作,这样的话才会考虑多线程。(相信很多兄弟都知道,网络编程C++一直是首选啊;多线程的话,因为比较难以调试,需要控制很精确,像大型项目里很少用到,反正我是没用到过)

  HRMM:那你对新技术了解吗?比如。NET 3.5.

  ME:哦,了解一些。微软的产品升级太快,今年年底就出4.0了,新技术一般我都是稍微了解。

  HRMM:那你了解WPF和WCF吗?

  ME:哦,首先这两个是3.0版本就有的技术,不是3.5。我因为没做过相关的项目,所以基本上就是了解大概的原理。

  WCF就是集合了以前集中分布式通讯的方法,打包封装成新的WCF。我看过他们的几种服务类型,也就是跟WSE,MSMQ类似。(WPF其实就是综合了MS的几种图形技术嘛,2D,3D,流媒体等。说的不对的地方,大家帮我指正。)

  HRMM:那就是没有相关经验了,对吗?

  ME:哦,是的。

  HRMM:你熟悉设计模式吗?(终于到重点了)

  ME:哦,稍微知道一些,都是软件开发里一些经验的总结嘛

  HRMM:那你都了解哪些模式?

  ME:单键和抽象工厂。像在。NET 的类库里就有很多的设计模式的应用,但是基本上这种东西都用在框架设计方面,我作为技术开发人员,比较少参与。

  HRMM:不是这样吧,开发模式不仅能用在框架设计方面,在很多方面都有应用吧。

  那你平时在项目里主要的工作是coding是吗?

  ME:(我很无奈)是的。(偶在一30+人的组里coding,而且项目都是EADS的,研发近20年的产品)

  HRMM:你会观察者模式吗?

  ME:这个我真不会。

  HRMM:那就不好了,我们对这个还挺看重的。如果给你个问题,你用观察者模式能解决吗?

  ME:这个都是些经验的总结,有很多设计模式的书讲这个。但是不是每个项目一定都适合观察者模式,这个得综合考虑。

  HRMM:那假如适合观察者模式呢?

  ME:我。。。。,

  HRMM:你觉得你今天的题答的怎么样?

  ME:这题出的一般,我估计我能得70分吧。

  HRMM:不见得,以我的经验,估计不会那么高。好多人都觉得这题出的简单,但是都分不高。

  ME:主要是吧,计算机这东西有些纸上是写不出来的。可能有人善于写程序,但是写在纸上却不行。这是有很多“软”能力在里面的。

  HRMM:那你觉得你的长处在什么地方呢?技术上。

  ME;你这个卷子是给高级开发人员出的,出基本的就不合适了。这套卷子有很多应用的东西在里面,做过的人都知道。像有些代码,我确实不知道;知道也忘记了,太细了。

  HRMM:你还有什么问题问我吗?

  ME:没有。

  OK ,在继续写点。

  1.coding是程序员基本的能力

  不论什么级别的程序员,我想coding都是第一位的。但是coding就真的那么简单吗?我却不这么认为,小到一个变量的命名,大到一个功能的实现,没有扎实的coding能力,难保不会出bug?bug出在自己的测试部门还好,要是出了自己部门,那可是丢面子,还有绩效的。

  2.HR 基本都是照本宣科

  我没有抱怨什么,也没有责怪这位HRMM。就是跟一个不会技术的人谈技术,我很别扭。不知道说什么?

  就是写出来,记录一下。我可没有责怪任何人啊。

  3.设计模式

  DP是很多面试必问的题目,但是这个东西不是那么容易掌握的。你在一个地方应用了某种模式,不见得下次在同样的场景下还能正常应用?而且我认为没有几个大项目的锻炼。而且你确实得负责需求到功能的设计,才能对其有所领悟。我们毕竟不能因为模式而模式吧?而且我个人确实也不喜欢DP,纯个人习惯。
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

返回列表