记录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,最不经常使用