最近面试一个某国外共享办公室的全栈工作, 第一次代码面试因为网络没有成功,第二次给了上次一样的题目, 但是我给了个上次没有完的一样解法, 结果被面试那个吐槽了没有上网找找题目找找最优的解法,我只能在心底默默的 fuck。
作为一个有近 5,6 年以上经验的后端开发, 自己独立开发过 N 多项目也帮公司重构和开发了不少项目, 最近几年面的所有需要代码测试的面试, 无论困难还是简单的基本上没一个面试能通过的, 各位大佬都是刷题通过这些面试的吗? 还是真的面试题目你们真的都会?
1
devotenimabi 2018-11-11 19:37:37 +08:00 via Android
真正的大佬 肯定是 acm noip 出身的。写这些面试题还不是砍瓜切菜
外国公司面算法的比较多 你面试的是 wework 么 |
2
takato 2018-11-11 19:50:10 +08:00
答案就是他们真的都会。。。
|
3
init6reboot 2018-11-11 19:53:04 +08:00 via Android
我一直想问,刷题的意思是不是背答案?还是找感觉
|
4
cloverii 2018-11-11 20:07:04 +08:00 via Android
回楼上,你备战高考刷题就是背答案?
|
5
chanpin9 OP @devotenimabi 是的,这次不是算法,这次只是一道简单地题目,看来我和这些外国公司真的是没什么缘分
@takato 真的吗? 以前一直觉得这些题目对我开发项目没什么帮助, 毕业后从来都不削去看这种题, 看来通不过还是有原因的 @init6reboot 我认知中刷题就是背背答案吧,像以前考试一样, 不知道有没有大佬现身说说 |
6
raynor2011 2018-11-11 20:22:33 +08:00
@chanpin9 考试都是背答案?当然是要去理解啊,兄弟
|
7
nicktogo 2018-11-11 20:24:53 +08:00 via iPhone
你去一亩三分地看看国外面经,可以有一个大概的了解,刷题与大佬之间的关系,不是正相关,但也不是毫不相关。
|
8
ppyybb 2018-11-11 20:29:23 +08:00 via iPhone
你说下题目和你的解法吧……
|
9
blindpirate 2018-11-11 20:37:05 +08:00
没错,真的都会。
|
11
WEIHUANJIHE 2018-11-11 20:52:29 +08:00
wework ?
|
12
ppyybb 2018-11-11 21:36:54 +08:00 via iPhone
@takato 以前看到过一个调查,acmer 在 Google 工作的职场发展情况,貌似结论是超过一定阈值之后成反比,给出的原因是 相当一部分天才 不喜欢软件工程中的无聊的事情(包括架构,管理,代码规范),所以觉得工作很无聊,而程序员的职场发展技术超过一定阈值后重要程度是减小的,而且工作中的很多事情对于智力的要求没有那么高。
具体细节记不清了,可能出错…… |
14
tvallday 2018-11-11 21:43:35 +08:00 via iPhone
无论面试还是工作。提高成功率和准确率的最有效办法还是熟练。编程其实就是一个体力活。
|
16
ppyybb 2018-11-11 21:48:37 +08:00 via iPhone
@takato 好像访问了 Google 的某个 vp (或者其它高管),paper 我就不知道了,感觉这个研究方向有点无聊和 trivial 了
另外一个印象就是采访了一个 Google 的 wf 前几名的大神,他说过软件工程不够 smart,很 boring 这样的话 |
17
tedd 2018-11-11 21:53:01 +08:00
you're not alone, 我和你情况一样...
|
18
chanpin9 OP |
19
chanpin9 OP @WEIHUANJIHE 是的
@tvallday 这么多年了百万行代码还是敲过的, 工作上的编程无论什么都还可以应付, 但是面试吧, 只要不是面这种算法题, 还是能通过, 所以一直都是在创业公司混。 @tedd 哈哈 ,同道中人, 也面的是同家公司? |
22
ppyybb 2018-11-11 22:40:59 +08:00 via iPhone
@chanpin9 其实现在外企像 Google,fb,amazon,hulu 这些肯定会问算法的....你工作多少年都会问的,homebrew 的作者因为反转二叉树写不出来被 Google 拒绝了啊
确实大厂都会问算法题的,只是国内算法题相对简单不少,占比也少些而已。通过的方法就是刷题,因为如果面的还是开发的工作,那么代码能力就是一个刚需要求,这个其它方式不太好考察(除非出 homework 给面试者做,我们以前就留过一些,但是这样双方成本都挺高,不可能人人都这样) 另外很多大厂的出来自己其实也不会做这些题目了,要跳槽很多还是要去刷题的... |
23
ppyybb 2018-11-11 22:43:46 +08:00 via iPhone
@takato 这种东西不存在信不信,只是他那么讲而已吧,我的观点是个人的差异(性格,兴趣)很大,统计指标意义很小
|
24
chanpin9 OP @mortonnex 不是, 题目是给定了一个升序的数组,比如数组[2,3,4,6] ,相加结果是 7, 求获取数组内哪两个数相加=7, 返回这两个数所在的位置, 这个代码测试用的 ruby, 我用了一个 ruby 内循环函数
|
26
ppyybb 2018-11-11 22:52:40 +08:00 via iPhone
@takato 你是说那个打比赛的人说的话吗?还是高管说的话?
如果是前者的话,我认为他这样想没有问题,因为我确实知道一些人就是这样想的,软件工程里面很多东西的有趣程度和对智力的要求也小于算法竞赛。 如果是后者,也许是媒体搞得大新闻,或者他想借此达到某些目的,但是我记得当时他有个 Google 内部的数据支撑?(不确定)。 不管怎么说,这个东西统计意义不大。 |
27
takato 2018-11-11 22:54:26 +08:00
|
28
chanpin9 OP @ppyybb 谢谢, 这么多年来失败项目做过不少, 吹牛能力也还算还可以,就是没刷过什么题,看来我确实和这些大厂无缘, 以前也看过 homebrew 作者被拒的新闻, 感觉很惋惜。
|
30
takato 2018-11-11 23:07:10 +08:00
@ppyybb 所以只是我表达出你说的这一点是合理的,你没必要相信我说的呀:)
我也可以完全认同你,但表达出不认同的语言。。明白了吗?取决于别的因素。 |
33
chanpin9 OP |
34
loy6491 2018-11-11 23:18:14 +08:00 via iPhone 1
不会算法,就自比 homebrew 作者? kSum 问题问第二次还答不好,真心自己的问题吧。
|
35
takato 2018-11-11 23:19:15 +08:00
@chanpin9 是的,感觉你抓到点了,很多 coder 吐槽大公司的原因就是因为条框本身有限制“发散性创造”的可能,所以这些条框对他们来说并不“友好”
|
36
laike9m 2018-11-11 23:22:47 +08:00 via Android
wework 到底怎么样?为什么感觉网上一堆人都去面试。以及一个做共享办公室的为啥需要这么多开发。。。
|
38
BaffinLee 2018-11-11 23:31:39 +08:00
N sum 套两个循环,面试官也不知道该说什么好呀
|
39
laike9m 2018-11-11 23:31:41 +08:00 via Android
@chanpin9 楼上说的没错吧,这题就是头尾指针,不难。这种属于知道了做法就很简单,但不知道却很难想出来的题目,我个人觉得不能很好地考察出面试者水平,只能考察出他刷没刷过题。
|
40
laike9m 2018-11-11 23:32:46 +08:00 via Android
不过说实话,也没那么难想出来就是了,尤其是面试官已经提示你只用一次循环。
|
41
chanpin9 OP @laike9m 我看到的是薪资范围很不错,朝 10 晚 6 还不加班确实还是很诱人的,至于为什么需要这么多开发, 只有他们内部人来回答了
|
42
ppyybb 2018-11-11 23:38:39 +08:00 via iPhone
@takato 说实话你前一条回复把我绕进去了......
我想了一下,你的意思似乎有几重?: 1 我认可结论,但不认可归因,且我也不确定原因(那就是直觉),因此我不表态 2 每个人说的话和想法都不一定一致,因此我这样说不代表我这样想,你不需要相信我说的 3 2 的意思只是为了告诉你这个道理,但是我本次说的是真的,只是我不知道(不愿意)告诉你我的理由 感觉我也晕了……,比刷几道难题还让我困惑 |
43
chanpin9 OP |
44
jin5354 2018-11-12 00:42:24 +08:00
如果你不想刷题,觉得面算法题的公司都不考虑,那很多大公司都不用去了
毕竟拿 offer 并不是说达到某条线就能进,而是要击败其他候选人,算法题就是很多公司都看中的智商水平证明,除非你其他方面强悍不要靠这个背书 |
45
ericls 2018-11-12 00:49:26 +08:00 via iPhone
这些公司都不值得去
|
46
vegito2002 2018-11-12 01:20:02 +08:00
打开 LeetCode, 如果你一天能完成五题, 包括看解答, 写分析, 那么你是一般北美求职选手的做题水平(撇开英语能力的话).
如果你一天能刷五十题, 你就是大佬. 这种人真的有, 不是编的. |
47
chanpin9 OP @jin5354 对的,以后找工作应该会直接跳过, 除非有闲的时间, 对我来说进大公司唯一理由就是没有进过和薪资有提高,对于一个在创业公司混了 n 久,自己也独立干过不少项目的人,其强悍的方面在面试是很难体现的。
@vegito2002 -_-! 一天 50 道, 没有这个能力也有这个时间, 对我来说写代码不是为了刷题, 很大程度是为了实现脑中的想法和赚钱 |
49
vegito2002 2018-11-12 02:03:56 +08:00
@chanpin9 一天五十道的人反而用的时间不多. 选适合自己的路就好.
|
50
txy3000 2018-11-12 06:10:42 +08:00
大公司是为了迅速筛人,他们又不缺螺丝钉,审查一个人的能力是有成本的。homebrew 那是小概率事件,人家还不是去了 Apple,而且面试算法也就那么回事,你熟练就好了,跟智商关系不大。
普通 DS 程序员想去大厂还不努力刷题,更待何时?都给了你标准化的考试,一个受这么多年应试教育的选手还怕这个? 真正的大神,大厂在后面哭着喊着要,没准他们还看不上! 我也是 DS,也刷题,leetcode 跟 V2EX 账号一样,欢迎交流。 |
51
CSM 2018-11-12 07:23:35 +08:00 via Android
老哥这是 Leetcode 第一道题啊。。
|
52
tianrandai 2018-11-12 09:22:08 +08:00
第二次给了一样的题目,还没有答出来,就说明两件事,1 能力未达到目前岗位要求,2 没有求知自学精神
|
53
timle1029 2018-11-12 09:34:37 +08:00
@chanpin9
如果说面试算法题的公司楼主都不想去了,那北美公司不管大中小基本都不可能了,除非是几个人 (n < 5)的公司,通过聊天问问项目是可能有 offer 了。但大量面算法通常限于 SDE1 或者 SDE2,如果楼主本身是高级工程师那是另一回事了(Senior 也是会考算法的,而且绝对是比你拿到的这道题更难;只是会有更多轮的系统设计)。 “自己也独立干过不少项目的人,其强悍的方面在面试是很难体现的。” - 还是那句话,如果您不是 Senior/Staff/Principle,公司还是会更看重基础 |
54
UIXX 2018-11-12 10:03:54 +08:00 1
我不同意刷题无用论,也不同意刷题万能论。但是刷题真的可以看出一个态度问题。
1、公司对算法有要求,但你不屑于刷题 2、公司想提高门槛较少招聘成本,但你不屑于刷题 3、公司给了你一次查找答案的机会,但你不屑于刷题 这有什么好说的呢? 其实我觉得楼主不是能力不行,是缺少一种处事的变通跟灵活。 为什么你会认为对方是一个单纯靠刷题就可以进的公司呢?大部分的算法只是第一步,但你连第一步都没踏进去。 |
55
victor 2018-11-12 10:05:36 +08:00
面试的 WeWork
|
56
findmyself 2018-11-12 10:12:33 +08:00
哈哈哈,wework 上周也喊我面试了(但我已入职其他公司了就没面),那 hr 说 80%的人会挂在代码测试上
|
57
mortonnex 2018-11-12 10:23:11 +08:00
|
58
ianva 2018-11-12 10:52:26 +08:00
2-sum ...,楼主要反省
|
59
zhengxiaowai 2018-11-12 10:59:09 +08:00
leetcode 刷吧,刷的不是题,是解题思路。。。
|
60
ourzhang 2018-11-12 11:18:22 +08:00 1
只能刷,除非你的智商很高,脑活跃很强,还在状态。要不然很多算法你找不到最优解。最优解很多都是一步一步进化出来的或者哪个人灵光一闪。
你在面试中去解决这种问题很难的。 |
61
1069401249 2018-11-12 11:21:28 +08:00
自己做题还能想出好的解法,要你当场写的话有点烦躁
|
62
Variazioni 2018-11-12 11:37:05 +08:00
还是刷题靠谱一些啊。。。
|
63
tt67wq 2018-11-12 11:58:14 +08:00
刷点题目还是有必要的,虽然自己觉得没用,但是别人看中啊
|
64
misaka19000 2018-11-12 12:11:39 +08:00 via Android
@mortonnex +1 这么简单的题目都做不出来,感觉面试者的水平很高的概率太低了
|
65
MrJeff 2018-11-12 15:28:10 +08:00
第一次没啥说的,第二次确实是态度问题了
|
66
holy_sin 2018-11-12 15:33:01 +08:00
唯手熟尔 共勉
|
68
libook 2018-11-12 17:29:01 +08:00
个人觉得 54 楼话糙理不糙,比较精确指出了原因,简单来讲,公司对于人才的要求和你不匹配,但你觉得你“作为一个有近 5,6 年以上经验的后端开发, 自己独立开发过 N 多项目也帮公司重构和开发了不少项目”应该被所有公司选中。
既然面试官已经吐槽你“没有上网找找题目找找最优的解法”就说明人家要的不是多年的工作经验或者长长的项目履历,人家要的就是你能不能把工作做到极致。 每个岗位要求员工具备的知识、经验、能力、性格、职业规划、为人处世等等方面是不同的,而且不同的岗位在其实际情况下对上述几项的侧重都是不同的。据说有的公司在看简历前会先从中拿一份扔掉,因为他们不希望招到运气差的人;虽然我本人不相信运气这种东西,但是这就是这家公司的价值观,你若不认同这一点的话,即便进入了这家公司你也会很快离职。 你的描述充分说明你的优势在于经验和系统架构,劣势在于算法和搜索,那么求职的时候就侧重找那些招聘要求和你的优势匹配、不关心你的劣势方面的公司,招聘和求职是双向选择。 |
69
CRVV 2018-11-12 17:46:24 +08:00
对于楼主的情况来说,明显是招聘方占理
这道题的最简单的解法是写两个循环,毫无技术含量。显然存在更好的算法,而且更好的算法也不难 如果一个应聘的人只会这个解法,那我觉得这是一个初学编程的人,不是一个有五六年工作经验的人 如果像另一个帖子一样说让手写 SHA1 算法,应聘的人写不出来,那当然是应聘方占理了 |
70
chanpin9 OP @txy3000 哈哈, 同是屌丝, 如果以后还去面试的话, 一起刷题
@CSM 谢谢提醒,没有刷过 leetcode, 有机会会去看一下的 @tianrandai 第二点有点不同意, 前后端都能开发的人, 自学能力还是有的 |
71
chanpin9 OP @timle1029 独立干过很多项目是指我的一些没有成功的创业小项目,我这几年进入的公司, 确实都是只是只是问问项目进去的。
@UIXX 我没有说刷题无用, 只是刷题对现在的我来说无用, 我不刷题的原因在 47 也说明, 确实这家公司不刷题连第一步都进不去不是吗? 吐槽归吐槽,我也没觉得公司把我刷掉有什么问题,确实没有通过。 @victor 对的 @findmyself 其实我也是入职了其它公司, 不过在入职前约好的, 就面一下。 他们要求 4+的经验, 看来国内大部分开发估计也和我差不多不大刷题吧,连 LeetCode 第一题都不会。 |
74
feverzsj 2018-11-12 19:55:43 +08:00
又不是面试当场让你写,这还能写不出?
|
75
chanpin9 OP |
76
chanpin9 OP @1069401249 是的,我写代码最怕有人在旁边看你写
|
78
chanpin9 OP |
79
chanpin9 OP @libook 优势确实在那个方面, 劣势也不在这两个方面, 算法不好也不是那么差, 更多算法都是关注我自己开发的项目中算法,“没有上网找找题目找找最优的解法” 是我根本没有想去找,我认为这个应该会换题了。虽然我工作没有做到过极致过, 但是自问及格还是有的。
|
82
feverzsj 2018-11-12 20:38:30 +08:00
不想面试写代码的,可以在简历里注明。但问题是现在很多大点的公司,其实招聘的最终负责人是 hr,hr 不懂技术,但为了对上面有交代,就必须让技术面试官准备笔试,而技术面试官又得不到好处,最后就是以应付交差为主,能当场写对的,总比写不出的好吧,这样最后如果不满意辞退了,有笔试记录为准,hr 和面试官都不用背锅
|
83
timle1029 2018-11-13 00:57:20 +08:00
@chanpin9 说得直白点就是,楼主你工作几年积累下来的经验 wework 压根就不关心,因为他们要找干活的而不是设计构架的,所以我相信就算你真的去了没多久也会厌烦的。
总的来说我觉得还是 recruiter 的锅,没有让你面一个合适你的职位 |
84
drackzy 2018-11-13 11:22:41 +08:00
他家后端貌似是 Ruby 去不了也没啥,ruby 后端没有什么人了
|