面试过程中如何处理算法/数据结构问题?

问题描述 投票:11回答:8

最近,我一直在面试许多软件开发工程职位,几乎我所面对的每一次面试都集中在算法和数据结构上,我想知道怎么可能面对一个未知的问题并为其设计算法。使用适当的数据结构,这些数据结构也要在几分钟内-最多5分钟。

我真的很感谢有人可以就此问题以及在处理算法/数据结构问题方面如何充分利用面试过程提供一些信息。

谢谢。

algorithm data-structures
8个回答
15
投票

当我采访人们并向他们提问时,我不是在寻找答案(是必要的)。说出来-讨论您的想法。

[作为一名面试官,看到合理的思路会比我说“我愿意...”要多得多。如果我知道您知道如何解决问题,则说明您有解决问题的能力,这通常是目标。


5
投票

提出这些问题的重点是,作为开发软件的人,我们应该了解这些知识并能够应用它们。该技能是一项基本要素,其用途不只是通过面试。

大多数主题在任何大学算法课程中都有讨论。但是要真正做到这些,您可以尝试练习TopCoderSPOJUVa(以及许多其他类似网站)中的问题。


3
投票

如果面试涉及一些设计/架构方面的动手工程工作,请期待一些基本算法和数据结构问题。这些是优秀程序员的基本要素。

我将熟悉基本的数据结构和通用算法(排序,搜索,匹配)以及每种方法固有的适应性,局限性和挑战性。通常只提出一个5分钟的问题,以了解您如何解决问题,而不是解决问题的方法。


3
投票

[史蒂夫·耶格(Steve Yegge)在Google上找到工作非常出色blog entry,他回答了您需要了解的有关Google面试算法的知识以及应阅读的准备材料。


2
投票

这是一个非常模糊的问题,因为您要问如何准备编写具有数据结构的算法。这类似于询问如何使用materials制作things。他们希望您产生什么样的算法?他们要求您使用或产生什么样的数据结构?面试官正在(可能)试图感受您的想法。不幸的是,可能有些人也在寻找“书本答案”。一些例子将是有益的。


0
投票

您可能想看一本有关数据结构和算法的书。除了Asaph推荐的博客条目中列出的内容(快速浏览表明该博客值得阅读)之外,我还很喜欢How to Think About Algorithms(我从ILL获得)。这是一本大学教科书,提供了算法思维的一般模式以及具体的算法示例(有些练习在后面有答案)。


0
投票

这是一个非常相关的问题。

当我读取数据结构时,我发现了二进制搜索,冒泡排序,哈希,列表,映射。

但是,当我阅读面试问题和发布的答案时,它们是关于特里,哈希函数等的,而我从未在所找到的材料中阅读过。

准备这样的面试就像无法找到绳索的尽头,直到到达一次又一次的起点一样。

我读了书,然后想到了面试问题,发现自己一无所知。这是一个无限循环。

太沮丧了。


0
投票

在leetcode.com,hackerearth.com和hackerrank.com中的实践。这些都有一些很好的算法,数据结构教程。

© www.soinside.com 2019 - 2024. All rights reserved.