面试一个一万左右的人,让他写冒泡排序,递归和一些基础 sql 题,会不会过于简单

2020-08-13 13:50:34 +08:00
 jiangfkyyy

我觉着题挺简单的,可是大部分写不出来... 去某些编程群问,发现很多人观点是工作几年会忘,不会写也比较正常 大伙提提意见

12388 次点击
所在节点    问与答
114 条回复
pkoukk
2020-08-14 09:46:51 +08:00
考算法的本意是看候选人解决问题的 coding 能力,能否根据题意以及面试官的引导找到合适的思路和想法。
这完全是个综合题。
现在的算法题变成了 leetcode 上随便抽一题,做吧。这有什么意义,这不就是考记忆力么?
那么多题的“精妙”解法,和小时候的脑筋急转弯有什么区别
ke1vin
2020-08-14 09:47:29 +08:00
你们 CS 出来的冒泡都写不出来?别闹
overthemoon
2020-08-14 09:48:41 +08:00
@LongMaoz 项目经验一样能套题,稍微问一下算法题的思路也是不错的选择
yangyaofei
2020-08-14 09:48:49 +08:00
面了 10+个人,没有一个知道图的遍历有哪两种(仅仅说出广度遍历或者深度遍历,不写,甚至不用描述)
pkoukk
2020-08-14 09:49:23 +08:00
回到题主的问题,面试一万的人让他写冒泡排序觉得欠妥
你完全可以让他写排序,管他写的是插入排序冒泡还是希尔呢?
写完了丑你再让他优化呗
leonardyang
2020-08-14 09:51:23 +08:00
说快排确实绕不一定记得还合理,冒泡现场想都能想出来吧。。。基础 sql 写不出来是什么鬼,这不是 curd 小子基本功吗。话说我上家面试的还不到一万,没问算法而是问了很多 java 和 spring 原理问题,然后穿插着问了很多项目实践上的问题,还是挺有意思的
ZehaiZhang
2020-08-14 10:00:39 +08:00
def maopao 可还行,应该写 gulugulu 🐶
@oahebky #48
sheny
2020-08-14 10:20:17 +08:00
面试产品还要会写冒泡儿~嗝
Courstick
2020-08-14 10:20:42 +08:00
@yaphets666 你大概是没见过从小学就开始准备 NOIP 的 现在一些初高中是有计算机特长班 专门准备竞赛的
justfindu
2020-08-14 10:28:26 +08:00
我已经不太记得这些... 毕竟我们公司面试来的人 需要能够尽快做业务的 当然会那就更好 更看重实际能力
DJQTDJ
2020-08-14 10:30:44 +08:00
这不是很正常吗。
我现在让你写 c 语言二叉树题目。你也够呛能写出来吧。
xuewuchen
2020-08-14 11:10:26 +08:00
个人的意见是,尽量别问一些百度就能够解决的问题,因为现在的程序员很多都是搜索党,拿我自己来说,当初研究的很多东西过了一段时间不用就忘了,但当时会有 DEMO,再用的时候就会去翻 DEMO 。
比如当初研究 RSA 加密,加密解密了解个臭够。。但是让我现在写一个加解密的程序,必然是写不出来了。。只能翻 DEMO 。
程序员重要的是积累和拓展思维以及解决问题的能力,而不是问一些相对固化的问题,当然不是说基础不重要,我觉得对于程序员来说冒泡递归之类的算法应该是能写出来的。。。但是比如我是 C#程序员我能用 C#写出来,但是你非要让我用 SQL 写我就写不出来来了。。因为 SQL 没有了解那么深刻,只停留到比较基础的应用增删改查啊,存储过程之类的。没用 SQL 写过程序。。嘻嘻
yaphets666
2020-08-14 11:12:25 +08:00
@Courstick 我知道 这种都是毕业直接去谷歌苹果 国内公司应该不会看的
zhw2590582
2020-08-14 11:20:23 +08:00
我以为你面试了一万个人左右
paulee
2020-08-14 11:34:06 +08:00
@yaphets666 别太神话了,NOIP 拿一等奖也不难,好多 ACM 金牌都是高中零基础的,到毕业面试还是得看自己准备。不过对于这个问题,我觉得 LZ 应该想好自己需要什么人,是需要面试前做了一定准备的(或有一点算法基础的,还是说进来就能干活的,毕竟 1w 放在一线城市也不算多...
zzzzbw
2020-08-14 11:37:51 +08:00
我正好最近也在面试人,我说一下我个人面试的思路吧。

首先你先定义一个下限, 就是说如果连某些特定的问题都没法解决的, 想要的那就直接 pass 。比如,我想找一个 CRUD 的,然后对面对 List, Set, Map 都搞不清楚的话, 那就可以让对面等通知了(注意,我想要招 CRUD,而这三个集合是 CRUD 中最常用的所以我下限定的是这个,而不是“连 List, Set, Map 这么简单都不会,我不要了!”)。所以假如你招算法岗不会冒泡,DB 岗不会简单 SQL,那直接 pass 完全是可以理解的。

接着我认为面试是发掘对方的优点,然后看看哪个人的优点更匹配自己的需求,而不是像应试考试一样给完全相同的题目看谁的分高。 比如你想考察算法数据结构部分的能力,你可以冒泡排序起手,如果对面可以轻松回答,你可以再进一步问怎么优化,如果还能解决,你可以再问问树、动态规划之类的,直到对面不能顺利答出为止,那你就大概了解对面的算法能力。如果一开始冒泡都不清楚的话,那我就不继续问算法相关了,但也不会因为这个一票否决他,只是说算法这部分对面在我这里不加分。

最后再综合对方在算法、数据库、Java 、项目等方面的表现,根据自己项目需求的权重(或者个人喜好),决定这个人通不通过。

所以除非这个人触犯了你所定的要求下限,都不应该由于一个问题一票否决一个人。
zzzzbw
2020-08-14 11:47:05 +08:00
另外面试的时候最好也是判断一样是硬背的还是真的熟悉,考算法最好结合场景,或者加点变式。当然如果是背的算法在我这里也不扣分,毕竟背书也是一种能力,而且背多了有可能真的就会了。只是加的分没真的会的人多而已
jiangfkyyy
2020-08-14 12:45:10 +08:00
@zzzzbw 谢谢指导
xuanbg
2020-08-14 12:59:45 +08:00
算法问原理和实现思路就行了,写代码就过了。手写代码没法看,机写跑不起来多尴尬。
charlie21
2020-08-14 14:31:40 +08:00
我又想到了这个皮裤面试的问题 /t/694092

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/697948

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX