我出的一道面试题,95%的人写不出,大家看看是否太难

guogangj 2013-04-19 10:07:03
不得不说,招人很难,我接手公司招聘工作一年多了,但几乎招不到人,有4/5的人对面试邀请爽约,而剩下的1/5的人中又大多数发觉很不合适,好不容易觉得合适,最后还不来。我为了面试最初一共出了6道题目,后来感觉有点多,删掉了4道,后来还是觉得有点多,又删掉了一道,只剩这道题,大家别笑,在开始做题前我都在应聘者旁边图文声色俱全耐心讲解了如何解答:什么是链表?如何插入?如何删除?笔试者其实只需要按照我说的写一点代码即可,可事实上真正能完成这道题目的人我只遇到一个,大多数都交了白卷(时间大约20分钟),好吧,我把这道题目原原本本贴在这里,一个字不变:

----题目开始----

实现一个链表,要求各个节点的Name都不重复,若试图增加重复节点,就抛出异常,填写下面的Append方法和Remove方法的代码。


class Node
{
public string Name{get;set;}
public int Score{get;set;}
public Node Next{get;set;}
}

class Link
{
public Node Head {
get{return m_nodeHead;}
}

public void Append(string strName, int iScore)
{
//Add a node: implement your code here















}

public void Remove(string strName)
{
//Delete a node: implement your code here












}

private Node m_nodeHead = new Node(){
Name="_HeadNode",
Score=0,
Next=null};
}


----题目结束----

大家结合我前面说的情况,认为题目难度如何?也许你觉得代码风格上有点奇怪,是的,我曾经是Windows C++程序员,后来将Windows C++编程的风格带入.net开发中来,用得也挺好的。
...全文
6412 109 打赏 收藏 转发到动态 举报
写回复
用AI写文章
109 条回复
切换为时间正序
请发表友善的回复…
发表回复
wumin940590725 2013-04-24
  • 打赏
  • 举报
回复
引用 107 楼 guogangj 的回复:
帖子已结,我给自己认为有见地的回复都加了一点点分,当大家如果还有什么看法,也照样可以继续留言讨论。谢谢。
就好像华雄被关羽一刀剁了,这个家伙是不是很弱?你单看这个当然了,弱爆了,一刀都撑不住。但是如果说在之前华雄杀了那么多人,你就会觉得哦,是关羽太强了。这个题目你说他难不,大家都有自己的看法,你要是说我花7000招一个这个人,要是有人说给他做这个题目难,那你就可以直接喷他。
wumin940590725 2013-04-24
  • 打赏
  • 举报
回复
引用 楼主 guogangj 的回复:
不得不说,招人很难,我接手公司招聘工作一年多了,但几乎招不到人,有4/5的人对面试邀请爽约,而剩下的1/5的人中又大多数发觉很不合适,好不容易觉得合适,最后还不来。我为了面试最初一共出了6道题目,后来感觉有点多,删掉了4道,后来还是觉得有点多,又删掉了一道,只剩这道题,大家别笑,在开始做题前我都在应聘者旁边图文声色俱全耐心讲解了如何解答:什么是链表?如何插入?如何删除?笔……
我不知道你为什么觉得我的想法不好。大家搞技术就不要吃饭了? 你这个题目1w工资的看着简单,7000可能一时反应不过来,4000觉得差不多,3000你指望人家会这个? 我最讨厌公司聊完之后就说你这个不好那个不好,不过价格便宜点我们也能用。我个人认为这个就是企业文化的问题。什么都想要最低的成本干最好的活。 仅个人意见,不同欢迎讨论
haoruixiang 2013-04-23
  • 打赏
  • 举报
回复
引用 98 楼 jiayouxjh 的回复:
引用 73 楼 haoruixiang 的回复:时 间 2011年3月至今 公 司 公司性质 民营公司 公司规模 150-500人 行 业 计算机软件 部 门 产品二部 职 位 电信网络工程师 工作描述 开发部:软件工程师 主要工作: uinx下C\C++开……
为什么? 。。。。。。
jy251 2013-04-23
  • 打赏
  • 举报
回复
我的第一反应不是怎么写。。。而是在考虑如果是单向链表,那么这样比较重复,性能怎么提高啊?
guogangj 2013-04-23
  • 打赏
  • 举报
回复
帖子已结,我给自己认为有见地的回复都加了一点点分,当大家如果还有什么看法,也照样可以继续留言讨论。谢谢。
啊飞凤飞飞 2013-04-23
  • 打赏
  • 举报
回复
刚开始看第一眼 觉得好深奥,链表撒的数据结构最吓人了。 最后读完楼主代码才发现 我这个半吊子也可以实现。 哈哈。太专业的名词很容易把我们这些半吊子吓到,相信lz面试的几个应该不是不会,是太紧张被题目表象给被吓到了。
guogangj 2013-04-23
  • 打赏
  • 举报
回复
我试图总结一下吧: 有人说这些东西实际上用不到,不应该考,或者算法不行,性能不行之类的,其实我的目的就是想考考应聘者的“写几行代码”的能力,如果真要考实际上用的东西,估计也好不去哪里,把题目改成“完成初始化一个字典”这样估计通过率也不会比这个更高——我删掉的题目中就有这么一道,但我后来觉得我考的不应该是这种默写能力。 考业务?——难,365行,行行用计算机,但业务千差万别,我不知道从何问起。考具体的技术?——也难,如果一个程序员之前用的是Winform,而我们却在用WPF,他从来没用过,一考就通不过,但我不能说这个人不适合目前的工作,就算他之前使用过WPF,可他估计也默写不出一条简单的绑定表达式。 想来想去,只好考考最最基本的能力,也就是“写几行代码”,当然一些东西已经潜在其中,比如:如果应聘者没听说过链表,那么我向他充分解释之后,他能把题目做出来,说明他学习能力强;题目中可能使用了他之前所不太熟悉的风格,但如果他能通过,说明他适应能力强;用笔试,而不是上机,就能充分挖掘出应聘者组织代码的能力;再则就是代码中有些简单的英语,这是我们开发中必须要看得懂的,我们不能使用汉语拼音做标识符啊。 程序说实在的,我10年职业生涯下来经历面试无数,从来没有遇到过这么简单的笔试,所以我有些奇怪的是为什么这么多人做不出来,我知道这道题目会滤掉一些人,毕竟这是选拔试题,但我没想到会滤掉这么多。 至于薪水,这是很没有办法的事情,不是人人都叫“高富帅”。
zengxin2008 2013-04-22
  • 打赏
  • 举报
回复
搞毛,哥是做.Net的,正在准备找工作,看来找份理想的工作还是比较难啊
嘶吼的蚂蚁 2013-04-22
  • 打赏
  • 举报
回复
个人觉得招.net考这个有点不太合适...如果是C或者是C++的话,这个就挺好的...
Pasron 2013-04-22
  • 打赏
  • 举报
回复
如果你要找好的.NET developer的话,不如多出点lambda expression, IEnumerable这些和Linq有关的。
Pasron 2013-04-22
  • 打赏
  • 举报
回复
顺带说一句,某年我面google的时候,他们让我写hashtable,然后给除了各种情况,还要我优化⋯⋯⋯⋯
Pasron 2013-04-22
  • 打赏
  • 举报
回复
只能说如果这些都不会,你招了那些人也没有用⋯⋯
那一年我们21 2013-04-22
  • 打赏
  • 举报
回复
引用 78 楼 notax 的回复:
超过了20分钟 C# code?12345678910111213141516171819202122232425262728 public void Append(string strName, int iScore) { Node node = Head; while (node.Next != null) { ……
这个不错
jaedongjuly 2013-04-22
  • 打赏
  • 举报
回复
jiayouxjh 2013-04-22
  • 打赏
  • 举报
回复
引用 86 楼 kanme818 的回复:
个人不太喜欢面试还要做题的,一道还好说,一坨的更讨厌。交流下思路不就可以了么,非要白纸黑字么
牛逼公司必做,而且还都是手写,google、微软那种就算有很好的思路写不出来一样白搭。。。
jiayouxjh 2013-04-22
  • 打赏
  • 举报
回复
引用 73 楼 haoruixiang 的回复:
时 间 2011年3月至今 公 司 公司性质 民营公司 公司规模 150-500人 行 业 计算机软件 部 门 产品二部 职 位 电信网络工程师 工作描述 开发部:软件工程师 主要工作: uinx下C\C++开发,SNMPv2、SNMPv3协议,安全框架、服……
妹纸,写精通c/c++会让你死的很惨。。。。。。
eesprite 2013-04-21
  • 打赏
  • 举报
回复
单向列表的确很简单,双向也不会难到哪里去,只不过用了.Net那个2货要去用链表啊,不吐槽就奇怪了,还不如出题让人上机去实现ICollection,C#设计出来就是配合着IDE写,名称长,借口多,这方面会查和会IDE就行了,解放双手啊,楼主又回去了。
guogangj 2013-04-21
  • 打赏
  • 举报
回复
引用 80 楼 u010383116 的回复:
标题跟命题都有点唬人,乍一看命题以为要面试的人把C#中的链表类自己实现一下,而且是脱机笔试。心里马上嘀咕LinkedList到底要实现哪几个接口啊.再下向看题目原来只是借了个概念名写一段再简单不过的代码。哎什么老是以概念唬人呢
没唬人,我说的都是事实。
guogangj 2013-04-21
  • 打赏
  • 举报
回复
引用 69 楼 microtry 的回复:
引用 楼主 guogangj 的回复:不得不说,招人很难,我接手公司招聘工作一年多了,但几乎招不到人…… 你们公司让一个技术人员去负责招聘?我觉得不大合适 招聘起码要做到的是明码标价,比如,你的最低月薪是3k(保险福利另算),那么最高工资就是6倍(18K) 这样的话,招人的时候,你们只招聘最初级的,门槛越低越好, 中高级完全靠自己培养,晋升 人力资源选人的条……
你的建议不错,但估计我改变不了现状,相信你也知道,在国内大多数部门经理级别的职位都没有财务权的。
三五月儿 2013-04-21
  • 打赏
  • 举报
回复
引用 70 楼 microtry 的回复:
人力资源总体趋势是: 个人能力将越来越弱,(软件)生产将越来越依赖团队能力 如果你们企业招人很难的话,那就意味着: 你不能用的人,别人一定能用; 如果你们企业人员离职频繁的话,那就意味着: 你用不好的人,别人一定能用好 如果情况刚好相反的话,那就意味着: 你们企业在人力资源的竞争中拥有优势地位
+++++
加载更多回复(86)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧