📣 独立日限时特惠: VIP通行证立减$68
查看: 5931| 回复: 10
跳转到指定楼层
上一主题 下一主题
收起左侧

[高频题] 面试中碰到LRU用Python写能用OrderedDict吗

全局:
高频题
公司名称: amazon

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
楼主写算法用Python,最近跟人mock做到了类似LRU的题,然后开始讨论到如果面试的时候考官出LRU,能不能用Python封装在collections包里的有序字典 OrderedDict 来实现LRU。因为本身用双向链表来实现LRU会有比较多的代码,而用OrderedDict来实现就非常简洁,没看过源代码但是感觉OrderedDict这个数据结构底层肯定也是类似双向链表来实现的,有没有有经验的人能现身说法的。

当然最保险的方案都是两个都会,我的意思是考算法题的核心到底是解决这道题还是说要运用到相应的算法知识

上一篇:LeetCode 155 求解一行代码
下一篇:国内某大厂笔试
全局:
我考过这一题,一般来说如果candidate立刻知道用什么data structure就让他大概讲讲思路,然后换一题给他做。

评分

参与人数 2大米 +3 收起 理由
jerrygod + 1 给你点个赞!
14417335 + 2

查看全部评分

回复

使用道具 举报

推荐
magicsets 2020-9-6 07:52:44 | 只看该作者
全局:
其实用OrderedDict是比较好的做法,体现了抽象与封装原则使得代码有良好的结构。但是当你用OrderedDict实现了LRU cache之后,面试官非常自然的就会提出“让我们自己实现一下OrderedDict内部的逻辑”,所以底层实现仍然是无法绕过的。

换句话说,在面试任何问题A(例如LRU Cache)的时候,你都可以说“假设我们有一个抽象B(例如OrderedDict),这个抽象的作用是某某、提供了某某接口”,然后用B去解决A问题,不管B是不是在你所用面试语言的标准库里。面试官会不会进一步要求你去实现B,要看B的内部实现是否经典/复杂、在不在面试考察范围内、面试官对其感不感兴趣、时间够不够,等等。
回复

使用道具 举报

全局:
建议直接 from functools import lru_cache,😁
回复

使用道具 举报

🔗
usr_opta 2020-9-4 15:59:19 | 只看该作者
全局:
都要,你肯定不能分析得头头是道,代码漏洞百出,或者是代码默写很快,原理一问三不知。至于公司是更看重思路还是准确性感觉还是依公司不同的吧。

评分

参与人数 1大米 +1 收起 理由
jerrygod + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
wangdiao01 2020-9-4 19:09:09 | 只看该作者
全局:
大部分公司并不在意你最后代码能不能跑通,在意的是你思考的这个过程.

评分

参与人数 2大米 +2 收起 理由
jerrygod + 1 给你点个赞!
14417335 + 1

查看全部评分

回复

使用道具 举报

🔗
amgfan 2020-9-4 21:53:48 | 只看该作者
全局:
如果你知道OrderedDict,  基本这题就等于没做, 就像问你 strStr 你调了一个库函数

评分

参与人数 1大米 +1 收起 理由
jerrygod + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
leetcode有原题,让你实现LRU
回复

使用道具 举报

全局:
你得考虑到这个题考察的重点究竟是什么。比如K路归并我们需要使用到heap,但这里的重点是我们如何用heap,所以heap具体如何实现不是重点,你可以直接调用诸如PriorityQueue的数据结构。而这个题的重点就是你选用什么样的数据结构,OrderedDict把这个重点直接封装了,这就不太合适。

评分

参与人数 1大米 +2 收起 理由
jerrygod + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
那这个题目考察的意义何在? 就是让你写DList呀
回复

使用道具 举报

全局:
我觉得这题和find median in two sorted list一样,实现都比较恶心但不知怎的还特别爱考。。。背下来算了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表