记录python面试题

闲来无事,记录一下曾经以及深刻的面试题

记录一下我记忆比较深的面试题,以后若用到python相关还能细细把玩

搜狐面试题:

一、写一个缓存优化策略

解答:这个题主要考察对lru_cache的理解,所以只需要用一下functools里面的lru_cache装饰器就可以

二、怎么在15M的内存中打印出来8G的数据

解答:这个主要考察生成器的使用,需要迭代的方式读取数据就可以

代码简单,就不书写了

知乎面试题

在15M的内存中有一个1-1000万的元素的列表,然后这个列表是无序的,在这些1-1000万中的元素中缺少一个元素,请把这个元素找出来

解答:

刚开始我看到他给我口述这道题的时候,我想到的是先排序,然后用生成器的方式。后来发现这个方法不可取。思路如下:

由于内存的限制所以

1、首先写一个1-1000万的数字以迭代的方式刷到磁盘中

2、然后以迭代的方式把磁盘中的1000万个数字生成器的方式取出来 in的方式和这个无序列表进行比较。如果为False,那么这个数字就获取出来了

 

代码简单。省略

下面是一个框架必须要实现的三种算法

(1)FIFO:First In First Out,先进先出
(2)LRU:Least Recently Used,最近最少使用
(3)LFU:Least Frequently Used,最不经常使用

 

posted @ 2017-11-30 22:30  pi-pi-miao-miao  阅读(184)  评论(0编辑  收藏  举报