二线城市招聘的感想

2014-08-14 15:18:26 +08:00
 jsonline
我说:我要招个有编程的基础的。
你写一个插入排序,随便什么语言,可以么?
举例
输入 [2,5,3,1,9]
输出 [1,2,3,5,9]

对方顾左右而言他。(不止一个人是酱紫)

呵,呵。
14767 次点击
所在节点    程序员
128 条回复
star001007
2014-08-14 22:47:47 +08:00
不懂路过。算法没研究心得!
so898
2014-08-14 23:20:37 +08:00
第一反应是冒泡,第二反应是快排,看到打牌那里才想起来是怎么排序的,艹……
davidli
2014-08-14 23:24:29 +08:00
虽然工作中一般用到排序的时候大多直接 sort(), sorted(), 但作为求职者, 明知道面试官喜欢问算法题, 这种基础中的简单问题都不会也绝对说不过去. 真要对这次面试还有一点点在意, 至少也把大学(或高职)算法课的讲义翻出来看两眼吧.

而在楼主详细描述了一遍的情况下, 还是写不出来这种最基本的程序, 这种编程能力还能干什么?

楼上诸位说自己不会这个排序, 不会那个排序的, 真是拿无知当优越. 我不会插排, 不会归并, 不会快排, 连冒泡也不会, 但我知道我是个好程序员.
ichigo
2014-08-14 23:30:54 +08:00
这是基础吧,当年上大学的时候,数据结构,把7种排序玩了个遍……
timothyqiu
2014-08-14 23:32:13 +08:00
看了一大半,我感觉自己是站在楼主这边的。然而看到最后「呵呵」两个字,反而立马就想帮应聘者讲话了。
harryert
2014-08-14 23:46:34 +08:00
忘得一干二净的飘过。。。。

排序也好,链表也好,二叉树也好,统统忘记鸟。。。。

那我说我是干啥的那,码农,it搬运工抑或IT行业的其他相关人员。。。。
KentY
2014-08-15 00:34:01 +08:00
插入排序(Insertion sort)还是有用的, 它自己一般没人用, 但是Merge Sort(合并排序?)的时候, 当分的部分已经足够少, 可以不再继续分, 而用插入排序in-place排. 会比递归到底效率高.

3年前没事的时候实现过一个:
https://github.com/sk1418/jalgorithm/blob/master/src/main/java/com/kent/algorithm/sorting/OptimizedMergeSort.java
spacewander
2014-08-15 00:48:12 +08:00
考这些太过基础的算法其实就是考死记硬背而已……
毕竟除了大一大二或预先准备的人,不会有人记住的。

好的问题应该是,允许使用任意语言的标准库,比如sort,find等等,实现一个A*算法(或者标准库里没有的其他算法)
spacewander
2014-08-15 00:50:26 +08:00
顺便水一下,当年试过对着《算法导论》把快排敲一遍,结果这个版本的快排比标准库的sort慢了一个数量级……这才知道世界上真的有黑魔法的存在……
KentY
2014-08-15 01:37:31 +08:00
我觉得吧,招程序员问算法一点都不过。 但没必要因为人家不会就笑话人家。

就好象,数学家都会求最大公约数,但笑话别人不会求大公约的,一定不是高水平数学家。
icyalala
2014-08-15 02:31:28 +08:00
一线城市,上市互联网公司:
每到校招季节/跳槽季节,我们部门的面试官们都翻书上网复习算法找各种算法题来做,生怕Hold不住应聘者。。
应聘者们也拼命复习算法数据结构,扔掉早已习惯的IDE拿出纸来练习手写代码,生怕被面试官KO掉。。

等两年后,应聘者变成了面试官,再一次重复了这个故事。。。

每到这种时候,我都想说:有意思吗!有意思吗?有意思吗?!
面试一上来问个学院派的XX算法,面试者很快刷刷写出正确答案,除了能证明事先准备过,还能看出什么?
有人就是不习惯在纸上写代码,遇到这种题再一紧张搞不定于是顾左右而言他,这样就说他没资格面试程序员了?
同事和同学也不少在BAT的,大家都知根知底,有几个人还在天天搞这些算法题?


====================
PS: 当年校招腾讯二面的时候,一上来出了道算法题,面试官很看不起我的样子背对着我玩电脑;题不难但搞的我很紧张几分钟没搞定,然后被直接撵走了,挺受打击的。。过了很久,问到腾讯的同学说那是压力面,面试官后来也说接触过,人不错,只不过压力面他把控不好。

但到底我还是对面试时手写算法有点心理阴影,以至于看到楼主这种面试过程就有些激动。我很认可算法的重要性,但是很反对楼主这种一上来就抱着笔纸让写那些无聊学院派算法的面试,忽略了对应聘者全面了解的机会。

最近我刚换完了工作,期间大小公司也面试了几个也都还算顺利,准备了算法但基本没用到。这些面试更多注重项目经验、架构设计、管理能力、学习能力、解决问题的能力。如果楼主要想深入了解一个人的算法能力,不妨给台笔记本,出个工作中的实际有用的算法问题来看他的解决问题的过程与思路。


关于面试与算法的讨论:
http://www.zhihu.com/question/23105514
http://coolshell.cn/articles/8138.html
相信每个人都能从讨论里找到支持自己论点的证据。。
levn
2014-08-15 08:21:49 +08:00
再不学算法就老了
zzNucker
2014-08-15 08:43:58 +08:00
跪下来,这种排序都答不出来的居然还有人出来洗白。
lliioogg
2014-08-15 08:44:55 +08:00
我艹我居然也不会
icanfork
2014-08-15 09:00:46 +08:00
@zzNucker 我前端,如果在面试上,可能我也答不出来,但是我不怀疑自己的实力,起码够用。
missdeer
2014-08-15 09:13:53 +08:00
我想说我翻过算法书好几遍(至少排序算法部分),但现在仍然忘了。
sgissb1
2014-08-15 09:22:05 +08:00
如果工作经验不多的,让他写代码倒是不错。

如果有一定经验的,就别写代码了。只要能够把什么是插入排序讲清楚就行了。因为写代码会涉及到面试时紧张与否等问题。

不过挺好奇卤煮招什么条件的人,和面试了什么条件的。
pljhonglu
2014-08-15 09:32:35 +08:00
排序算法大学里学过也写过,但是工作从来就没用过。。。我觉得面试还是针对项目来讨论比较靠谱。如果是毕业生的话问问算法数据结构还可以。
codingpp
2014-08-15 09:39:37 +08:00
排序算法在工作里还真用过
因为不仅仅是排序,还要在排序的过程中干其他的事情
当时用的快排
bombless
2014-08-15 09:43:28 +08:00
平时用冒泡,背过快排,其他的都不会ww
不知道po主是怎么介绍插入的。

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

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

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

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

© 2021 V2EX