c# 对比bitmap是否相等_C#项目组招人,这几天面试了几个应聘者,想吐槽一下

最近C#项目组招人,刚好几个大佬都不在这边(在公司总部),于是技术面试的任务就交到了我这个菜鸡身上。

最近三天,面试了大概五个人。都是4-5年工作经验,有一个是8年工作经验。三个大专生,两个本科。八年工作经验的那位,是大专毕业后去了某某青鸟培训学院学的软件开发。

先说下整体结果吧,失望!非常的失望!

起源于我面试时问的一个问题:有50万个int类型的数字,现在需要判断一下里面是否存在重复的数字,请你简要说一下思路

请注意问题,我只是需要判断里面是否有重复数字,我不需要找出里面有多少个重复数字,重复了多少次。

我的本意,是想考察一下他们对C#的基础掌握的如何,以及是否可以灵活运用相关的知识点,写代码时是否具备一定的代码质量意识。

一开始的构想是这样的:

如果应聘者回答使用嵌套循环进行遍历比对,我就指出这样写可能存在效率问题,同时引导他们去想是否还有其他方法来实现。

如果应聘者回答可以使用C#的List集合自带的去重方法,例如 Distinct(),GroupBy()等,起码我会认为他有用过相关的知识,如果其他技术考察也能过关,招进来写个CURD还是可以的,同时也会继续问,有没有其他办法呢?

67d933a600e824d4472f4e0517669f96.png

如果能回答出 “利用 Dictionary 的Key值唯一的特性,HashSet 元素值唯一的特性 进行判断",我会觉得他基础还算可以,并且可以活学活用,可以重点关注。

如果能自己设计一个算法来实现,那就超出了出这道题目的预期了,自然也会重点关注。

结果真的是惨,没有一个人能回答出来。

有两位支支吾吾想了半天,才回答说利用循环来判断,我继续追问大致怎么写,却发现他们都说的是单循环,当前元素跟它的下一个元素做比对。

有一个人,想了半天,反问我,为什么会有这样的问题?要这50万个数字做什么?这不符合逻辑!什么样的应用场景下,会去对50万个数字进行去重?一连串的反问,差点把我都问懵逼了。

还有一个人,想了一会跟我说,第一步,我会搭一个docker,开启redis,然后加载这50万个数字到redis里,再然后.......我差点心肌梗塞,赶紧友情的提示他,这50万个数字已经加载到内存里面了,你也不用担心内存不够用,只管说你的实现思路即可。然后支支吾吾了半天,还是没有回答出来。

没有一个人能答上来,我一度怀疑,这题难道是太难了?然后在公司群,在好几个技术群里面询问了一下,好多还在上大学的都答出来了,绝大部分群友都认为我这个题目过于简单,更适合用于考察 1-2年工作经验的新手。

我不明白我现在遇见的这个情况只是个例,还是普遍现像,为何工作了四五年之久,基础也能这么差。就算是这四五年,都在做重复的CURD,C# 语法自带的Distinct去重方法,也应该用过吧?写过分组统计查询的sql,也应该知道GroupBy 有去重的效果吧?

都知道国内的程序猿是吃青春饭的职业,年纪大了,要么成为技术专家或者业务专家,要么转型做项目管理,要么转行。不可能到了30岁,35岁,还是只会写基础的CURD吧?

我这人不太会讲大道理,也不太会灌鸡汤,希望那些入行没多久的程序猿,多多做好自己的职业规划。

程序猿这个行业,基础是最最重要的,越是高级别的岗位,越看重基础。

望各位引以为戒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值