高级农民
- 积分
- 2716
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2017-6-18
- 最后登录
- 1970-1-1
|
其实用OrderedDict是比较好的做法,体现了抽象与封装原则使得代码有良好的结构。但是当你用OrderedDict实现了LRU cache之后,面试官非常自然的就会提出“让我们自己实现一下OrderedDict内部的逻辑”,所以底层实现仍然是无法绕过的。
换句话说,在面试任何问题A(例如LRU Cache)的时候,你都可以说“假设我们有一个抽象B(例如OrderedDict),这个抽象的作用是某某、提供了某某接口”,然后用B去解决A问题,不管B是不是在你所用面试语言的标准库里。面试官会不会进一步要求你去实现B,要看B的内部实现是否经典/复杂、在不在面试考察范围内、面试官对其感不感兴趣、时间够不够,等等。 |
|