分享

如何看待阿里 P8 加面 coding 环节,而 P7 却做不出头条算法题?

 半佛肉夹馍 2023-10-20 发布于河南

举秀才,不知书。举孝廉,父别居。寒素清白浊如泥,高第良将怯如鸡——桓灵时童谣。

有些东西是基础,比如coding。

搞软件的,如果连coding都不会,有一个算一个,全都是南郭先生。

就好像只会小学语文肯定是文盲;但小学语文都不会的还不如文盲一样。

没错。我再重复一遍:如果你连coding都不会,那么不好意思,你,对计算机,一无所知,狗屁不通!

你随便叫自己什么都可以,但就是别说你懂计算机。

因为你的脑袋,压根就不存在理解软件开发领域最最粗浅概念的物理基础。

很早前,我就在一个问题下提过:996等问题,恰恰是因为整个中国互联网达成了垄断、各大巨头再无生存之忧,这才开始搞各种幺蛾子。

当年竞争最激烈、随时可能在和亚马逊、msn、icq等巨头的进攻下死去时,国内这些企业却恰恰相反,注重合理管理制度,不仅不追求加班,反倒向国际标准靠拢,要求程序员每周40~200行代码。太多了反而会因为质量问题影响进度。

企业生存无忧,用人标准自然宽松;宽松的用人标准使得这些人鱼目混珠,鱼目混珠的这些人反过来又恶化了办公环境,造成严重内耗……

有能力卖能力;没有能力,当然只能主动挑起内耗。

为什么说“只要没学好coding,计算机就不可能学懂”呢?

因为coding是一切的基础。将来你学到的每一句话,最终都对应于具体的一行或多行代码。

并行并不是外行想象的并行,它还可能是“分时复用”;“分时复用”究竟是什么,你必须对CPU对计算机其它硬件如何协作了如指掌——哪怕错了一个时序都会有灾难性后果。

但即便如此,你也未必能把它写成程序。因为任何似是而非带来的后果都要比简单的时序严重得多,也复杂得多。

没有亲手把它实现出来、调试正确,你都不过只是口头禅罢了。

中断、DMA以及各种缓冲区;总线、换码、命令字……各种“可怕”的概念综合起来,才是操作系统。

不会coding,以上你全都不可能理解;会了coding,从以上概念到操作系统,仍有很长很长的一段路。

操作系统仍然只是个起点。

网络栈,虚拟执行;集群,仲裁机,单点失效……全都是实实在在的、简单的若干行代码写就。

显然,如果没有真正想过这些功能的核心代码是什么样子,你念的仍然只是口头禅。半点不比搜索引擎高明。

可以毫不夸张的说,现代计算机领域的任何突破首先就是一个算法。结构化程序设计归根结底是执行现场保存与恢复的算法,面向对象是动态绑定相关的一系列算法。然后,缓存,队列,集群,大数据,归根结底都是算法。甚至就连比特币都是拜占庭将军问题的解决算法。

如果你不能把这些算法理解透彻,那么你是如何分析它的呢?出了问题你能解决吗?

如果简单的本地算法都能把你难倒,那些分布式算法,那些诸多未必可靠节点参与、却要找出可信结果的算法,你,有资格过来烧脑吗?

都玩成专家了,都要每天分剖那些烧脑的分布式算法、那些“连参与贡献算力的节点都要纳入管理”的高级算法你都要了如指掌;结果单线程玩玩链表,你搞不定了?跨栏跑玩多不会过门槛了?谁信你谁傻。

诚然,某些小学奥数题有时候也能难住数学教授。这我们能理解。但数学教授总不能参与小学数学考试都考不及格吧?

因此,我敢确定肯定以及断定,凡基础算法都学的一塌糊涂的,现在那些新名词他也只是会说说罢了。压根不存在理解的任何可能。

同时,我还敢确定肯定以及断定,如果不保持coding,不持续活动自己的脑子,不管当年你的算法学的有多溜,现代那些集群之类高级知识(对应着难度极大的分布式算法),你绝对玩不到精髓。

专家和操作手册有什么不同?

答案是,专家知道每件事背后的原理。

计算机专家知道任何一件事、一个模块、一个功能,是如何被图灵机、冯诺依曼/哈佛结构实现和执行的。

他的脑子里有一个动态的机器,所以他可以在软件实现之前知道它应该是什么样子。这就是专家的价值。

想要让脑子里有一个动态的机器,你就必须亲自的、一个齿轮一个齿轮、一条指令一条指令的搭建过它。

coding做的,就是这个训练。

没有coding的“砖家”,他的脑子里绝对不会有一个活动的、精确的机器;没有这个机器,就没有推演能力,就和一本死手册没有任何区别。

敲关键字,返回搜索结果,这是免费的搜索引擎的功能;审视各种信息,推演之,然后去伪存真、在工程开始之前预言其成功/失败,这才是专家的不可替代性。

连简单的、初级的算法都理解不来,你,相信这样的“砖家”居然会有清晰的头脑,能够帮你把握纷繁复杂的现实、带领团队做一个高难项目并走向成功?

“可是”,你争辩说,“我亲眼见他们把资深程序员训的一愣一愣啊?我亲眼见资深程序员听他的指挥、而且真把项目做出来了啊?”

这就叫混饭吃的艺术——也叫领导的艺术。

所谓领导的艺术,说白了就四个字:说太平话。

什么叫“说太平话”呢?

搜“软件工程”,你会发现很多总结。什么高内聚、低耦合,什么高扇入低扇出……

这些就是太平话。说出来绝对不会错,但结合不了实际就没半点用——想结合实际?好啊,你先学会coding。不会?不会就当太平话用。

好了,背会了太平话,现在你能当领导了。Linus/卡马克来照样训的他灰孙子一样。

——领导,您看这设计……行吗?

嗯?!做到高内聚低耦合了吗?

——差不多吧……应该优化到极致了……

咄!什么叫应该!我要听确定!

——好,确定优化到极致……

停!怎么个确定?你能证明吗?

——这……这两个目标有时候甚至是互斥的……

回去讨论讨论。我们是专业团队,要做就做到最好!

——是!

看到了吗?一点有用信息都没输出,但照样在内行前不露窃。

那要遇到杠精,非要你说点人话呢?

好办。

——领导,您看这次这设计……

不好。打回重做!

——哪里不好?IBM都这样……

IBM就不能超越了?

——那您说说,怎么超越?

啪!这是你的工作!搞不定我申请换人!

——我还就和你杠上了!哪里有问题,你今天非给我划个道道不可!

喂?好的,我马上去。(一转脸)我要见个客户。你好自为之。

——老子不干了!

先提交辞职信,等我回来处理。

你看,只要是稍有复杂度的工作,玩好这几板斧,混一辈子不难。再强的大牛到你手下也得吃瘪。

这些人的得势,就是996渐成时尚的背后真相。

那么,这种人有办法识别吗?如何证明我这个“不会coding什么都不行”的论断呢?

简单。调走他,看看没有他在、且资源有充足的前提下(比如指派一个只懂管理不懂技术的经理过去),他的团队是不是还能完成项目;看看完成的项目是否具有同等甚至更好的质量、更快的实现速度。

齐宣王使人吹竽,必三百人。南郭处士请为王吹竽,宣王说之,廪食以数百人。
宣王死,湣王立,好一一听之,处士逃。

果然,混饭三板斧又出来了。

第一板斧,你是学生社会很复杂。

第二板斧,你唯技术论但技术不能解决所有问题。

第三板斧,我很高明,虽然你看不懂;虽然天下就没人看的懂我的高明,我也没法证明我的高明,但我还是高明。

针对第一板斧:我认为,你丫是必须把所有人都定义成学生,才好施展你的忽悠。

但我还是想知道,除了“你们low你们没见过世面你们必须听我的”,你们还能说出哪怕半拉人话吗

除了一边裸着小鸡鸡在风中摇摆、一边假装自己穿有很漂亮的衣服之外,您还有别的什么技俩施展吗

装穿衣服这招早过时了。八百年前的古老骗术,不能就这么一直用下去吧?

针对第二板斧:你要应聘产品经理,哪怕你让识别手机壳颜色我都没话说;但既然你丫来应聘技术职位,我觉得你还是得懂点技术。

技术领域不谈技术,你丫还能谈点什么?

技术领域你谈商业,那你为什么不去应聘市场经理?过去做程序必须转管理,现在不转管理了,转市场?但转了你就出去啊,还赖在技术这块做什么?

茅坑是拉屎的地方,技术这庙小,容不下您这不拉屎的大神。

不然您端着一碗吮指原味鸡高踞于一坨热腾腾的大便之上,下面抠抠塞嘴里吸吸——哪怕您觉得很合适很优雅,别人也忍不住恶心啊。

有点公德好不好。

针对第三板斧:你的确可以装逼,而且一旦你装到一定程度,那些外行甚至低水平的业内人士还真没法戳穿你了。但他们没法戳穿不等于别人也没法戳穿。

很简单,请回顾一下,你是怎么爬上去的。解决了什么疑难问题、做出过什么突出贡献

您就是想把自己吹成“圣人生而知之”,圣人也有常人可以理解的小时候。

哪怕您是来自未来的穿越人士,那么也一定有捧您上位的第一桶金。亮出来让大伙见识见识。

据说某些官员/商人不敢谈自己的发家史;我想身为技术人员,您不至于也不敢谈自己是如何发迹的吧。

RECOMMEND

- 点个在看你最好看 -

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多