首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据结构和系统设计问题

数据结构和系统设计问题
EN

Stack Overflow用户
提问于 2011-02-07 16:58:04
回答 3查看 1.7K关注 0票数 2

如果有人问你“为某某设计一个系统”或“你会为某某使用什么数据结构?”...is,你可以用关系型数据库系统设计来回答吗?是否包括表、实体、它们之间的关系、外键和主键等?对于有大量数据库系统使用经验,但没有使用数据结构的项目经验的人来说,这样做可以吗?我只知道链表,二叉树,二叉树,堆栈和queues...nervous为我即将到来的实习生面试。有什么建议吗?

EN

回答 3

Stack Overflow用户

发布于 2011-02-07 17:21:17

链表、树和堆栈是用于处理程序中数据的工具。数据库表和表设计以及关系是用于存储数据的工具。“系统”同时使用这两种方法,但目的不同,但它们确实可以协同工作。

“为某某设计一个系统”这是一个更高层次的问题,因此我将首先讨论数据库表,然后根据它们所追求的细节,进入程序细节。

“你会为某某使用什么数据结构?”这听起来像是一个关于算法设计的问题,所以这里可能会问到关于树和堆栈的问题。

希望这能有所帮助:p

票数 1
EN

Stack Overflow用户

发布于 2011-02-07 17:32:32

在面试中,旨在测试您对数据结构(通常是算法复杂性)的熟悉程度的问题与关系数据库无关。关于系统设计的问题很可能涉及到数据库设计部分。

你提到的数据结构都很重要。最明显缺少且非常重要的是hash tables (或无序映射,它是许多脚本语言中数据结构的基础,如python中的dict和javascript中的对象/映射)。您还应该阅读btrees,它通常用于实现关系数据库(具有二进制搜索树等属性,但更适合于磁盘存储)。

票数 1
EN

Stack Overflow用户

发布于 2011-02-08 06:11:00

在一次实习生面试中,这是不好的。

我希望您熟悉基本的数据结构,但我不希望您是其中任何一个方面的专家。(无论如何,这不是我所说的专家。)我更感兴趣的是你如何回答那些显然超出你目前知识范围的问题。如果我问你van Emde Boas树的理论优势,“我不知道”可能是正确的答案。(总比试图吓倒我好。)

但是,作为一个实际问题,您可以将关系设计原则有益地应用于许多不是明显相关的问题。大多数Lotus Notes应用程序都将受益于可靠的关系设计。即使您不能在Notes中声明性地实现约束,您仍然必须以某种方式说明它们--异常报告、周期文档爬行等等。

并且,IIRC,大规模C++设计中的第一个扩展示例与C++或OO设计问题一样是一个关系设计问题。(那本书发表于1996年。我有那么老吗?是的,我想我是。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4919451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档