Excuse me ? 所以減少latency 或running speed 的事情你從來不做嗎? 2 min running time vs. 10s running time 的東西能是一樣嗎? 不是东西写出来, 能run好啦啊! ~~~~~嘈点有些多啊~~~~~~~~~ 还有我个人高级鄙视那些只会背题的。能从来没看见过LEED HARD 的人能很快有思路开始解题在我看来能比给你完美答案珍贵多了~~~~~所以remote code testing from a known test bank 簡直是劣币驱逐那啥。 屑
回复 1楼小城往事的帖子 以前说修冰箱要1万块,修本身只要10块,发现哪里要修要花9990块。 看起来很简单的工作,只要能跑就行的活,也要牛逼的人来干。因为这些人视界更高,能跑之后他知道哪里可能会出错,哪里以后可以优化,哪里可以提高。他都可以做,也知道怎么回事。 那些只会两三下的人,也能叫活跑起来,但是为什么能跑他根本不知道,更不用说能跑到什么程度,以后出了问题,他束手无策,以后也不知道怎么优化,因为他的视角就那么低。 还有,”就如实说了大概有多大。那人听了对我嗤之以鼻“ Not surprising you complain so much. You are a worker, not a manager.
写代码,一个story来了,人要你改个啥,或者加个啥功能,你把那代码写了,跑跑测试能过,不就交差了吗,你还要琢磨什么时间复杂度空间复杂度最优解吗,scrum master在那里催命,也由不得你瞎琢磨没用的啊。再说一般的业务代码,就是按照要求把业务逻辑加进去,没啥高级的算法,也没啥在算法上优化的空间啊
系统设计,你们一组马工一起搞一个系统,折腾一阵子,能把它架起来能跑,这就不错了,还要啥自行车呢。具体里面哪个东西该怎么架,真的有人认真考虑那些design consideration吗,难道一般不都是怎么省事怎么来,先把东西搞出来交差再说啊,否则你design的再合理,到时候跑不起来交不了差,都是你们组的黑锅。
一般的公司的马工组,做的也不是meta或google那样的牛逼产品,根本就没有那么多的用户,那么大的数据量,对算法和系统的performance要求其实很低,很多情况下,用现今的大路货的工具,写写代码搭起来,用起来基本问题不大。你优化来优化去,把本来就很快的运行速度,再提高几倍,有意义吗?也许有点意义,但肯定不是business priority,因为原来的虽然不很优化但以及足够用了
实际工作中的很多东西,根本就没有为什么,你工作的地方也不需要你问为什么,因为你从前的同事做这个东西就是这么做的,你进了这个组,也得在这个基础上跟着往下做下去,不可能说你牛逼,你特别懂算法和系统设计,进去之后看别人以前做的东西都是不符合最优解的垃圾,就给人把运行的好好的一套东西都推到重来优化一遍,这个谁也受不了。你需要做的,就是像一些人说的,到公司的屎山上继续拉屎,告诉你到哪拉,你就去拉一坨好了,别问从前那些屎都是为什么拉的,问了也没用,因为比你资格更老的同事他们也不知道
现在的马工面试,就是考造火箭,但实际上的工作内容,都是说好听了叫拧螺丝,说难听了叫去屎山上拉屎,招人的公司并不真的需要造火箭,不管面试官还是应聘者也没人真的造过火箭。再说,就算真的有造过火箭的人,也不是一个人就把火箭造出来了,也是一群马工分工一起造,每个马工顶多也就造过火箭里的一个零件。
但被面试的人,也不能直接就说实话,说我们就是拧螺丝的,不会造火箭,谁这样答肯定挂啊,虽然你说的是大实话。那怎么办呢,就得会编,还得一本正经编的像那么回事,我就是会造火箭,还不是造个火箭零件,是整个火箭的系统都能给你设计出来。你说,我别说造过火箭,连见都没见过,你让我怎么编呢?那就照着书上说的编呗,纸上谈兵嘛。算法问题嘛,就把leetcode题的最优解标准答案背下来,照着它编嘛。系统设计问题,就按市面上流行的那些教程编嘛。
面试的时候也是看缘分,问怎么造火箭,面试官装模作样的在那问,被面试的人就在那一本正经的编呗,其实这俩人谁也没真的见过火箭,更没造过,都是在那空对空的编。如果编的思路跟面试官的那套思路对的上,面试评价就好,如果编的思路不一样,面试评价就差呗。
这其实就跟中国古代的被四书五经考科举差不多,考试的明明都是屌丝,吃地沟油的命,你非要让他们代圣人立言。那个什么尧舜禹汤的理想社会,谁他妈的真的见过啊,治国平天下,谁他妈的真的干过啊,还不都是在那编,孔老二的书上怎么说的,就照着那上面说的编呗。什么上古圣贤的那些事,其实孔老二也没见过啊,他也是编的啊。一群穷书生,别说当过芝麻官,连县衙大门口都没去过,你让他们扯怎么治国,不就跟让一群只会拧螺丝的马工扯怎么设计一个世界上最牛逼的软件平台差不多吗。
马工找工作其实也跟中国从前考科举差不多,把算法题的标准答案和系统设计的例子,当作四书五经,背熟背烂,然后考试的时候根据这些背下来的东西一本正经的扯淡。考察的是什么呢,说不好听了,就是在智商和基本cs知识及格这个前提下,比谁有更多的时间和耐性背那些除了考试之外百无一用的书疙瘩。从前有范进考到白头终于中举的励志故事,现在也有家庭主妇蹲家十年潜心刷题终于刷进大厂的励志故事。
最后加个例子吧。我前一段时间跳槽面试的时候,面一家不知名的普通小公司。具体的技术我就不说太细了,大致的意思,就是说到我从前工作的公司做的一个东西。现在不是很多人喜欢扯scalability的蛋吗,面试我的那人就问我,你们做的那个东西scale有多大。我这人实诚嘛,就如实说了大概有多大。那人听了对我嗤之以鼻,那意思就是说,你们真垃圾,这么小的scale的东西,你们这是过家家搞笑的吗。是啊,我们的东西确实是鼻屎大,但他们那个小破公司,我就不信他们做的东西就能比鼻屎大?我们厂拧螺丝太垃圾,进了他们厂就能有火箭造?就是装逼呗。
你没面过人吧,经常面试的人谁有空听你闲扯拉家常,一般都是面试前几分钟打印出简历,30秒扫一下简历里的关键字,认真一点都会highlight一下,就去了面试了
我当年找工作被面试的时候,有一个面试官 WFH,他的摄像头放在桌面,视频里他就一直侧面45仰角这么说话,摆明就是根本不care 你的态度,心里再不适也得忍着回答问题,suck it up.
不是瞎扯
很多场合是需要速度的
水平高低就一目了然了
那还不如直接看高考成绩和第一学历 更有效
如果没有答案可背是考智商,有答案可背考的是勤奋,不是智商
这说的很精辟!
公司提供的电脑一般都是笔记本,屏幕太小,哪怕是 WFH 一般也都会提供外接至少一个大显示器,人正面对着屏幕,笔记本放旁边,笔记本上的镜头拍出来当然就是侧面,正常操作,不存在不 care面试对象的问题
智商:这些题目虽然可以刷,但智商感人的人刷了也刷不明白,毕竟面试时需要你解释思路的,而且很可能会给你变一下,看你是死记硬背的还是有自己理解的。 勤奋: 你能花时间刷出几百道题本身就说明你能卷。
还有一个大家心知肚明的原因,就是提高公司互相之间跳槽的门槛,要不然铁打的营盘流水的兵。
同意你说的关于不用过多过分优化,但说什么”能跑起来就行”就是胡扯了。在Google, meta这些有scale的公司,每年每个组都要向上申请capacity budget, 就是你们组需要用多少CPU资源。已百分比计算,比如我们组需要用全公司0.5%,相当于多少多少千瓦小时,多少多少钱。你超出了budget要解释的。公司每年按照申请和实际用量来规划数据中心扩张,买多少台新机器。曾经一段时间budget freeze, 很多组不允许用超过多少多少的CPU, 这些都是直接从代码上体现和实时测量的。
你提交了一个效率低下的代码,系统里会检测出的。然后半夜给你一个UBN (unbreak now!) task: 你的代码造成了公司CPU资源0.5%增长, 请2小时内选择以下: 1) revert 2) 再递交一个代码优化 3)填一个表格, 申请额外0.5% cpu cycle 的budget (相当于多少多少千瓦小时,转换成真金白银), 让你们director批准。
很多代码,功能,迟迟无法上线就是应为消耗太大,换言之用电太厉害,用不起。
更糟糕的情况是一段低效率代码,造成用户刷页面平均速度降低了0.5%,可能就是慢了0.3秒,几十亿个用户每个人慢了0.3秒,群体效应是惊人的。可能导致看到的内容少了,广告投放少了,直接体现在lost revenue, 这些每时每刻都实时记录的,一旦发现跌破了某个threshold, 立刻定位到你半小时前递交的一段低效率代码,你手机自动震天响,呵呵。
开什么玩笑。
就是说要么智商超标,要么苦力+智商合格。选这两种人你还要什么自行车?
貌似 meta , 哈哈!
不算到位吧, 楼主是个青蛙, 新兵蛋子, 懂个屁, 哈哈。
第一段很同意。 第二段不同意,大概率是他的摄像头角度问题。
还有我个人高级鄙视那些只会背题的。能从来没看见过LEED HARD 的人能很快有思路开始解题在我看来能比给你完美答案珍贵多了~~~~~所以remote code testing from a known test bank 簡直是劣币驱逐那啥。 屑
你只要吃饭别噎着,拉屎别拉裤兜里,睡觉别流哈拉,不就行了?
楼上说了,这是智商
可能平时就是对着另一个屏幕工作,摄像头是laptop那,我干过,因为得有时看屏幕出题等,但面过的国人都打了高分四五分。所以的看情况
我也这么认为的,楼主是个青蛙。
确实如此。之前的层主误会了
楼主牛人,说的太生动了。
coding 算法题的最优解,对大多数工作任务没意义。 因为工作中,很少有那么复杂的任务,或者适合经典算法的任务。按照最优解去工作,几乎是不可能的。没有明显的overhead就行了。
没看明白你是真不清楚还是假不清楚。计算机发展到今天不是随便谁写几行能跑的代码就可以的。算法和设计至关重要。要是你真的觉得随便写写就行,那你只能是entry level
以前说修冰箱要1万块,修本身只要10块,发现哪里要修要花9990块。 看起来很简单的工作,只要能跑就行的活,也要牛逼的人来干。因为这些人视界更高,能跑之后他知道哪里可能会出错,哪里以后可以优化,哪里可以提高。他都可以做,也知道怎么回事。
那些只会两三下的人,也能叫活跑起来,但是为什么能跑他根本不知道,更不用说能跑到什么程度,以后出了问题,他束手无策,以后也不知道怎么优化,因为他的视角就那么低。
还有,”就如实说了大概有多大。那人听了对我嗤之以鼻“ Not surprising you complain so much. You are a worker, not a manager.