为什么最难不过二叉树的算法出现在面试题中都会被应聘者抱怨?

标签: 二叉树 算法 面试 | 发表时间:2014-05-28 00:00 | 作者:知乎用户(登录查看详情)
出处:http://www.zhihu.com
就说二叉树。我大二学数据结构,大作业的一部分是自己实现一个平衡二叉树,没有任何问题。要是那个时候别人来问我各种细节,毫无压力。

然后我现在研二,自那次大作业以后再也没有实现过平衡二叉树。需要使用各种索引的时候都是无论是自己实现还是直接调用库,都不是平衡二叉树。然后现在要是来问我关于平衡二叉树的各种细节,当然我还记得左旋右旋左右旋右左旋,但你要我把所有的指针赋值都准确回答出来,我一定办不到。包括其他很多经典算法,思想我都有印象,细节我只能抱歉。

这类知识性的东西不经过长时间多次反复是不会形成长期记忆的。所以才会有临时查的情况产生。而且就算形成了长期记忆,这跟骑自行车这种技能还不一样。只要时间够长,总会忘掉的。

我觉得面试者反对的不是问算法,而是单纯地考察这些跟他工作无关的知识。换句话说你就算不问算法,而是问一个写前端的Sql查询怎么优化或者问一个挖数据的怎么做编译器,人家一样会受不了。因为他需要花时间去特地准备。而这准备又跟他的工作无关(面试之前的工作)。

如果面试官问的算法与面试者的工作相关,他却答不上来,确实可以判断他之前的工作有问题,进而他的能力也许有问题。如果无关,这就成了单纯的应试。我们都知道应试教育在人们心目中是什么样的存在。讨厌什么的就可以理解了吧。

现阶段,面试者也许认为算法是基础,人人都该懂,所以才问算法。万一过两年,面试者认为体系结构是基础,人人都该懂,这个题目就会改成问体系结构的了。那么计算机科学或者工作所需的编程实践里到底什么是基础?什么人人都该懂?我也不知道,反正我不觉得算法是。

当然,面试也和应试教育一样。问的问题也许并不好,但是足够公平就行。现阶段也没有别的更好的问题可以问。毕竟不能指望面试官先了解应试者的背景再有针对性地提问。再加上现在大家争着找工作的市场情况。所以作为应试者,还是安心准备为上。再说,不管有用没用,知识多了总没有坏处。

注:本答案只表达了对面试问算法的部分反对,并未提出任何面试提问的建议方案。

— 完 —
本文作者: 知乎用户(登录查看详情)

【知乎日报】 你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 65 个回答,查看全部。
延伸阅读:
面试官怎么看待应聘者在校成绩?
为什么HR通常会在下午通知应聘者面试?

相关 [二叉树 算法 面试] 推荐:

为什么最难不过二叉树的算法出现在面试题中都会被应聘者抱怨?

- - 知乎每日精选
我大二学数据结构,大作业的一部分是自己实现一个平衡二叉树,没有任何问题. 要是那个时候别人来问我各种细节,毫无压力. 然后我现在研二,自那次大作业以后再也没有实现过平衡二叉树. 需要使用各种索引的时候都是无论是自己实现还是直接调用库,都不是平衡二叉树. 然后现在要是来问我关于平衡二叉树的各种细节,当然我还记得左旋右旋左右旋右左旋,但你要我把所有的指针赋值都准确回答出来,我一定办不到.

二叉树迭代器算法

- - 酷壳 - CoolShell.cn
二叉树(Binary Tree)的前序、中序和后续遍历是算法和数据结构中的基本问题,基于递归的二叉树遍历算法更是递归的经典应用. 但是,仅有遍历算法是不够的,在许多应用中,我们还需要对遍历本身进行抽象. 假如有一个求和的函数sum,我们希望它能应用于链表,数组,二叉树等等不同的数据结构. 这时,我们可以抽象出迭代器(Iterator)的概念,通过 迭代器把算法和数据结构解耦了,使得通用算法能应用于不同类型的数据结构.

你应该掌握的——树和二叉树

- - CSDN博客推荐文章
我在上课的时候,由于各种原因,上课老师讲的自己总不爱听,现在到火烧眉毛了,才知道这些基础知识的重要性,现在想想,也没有那么的困难. 重在理解这些底层的概念,然后考试考的都是一些很简单的概念和计算,在这里我来阐述一下树和二叉树的一些考点. 以这棵树来说几个基本的概念. 结点的度:一个结点的子树数目称为该结点的度.

面试失败之24点算法

- UnderSn0w - 博客园-首页原创精华区
  周一风尘仆仆(上午6点抵达成都)的去参加了凡客成都研发中心的面试,虽然经历一夜的折腾让我感觉头脑很不清醒,不过这种面试状态也不错,能让我深刻体验一下在不清醒状态下进行的思考和回答问题. 午饭过后便出了门,习惯了不堵车,突然觉得成都的交通真的很拥堵. 到达凡客成都研发中心填完表后等了大概10多分钟,面试官把我带进会议室,开始了面试.

我看面试时出(纯)算法题

- - 老赵点滴 - 追求编程之美
今天早上一边出门一边在平板上读了 左耳朵耗子的新文章《 为什么我反对纯算法面试题》,略有想法. 正逢外面暴雨如注,我就又回屋打开笔记本发了一些回复,特此整理一下. 为了避免有人扭曲我的看法,我先声明我并不是反对这篇文章,相反我是基本同意其中的观点,只不过会加以一些补充,把其中一些我认为有些过头的地方按一按.

大数据量的算法面试题

- - 编程 - 编程语言 - ITeye博客
作者:July、youwang、yanxionglu. 时间:二零一一年三月二十六日. 说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结. 出处:http://blog.csdn.net/v_JULY_v. 第一部分、十道海量数据处理面试题. 1、海量日志数据,提取出某日访问百度次数最多的那个IP.

秒杀名企面试--150道算法面试题攻略

- - 弯曲评论

面试算法之排序算法集锦

- - CSDN博客推荐文章
排序算法在面试过程中是经常会考的,这是很基础的,面试官觉得你应该很熟悉这些东西,如果你半个小时内写不出来,那基本就给跪了,因为这真的是狠基础狠基础的东西,所以我们得对一些基本的排序算法烂熟于胸,对这些排序思想,效率了如指掌,才能让面试官觉得你还行. 基本的排序算法有:直接插入排序,冒泡排序,简单选择排序,shell排序,归并排序,快速排序,堆排序.

面试10大算法汇总+常见题目解答

- - Java - 编程语言 - ITeye博客
面试10大算法汇总+常见题目解答. 最近更新: 2013年12月15日 持续更新…. 英文版的 “面试10大算法汇总”日最高访问量已高达4,318次. 这说明总结程序员面试算法有实际意义,比读算法书更有效. 下面是中文版的10大算法汇总+有代表性的题目汇总. 这些概念是专门为面试准备的,因为日常编程中我们很少会自己去写一个链表或者做一个图,也不会经常使用没有效率的递归.

[原]程序员如何快速准备面试中的算法

- - 结构之法 算法之道
    程序员如何快速准备面试中的算法.     我决定写篇短文,即为此文. 之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法. 尽管在 微博上简单梳理过,如下图所示:.     但因字数限制,特撰此文着重阐述下:程序员如何快速准备面试中的算法,顺便推荐一些相关的书籍或资料.