首页 > 解决方案 > CRUD 表现 - 工作面试问题

问题描述

真正的工作面试问题,由一些“顶级”工程师提出。说真的,我认为这是关于寻找数据结构的“圣杯”的问题。但我试图了解如何回应此类“问题”。

问:我们在服务接口中有Get(id)、Put(id, model)、Delete(id)、Add(id, model)操作。

有服务S满足接口。它将数据存储在某个容器/集合中。

  1. 使这些操作以 O(1) 的效率执行的方法是什么?

  2. 同时这个容器/集合应该使用最少的内存。假设我们在这里谈论 c# 或 Javascript/typescript。

标签: javascriptc#typescriptdata-structures

解决方案


不太确定 #2,但对于 #1,Javascript 对象实际上是一个哈希图,因此查找运行时间为 O(1)。您可以简单地使用一个对象,其键代表我们数据存储中标识条目的主键。每个键的值就是条目本身。


推荐阅读