作者RouterHsieh (醉卧美人膝,醒掌天下权)
看板Soft_Job
标题Re: [讨论] 为什麽很多人听到考演算法就倒退三步
时间Wed Dec 19 01:27:33 2018
刚好想到自己两三年前的一个面试经验可以分享一下,
我不是什麽神人,只是一个年近四十还在矽谷当打工仔的老鲁蛇而已QAQ
(而且还是薪水领的很低的那种囧)
话说当年刚开始在面试我在米国的第1份工作的时候,
基本上也是各种海投,
然後某天水果店的人资就问我有没有兴趣去面一下他们iOS kernel team的位置。
结果我第一轮phone interview就被刷掉了,
只能说无缘拜见教主真的是太可惜了XD
基於大家都知道的理由,所以我也不能够具体的告诉大家他们到底问了我什麽。
不过电话面试的当天,对方打过来之後,从头到尾都没问我半题演算法,
丢给我的就是一份50行不到的C语言,
里面就一些看似很简单的资料结构定义以及几个function而已,
然後他要问我的几个问题就直接写在程式码本身的comment里面。
其中一个问题大概像是,里面有一段那个程式的写法会造成string overflow,
在下鲁归鲁还是看得出来的,问题是这时候面试官就开始出combo了,
问题大概类似底下这些方向:
"ㄟ,那这样的话那些attacker会怎样利用这个漏洞?"
"你要怎麽在OS层级来防止这种攻击?"
"像这种漏洞或攻击我们可以在compiler解决吗?要怎麽解决?"
本来前面的问题我都答得还算蛮顺的,碰到这个combo我就直接被KO了QAQ
当然我还是有挣扎一下讲了一些我的想法啦,
然後面试官说我的想法方向是正确的,
(但是我当然没有给出最正确的解答,或者不是面试官心中觉得最优的这样0rz)
闲聊个几句之後就结束面试了,过了一周之後就被通知没有过关QAQ
後来某天我去翻了一本很有名的课本叫作CSAPP,
其中某个章节在讲的东西就跟面试官问我的有高度相关,
我在在面试时候自己推出来的答案其实跟课本上讲的东西也很接近,
强烈怀疑那个面试官有上过那本书的作者的课...XD
我想讲的是,这个职缺我相信绝对不是什麽senior的职缺,
充其量就是new grad到entry level而已,
因为水果店的senior被问的东西应该会更变态才对XD
所以同样都是在面试,我想有很多问题问起来绝对比什麽01背包的问题更有意义,
而且水果店这些问题我觉得最屌的地方,不是在他们一行演算法都没问我,
而是这些问题你怎样回答都对,但是你的程度高底从你的回答里面就可以看得出来XD
算是给大家一个参考啦,我觉得资料结构演算法这些东西不是不可以考啦,
但是两轮phone interview加上on-site的四到五轮全部考这种东西,
我只能说,根本就一整个黑人问号啊0rz
还有就是我觉得在外头混久了以後,说真的,钱有赚到比较实在啦。
给的起钱的也不是只有FAANG(还在推文里面吹FLAG的该update一下了喔科科),
也不是说FAANG里面的屎就一定都是香的,
没有必要他们怎样在面试人就代表怎样才是对的啦(菸)
说穿了,有些公司只所以只考这些,很大一部份是因为general hire,
(譬如每年的新生招募嘛,那一大票人起码也是几百个上千个的)
那这些资料结构演算法的东西相对来说是比较中性的东西,
不然你叫那些bootcamp出身只有碰过前端的人去面试做OS出身的人,
搞不好连人家履历上的专有名词在写啥都看不懂是要面个鸟XD
不过也没错,如果你就是想进那种公司的话,现阶段没什麽好讨论的就是只能刷题而已。
只是我真的觉得,不只是在这里,包括在留学版也是,从某些推文和回文里面都看得到,
有些人的观念已经歪到以为只要把题刷到顶就天下无敌了,
我只能说这样的朋友,祝你们好运啦,希望你们都能顺利刷进FAANG发大财了,科科
※ 引述《stevekevin10 (hippo泡)》之铭言:
: 标题: [讨论] 为什麽很多人听到考演算法就倒退三步
: 时间: Tue Dec 18 09:39:22 2018
:
: 如题
: 最近与人讨论工作时
: 会提到要练一下演算法资结
: leetcode medium easy刷一刷就够了
: 但是对方听到要考演算法好像就缩了
:
: 现在junior面试考试不是常态吗(不管手写或是考卷)
: 除非比较资深的职位考系统设计啥的比较有用
:
: 如果不实际写一下看一下想法
: 纯粹说话好像也不太靠谱吧
: 不知道考演算法恐惧的点在哪里……写不出来就算了(?)
:
:
: btw 考演算法部分
: 依照个人面试经验google方面还是比较好的
: 一般都会听到直接给你一个结构
: 要你反转或找最大最小等等
:
: google之前的经验是给你一个情境题
: 资料结构算法你自己定义就好
: 感觉比较符合实际应用
:
: e.g. 如何设计一个简单的社交朋友推荐系统
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.136.35.180
: ※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1545097165.A.93F.html
: → xsoho: 有想过是薪水开太低吗?高价自然一堆强者抢着来面试 12/18 09:45
: → xephon: 有google的薪水跟环境的话,用google的经验来要求就ok 12/18 09:52
: 聊天时遇到的状况而已XD 还没讨论这家给多少 对方都先缩了
: ※ 编辑: stevekevin10 (223.136.35.180), 12/18/2018 09:55:22
: → Darkword1987: 你们待遇跟google能比吗 12/18 09:55
: 同上,而且我觉得跟钱无关,比起google很多公司要求回家作业那才真心烦,IBM还要写
: 一个好久的智商(智障)测验
: ※ 编辑: stevekevin10 (223.136.35.180), 12/18/2018 09:57:28
: 推 BBSealion: 一种就很多是其他领域转职的,从来没好好练过,当然听 12/18 09:56
: 推 MixBear: 因为平日懂概念、情境、运用需要时参考就好了 没特别练过 12/18 09:56
: → MixBear: 根本写不出或花费太多时间撰写但薪水普普 效益不大 12/18 09:56
: → BBSealion: 到就怕。另一种是公司待遇给不够或根本用不到,却考很 12/18 09:56
: → BBSealion: 刁钻问题,这是公司招人方式有严重瑕疵。 12/18 09:57
: → BBSealion: 当然还有一种是考很难但没有要你全对,只是要看思考的 12/18 09:57
: → BBSealion: 我好像讲的有点乱XD 总之就RD本身不熟,或遇过不好面试 12/18 09:58
: → BBSealion: 经验,大概是听到要考算法就缩的主因吧 12/18 09:59
: 原乃如此,同意你!
: ※ 编辑: stevekevin10 (223.136.35.180), 12/18/2018 10:00:26
: 推 worcdlo: 个人倒是很喜欢当场出题的公司,这对受试者来说是考验, 12/18 10:05
: → worcdlo: 其实某方面也是代表面试官看程式的水平 12/18 10:06
: 推 MixBear: 个人也喜欢非制式考试XD 就是依双方经验来问问题 这种面 12/18 10:14
: → MixBear: 试完就算没上 也能获益许多 12/18 10:14
: → MixBear: 还可以交流做法 互学一下 12/18 10:15
: 推 Arctica: 因为要写的优雅真的很难 但要写出那段逻辑其实硬干也是可 12/18 10:48
: → Arctica: 以XD 12/18 10:48
: → yyc1217: 实务上真的很少会自己实作 几乎都是用写好的library 12/18 10:51
: → testPtt: 我喜欢摆台电脑写个简单的专案 讨厌考脑筋急转弯 12/18 10:53
: 推 alihue: 因为很多人写写前端後端 App 就觉得自己是天才啊,那些基 12/18 10:54
: → alihue: 本功很花时间又没有明显成果的他们才不练 12/18 10:54
: 推 coronach: 遇过不好面试经验是主因 太多为考而考的公司了 12/18 10:54
: → coronach: 而且实际工作去survey演算法又不需要自己想 12/18 10:55
: → coronach: 如果只是看思考逻辑 考演算法没什麽不好 12/18 10:55
: → coronach: 但是遇过一些白板纸上题 考很难又爱电人的 12/18 10:56
: 推 leoloveivy: 老实说我觉得 12/18 10:57
: 推 Angesi: 各位平心而论 演算法这东西需要随时会写吗? 12/18 10:58
: → Angesi: 没人整天在记演算法怎写的 推过一遍 做个笔记放着就行了 12/18 10:59
: 推 leoloveivy: 现在我觉得最少用的是资料结构 现在写软体的除非自己 12/18 10:59
: → leoloveivy: 有bug哪里会把记忆体写爆还有之前算法根本没有cpu gpu 12/18 10:59
: → leoloveivy: 平行的概念要比快真的没办法比 以上讨论一下啊 我真 12/18 10:59
: → leoloveivy: 心疑问 12/18 10:59
: → Angesi: 若说用「考」演算法 意义不大 12/18 11:00
: → Obama19: 重点是看到问题能不能想到可以用某个算法解决 而不是单 12/18 11:03
: → Obama19: 纯背算法 12/18 11:03
: 推 lk2986706we: 面试造火箭 工作拧螺丝 12/18 11:08
: 推 BBSealion: 演算法跟平行在处理不同层级的问题吧,演算法写坏是指 12/18 11:11
: → BBSealion: 数层级的差异,资料一大你平行几百台也没用。平行是用 12/18 11:11
: → BBSealion: 在演算法复杂度已经无法在减小,还要加速个五倍十倍等 12/18 11:12
: → BBSealion: 级的时候使用的现代解决方式。两者在解决不同问题 12/18 11:12
: → shvanta: lk2986706we: 面试造火箭 工作拧螺丝 => 一针见血 12/18 11:21
: → shvanta: 个人主观认为, 在台湾 80% 的软体工作, 用不到演算法 12/18 11:23
: 嘘 final01: 所以说你演算法很强吗?还是也烂的可以XD 12/18 11:31
: 推 bill1992: 怎麽会这样 我遇到面试很希望有考 12/18 11:33
: → bill1992: 但结果基本上都没问什麽 12/18 11:33
: 推 yamakazi: 群晖考白板题就好棒棒狂推解大魔王 其他公司非google考 12/18 11:33
: → yamakazi: 白板题就是浪费考生时间自以为FLAG 12/18 11:33
: 推 yamakazi: 你去大学面试也是会考高中基本题啊 12/18 11:34
: → stkoso: 用学校面试类比工作面试 好棒棒 12/18 11:39
: → chocopie: 学校面试题wwwwww 12/18 11:45
: 推 zerges: 考一堆演算法,结果进去叫你拉拉UI,解一解前人的bug 12/18 11:46
: 推 yamakazi: 在这边抱怨也不会让事情改变拉 好好准备演算法就是让自 12/18 11:51
: → yamakazi: 己多一点机会 给你机会拿那些小公司当练笔 不然你是能够 12/18 11:51
: → yamakazi: 一下就应徵上FLAG喔 12/18 11:51
: 推 NCUking: 一堆公司爱跟风呀 当场要你手写LRU cache 或红黑树 12/18 11:52
: → NCUking: 然後薪水4xK 好棒棒 12/18 11:52
: 推 yamakazi: 少准备就是少一些机会 不过这边人都看不上那些考算法的 12/18 11:54
: → yamakazi: 公司啦 12/18 11:54
: → NCUking: 然後真的上工不过是改改 CSS 呼叫API 12/18 11:54
: 推 yamakazi: 说不能拿学校面试当类比 那我拿高普考类比吧 高普考也是 12/18 11:55
: → yamakazi: 考一堆将来工作用不到的东西 12/18 11:55
: 推 yamakazi: 结果考上也只有4Xk 12/18 11:59
: 推 yamakazi: 高考还考个三五天勒 面试顶多考半天吧 12/18 11:59
: 推 alihue: 不能用造火箭拧螺丝类比吧,难道菜鸟就马上让你重构 produ 12/18 12:03
: → alihue: ction code? 12/18 12:03
: → worcdlo: 当场写红黑树的这种还真是有点过分,如果没有查资料, 12/18 12:03
: → worcdlo: 要当场完整写出所有情境也太刁钻了 12/18 12:04
: → alihue: 我觉得考这个只是筛选手段吧,如果公司还是找得到人,没什 12/18 12:04
: → alihue: 好酸的,公司有竞争力 12/18 12:04
: → alihue: 相信一堆人去 google 拧螺丝也不会上来抱怨 12/18 12:05
: 推 yamakazi: 说真的leetcode刷一阵子 还真的没看到红黑树的题目 哪家 12/18 12:05
: → yamakazi: 公司考红黑树说出来让大家挞伐一下 12/18 12:05
: → knives: 看面试的对象阿,考已经出社会七、八年的资深人员演算法 12/18 12:06
: → knives: 根本是在污辱人,浪费时间 12/18 12:06
: → yamakazi: 红黑树是刁钻一点 但红黑树和LRU就是造火箭我也是笑了 12/18 12:06
: → yamakazi: 大部分都是问简单的题目 问到回文字串处理就很牛逼了 12/18 12:08
: → lnmlee: 标准答案意义不大 考演算其精神是发掘聪明解决问题的能力 12/18 12:09
: → lnmlee: 真正的演算法是长期智慧结晶亦不是随随便便突然就能发明 12/18 12:09
: → lnmlee: 所以考演算其实就是考你背了多少已公认的聪明演算技术而已 12/18 12:09
: 推 ckp4131025: 公职考那些是因为有名义上的公平,私人公司面试不需要 12/18 12:11
: → ckp4131025: 公平 12/18 12:11
: 推 yamakazi: 除非你是李飞飞 不然几年经验想去google还不是得考刷题 12/18 12:12
: 推 yamakazi: 考基本结构演算法说被侮辱 考动态规划说这是脑筋急转弯 12/18 12:15
: → yamakazi: 那不然要考啥? 12/18 12:15
: → twilighthook: 遇过手写考BST的 12/18 12:15
: → twilighthook: 其它有考比较简单的就是手写一些运算 就是正常码农 12/18 12:15
: → twilighthook: 需要的 12/18 12:15
: → lnmlee: 而现在考演算法其实已变向成为砍期望薪资的工具 12/18 12:17
: 推 yamakazi: 但我经验是还是有一堆公司只要坐着聊聊天就录取的 pay也 12/18 12:18
: → yamakazi: 给的不差 只不过不是软体工程师就是了 12/18 12:18
: 推 yamakazi: 看板上面试心得文 考的算法白板题都蛮正常的 很少那种莫 12/18 12:22
: → yamakazi: 名奇妙刁钻题 12/18 12:22
: → yyc1217: 考怎麽用 为什麽用 为什麽不用其他 比较有监别度 12/18 12:24
: 推 GX90160SS: 回家作业比考演算法好多了 12/18 12:38
: → devilkool: 考资结那些树的话还好吧 12/18 12:50
: → shortoneal: 被考过hard,答不出来的时候回问一题hard他也答不出 12/18 12:57
: → shortoneal: 来啊,演变至今已经只是个无聊的游戏 12/18 12:58
: → shortoneal: 大概就是比看学历再聪明一点点的无脑筛人法 12/18 12:58
: 推 vi000246: 我比较喜欢回家作业 可以根据心情、手上offer 12/18 13:00
: → vi000246: 该公司待遇决定要不要写 而不是浪费一堆时间写白板 12/18 13:00
: 推 deray: 什麽是朋友 12/18 13:34
: → shooter555: 有多少人工作上是需要写到演算法, 一堆open source的 12/18 13:38
: → shooter555: libraries, API可以使用, 从头写过根本白费工 12/18 13:39
: 推 lgates: 这问题我也想问反方向+1,大家平心论,工作都嘛遇到自己想 12/18 13:49
: → lgates: 的,哪有天天在碰到背包问题 铜板,大部分碰到的慢都不是这 12/18 13:49
: → lgates: 个地方,不是说演算法无用,而是手写白板真的有点... 12/18 13:49
: 推 j0958322080: 我个人做数值计算会需要自己写演算法,而且说实在我 12/18 14:03
: → j0958322080: 比较喜欢自己写,一方面有弹性一方面可练功 12/18 14:03
: 推 MonkeyCL: 拜托多考一点 12/18 14:08
: 推 alihue: 写白板很难?对语法太不熟了吧,难道连基本的 for 和 meth 12/18 15:05
: → alihue: od 都写不出来? 12/18 15:05
: 推 DONmilK: 估狗考演算法是要找够聪明的人 怎麽跟人沟通把问题搞清 12/18 15:21
: → DONmilK: 楚 看你怎麽逼近解法 这不就是工作上一定会遇到的状况吗 12/18 15:21
: 推 cerwvk: 其实, 演算法, 根本很少用... 12/18 15:22
: 推 neo5277: 面试造火箭 工作拧螺丝 => 一针见血 12/18 15:22
: 推 gino0717: 不要考 我写不出来 12/18 15:24
: → lance8537: 可以看个一亩就知道题目可以多广了 12/18 15:25
: → ggBird: 新闻:白板写不出出反转二叉树,Homebrew 作者被谷歌拒掉了 12/18 15:55
: → AvatarH: 曾经面试过一家新创公司,面试官问我程式的复杂度,我回 12/18 16:52
: → AvatarH: 最大和最小复杂度,面试官就生气了。面试官坚持只有BigO 12/18 16:53
: → AvatarH: ,我说还有Omega和Theta,而且输入参数的数量级在极小和 12/18 16:54
: → AvatarH: 和极大时可能会不一样,面试官要我证明有Omega和Theta, 12/18 16:56
: → AvatarH: 於是我就被reject了。 12/18 16:56
: 推 Argos: 工作内容与演算法没啥关系 还要考 就是装逼而已 没有意义 12/18 17:15
: → Argos: 就好像我面试便利商店还要考多益模拟考一样 12/18 17:16
: → Argos: 我也知道英文能力在接外国客人时有用阿 但会用到多少? 12/18 17:17
: → Argos: 你要说商店是在外国学校里那考英文当然没问题 12/18 17:17
: → Argos: 事实是 一堆工作职缺根本「不需要用到」那些演算法 12/18 17:18
: 嘘 oherman: 跟应徵司机要你做台车出来意思差不多 12/18 18:00
: 推 lonelytea: 演算法用谷歌的就有答案了 考这到底有屁用 12/18 18:13
: → stkoso: 真没遇过要土法炼钢实作教科书上的演算法 都是问怎麽解题 12/18 18:14
: → stkoso: 考白板题也是要看考什麽 一竿子打翻一船人就不对了 12/18 18:17
: → doranako: 看公司,aws, google, apple一堆拼leetcode抢着进去 12/18 18:43
: → Kennyq: 演算法真的高竿的可以卖钱阿... 12/18 20:15
: → Kennyq: 写得出高竿演算法的需要去你们公司面试吗? 12/18 20:18
: → Kennyq: 如果你只是考排序法/质数/画菱形之类,那也考不出程度 12/18 20:19
: → Kennyq: 还不如考物件导向之类的实际... 12/18 20:19
: → Kennyq: 所以@lk讲的 面试造火箭 工作拧螺丝,也没错阿 12/18 20:20
: → Kennyq: 考得很刁钻很偏,面试者其实也可以反过来出刁钻题, 12/18 20:22
: → Kennyq: 你面试官也不见得答的出来 12/18 20:22
: → Kennyq: 我个人遇到觉得强的主管,根本不会硬考你演算法之类 12/18 20:27
: → Kennyq: 都是问工作上实际应用的东西比较多 12/18 20:28
: → Kennyq: 阿连物件导向都不会的面试官,反而很爱考排序/质数/画菱形 12/18 20:29
: → Kennyq: 说穿了,那面试官就只会if..else / for /while 阿! 12/18 20:29
: 推 TheOneisNEO: 其实现在真正一些lib的quicksort实作 没看过的人写不 12/18 23:00
: → TheOneisNEO: 太出来的. 质数演算法也有很难的 不是那种开根号除一 12/18 23:03
: → TheOneisNEO: 除就过去了 12/18 23:03
: → TheOneisNEO: 例如Baillie–PSW primality test 12/18 23:05
: 推 hijamoya: 讲真的没做过类似题目可以直接做出来的 就已经不需要透 12/18 23:15
: → hijamoya: 过这种面试去找工作了.. 12/18 23:15
--
There is no secret behind the source code.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 67.188.234.39
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1545154056.A.C37.html
1F:推 kyrie77: 推 12/19 01:42
2F:推 loadingN: 推 12/19 01:43
3F:推 chuegou: 同样在底层打滚给个推 12/19 01:53
4F:推 b10007034: 推,这篇很中肯,尤其是看回答知道程度那边 12/19 02:00
5F:推 lgates: 推个 跟你的走向有关 12/19 02:28
6F:推 shownlin: 这种题目类型感觉某学校学生会觉得似曾相识XD 12/19 02:35
7F:推 liangnash: 31岁bootcamp矽谷奈米资推一个 12/19 04:37
8F:推 yyhsiu: 推~ 真的不是只有 FAANG 给得起,FAANG 里就算同职等也可 12/19 06:31
9F:→ yyhsiu: 以差超级多 12/19 06:31
10F:推 nelley: 推 12/19 08:41
11F:推 chocopie: 中肯 12/19 09:21
12F:推 ultradev: 除了FAANG?最近好像多了个MANA?以微软这近年的表现及 12/19 09:42
13F:→ ultradev: 股价,应该也不错吧 12/19 09:42
14F:推 smalldra: 被FLAG问倒过的推一个 12/19 09:47
15F:推 NCKUFatPork: 记得FLAG多是中国学生喊,因为12~14年容易进薪水又高 12/19 10:45
16F:→ mythnc: 中肯,不过大概又有人要拿homebrew作者被google刷掉来战w 12/19 10:52
17F:→ remmurds: 楼下obov 12/19 11:38
18F:→ MOONY135: 这篇如果钓的到obov我就送p币 12/19 12:05
19F:推 j0958322080: 这篇如果钓的到obov我楼上就送p币 12/19 12:11
20F:推 LERICAL: 推 12/19 13:26
21F:→ siriusu: 之前在 blind 比起 fang 有没有 flag 这个用法 美国人都 12/19 13:49
22F:→ siriusu: 满头问号 XD 12/19 13:49
23F:→ siriusu: 之前在 blind 问 * 12/19 13:50
24F:→ siriusu: G 会这样面试是因为公司够大而且他们相信人只要演算法熟 12/19 13:51
25F:→ siriusu: 可以换来换去 小公司我个人觉得不要学那套比较容易找到 12/19 13:51
26F:→ siriusu: 自己想要的人 12/19 13:51
27F:推 yamakazi: 面试遇到小公司这样考就当练练笔 不是每家公司都会这样 12/19 20:57
28F:→ yamakazi: 考 但多准备一些就多一个机会 海外工作版有人被EDA公司 12/19 20:57
29F:→ yamakazi: 裁员後 狂刷八百题改行当软体工程师 12/19 20:58
32F:推 YeaPa: 推 CSAPP 这本以开发者角度这的写得很好 12/19 21:33
33F:推 loadingN: 楼上那个例子也太猛了 12/19 21:34
34F:推 Csir: 原po年薪1000万! 12/19 22:29
35F:→ robber1234: 没错,要刷题就去刷,我就是不要刷那个浪费生命. 12/20 11:38
36F:推 sdriver: 上班一天10题卖闹啊,full time还有可能 12/21 13:37
37F:→ ianlin45: 简单的不论,难的一天两三题就很多了,有时候卡住一题 12/22 01:58
38F:→ ianlin45: 想一天也很正常 12/22 01:58
39F:→ ianlin45: 重点是你自己对於这种智力活动有没有乐在其中,如果觉 12/22 01:58
40F:→ ianlin45: 得很痛苦那就算了不必勉强 12/22 01:58
41F:→ ianlin45: (两三题是指有上班的情况,假日可以多一点,十题有机 12/22 02:00
42F:→ ianlin45: 会 12/22 02:00
43F:推 shooter555: 这种面试题目蛮不错的, 的确可以藉由这种方式找到强者 12/24 14:24
44F:→ shooter555: 但蛮多公司不想找强者的, 听命堪用就好 12/24 14:41
45F:推 bowin: 推 01/09 04:33