美文网首页Android开发Android进阶之路
是刁难?还是装B?字节面试每轮必问的算法题到底意义何在?

是刁难?还是装B?字节面试每轮必问的算法题到底意义何在?

作者: 木木玩Android | 来源:发表于2020-12-18 17:07 被阅读0次

    最近在脉脉上看到有一个Android工程师吐槽:自己明明有着BAT的5年工作经验,却没想到在应聘Hulu时,败在了算法题上。

    明明有多年大厂工作经验,为什么还要在找工作跳槽时,面对算法的考题?这个话题,已经引发了不少人的关注,其中有人强烈支持,有人裂墙反对。

    反 方:谁在工作中会用到面试里这么复杂的算法?

    能解算法题并不意味着个人就有能力在工作中解决问题。

    举个例子,小时候学奥数学得牛逼的人,有些题目比这些题更难啊,他们会做题吗?会啊!但并不意味着那些奥数能手就能解决实际问题吧!生活中这种例子见的还少吗?

    我们自小就在应试教育的环境里长大,习惯了标准答案带来了高分——这简直是中国教育最悲哀的部分。现在长大成人了,找个工作也来这套?


    如果说这是对应届生有这样的考核我也就认了,毕竟刚进社会没什么工作经验那看一下基础知识也没什么;但对于已经有很多年工作经验的人,难道这么多年的工作、项目经验都不看吗,就考这些破算法题?谁工作用过这么复杂的算法?

    为了跳槽,重复枯燥地刷题,就像在准备应试考试,这不是长久以来应试教育被诟病的点吗?

    会做各种晦涩难懂的算法题和工程能力有啥关系,有限的时间谁不想学点有用的东西?工作经验、项目经历才应该是考核程序员的标准,为什么盯着个算法不放?

    明明一名优秀的程序员真正强的地方在于“工程能力”和“创造性思维”,执着于刷题太没有意义了。

    与其没日没夜地刷题,还不如去看看有用的书,真正解放自己的思想,认识到自身的不足,增加自己的项目经验,全方位的培养自己的能力。

    正 方:大厂面试官:我们为什么要出算法题?

    醉翁之意实际上并不是算法本身,其实真实的目标是,发掘潜力,鉴别面试者是否聪明、勤奋。我们有句谚语叫”路遥知马力”,但在短短的1-2小时的面试时间里,怎么看出潜力,鉴别面试者是否聪明、勤奋,是非常考验面试官的事情。

    所以说,面试考算法就刚好能在短时间内来进行一个验证。面试考算法是一个基准点,因为算法是计算机科学里面最基础的学科,其他更高级的学科都是在这个基础上面展开的。在过了这个基准点的基础上,再考其他的东西,例如更复杂的算法,实际的项目经验,知识广度等。这也是目前国内大公司面试的标准形式。

    很多面试官也知道很多求职者对于考算法有抵触心理。自己干这行的,自然知道以后能用到这个技能的频率。但是对于大厂而言,越是基础的东西,到后期就越是重要。从算法就可以看出候选人的解题思路,以及将思路迅速地变成代码的能力,比如一些二叉树相关的题目,这些问题的解法就能体现面试者对数据结构的熟练度,以及分析算法复杂度的能力。

    企业考算法并不是为了考出一个答案,而是想要从他解题的过程中,考察和验证这个人的基本功是否扎实,反应是否机敏。在看对方解答一道题的过程中,可以发现应聘者的闪光点。比如,候选人是否能接受挑战,知难而上,而不是就此退缩;或者是否喜欢学习新东西,学习能力强不强,是否积极主动等等。

    考算法题是对一个程序员基本素养的考核,如果这个不达标,经验再多公司也不会要的。就比如你去面试国足,你有10年踢球经验,射门技术高超。但是人家就是对你的跑步能力要做个预估,先测你个百米速度,结果你跑了30秒,那你踢球10年的意义何在?

    总结

    企业作为招人的一方,都是希望求职者是有备而来,愿意经历面试洗礼的人。出算法题面试,是一种公开的标准化流程;可以用最小的总误差,来找到统计意义上最适合的一群人——工作能力符合标准,对公司的兴趣大、个人的心理素质强。通过算法考核,可以把那些将来会大大增加沟通成本的人筛掉——这对一个企业的健康成长是很必要的。

    而且比起啥都不问,就约来可先聊上一个小时企业愿景,再问一堆从简历就能判断的职业经历价值的公司来说,在面试的时候出算法题,也是尊重面试人员,节省双方时间和效率的一种做法。

    我不去从中评判任意一方的观点,因为无论支持哪一方的论证都只是在逞口舌之快。只要这个行业市场需要算法,算法就还是面试中不可避免的一环。而且而且像字节跳动,快手这种大厂是每轮必会问算法题的,其它的大厂频率会低一点,但一定会有。所以想进大厂,还是乖乖学好算法。

    跨过春节就是金三银四了,如果你的算法题还是解得非常吃力,那你该给自己敲响警钟了。毕竟年轻时欠的账,早晚要还。我这里也准备了一份《数据结构与算法刷题指南》学习笔记,可以帮助你快速高效的去学习数据结构和算法,如果需要的话,请随手点赞+评论后点击此处快速获取!

    数据结构与刷算刷题指南

    需要《数据结构与算法刷题指南》学习笔记的同学,请随手点赞+评论后点击此处快速获取!

    相关文章

      网友评论

        本文标题:是刁难?还是装B?字节面试每轮必问的算法题到底意义何在?

        本文链接:https://www.haomeiwen.com/subject/wnnxnktx.html