社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python面试时需要的基础知识,这些你都知道吗?

python • 7 年前 • 504 次点击  

面试题1:使用Python实现单例模式

方法一 使用__new__实现单例模式

方法二 使用装饰器实现单例模式

方法三 使用模块实现单例模式

可以使用模块创建单例模式,然后在其他模块中导入该单例,这个需要所有人遵守导入规则,不然就没法实现单例了

面试题2:二维数组中的查找

题目:二维数组中,每行从左到右递增,每列从上到下递增,给出一个数,判断它是否在数组中

思路:从左下角或者右上角开始比较

面试题3:替换空格

题目:把字符串中的空格替换成'20%'

方法1:直接使用Python字符串的内置函数

方法2: 使用正则表达式

面试题4 从尾到头打印单链表

方法1:使用栈,可以使用列表模拟

方法2:直接递归

面试题5 重建二叉树

要求:用前序和中序遍历结果构建二叉树,遍历结果中不包含重复值

思路:前序的第一个元素是根结点的值,在中序中找到该值,中序中该值的左边的元素是根结点的左子树,右边是右子树,然后递归的处理左边和右边

提示:二叉树结点,以及对二叉树的各种操作,测试代码见six.py


面试题6 用两个栈实现队列

要求:用两个栈实现队列,分别实现入队和出队操作 思路:一个栈负责入队,另一个负责出队,出栈为空则从入栈中导入到出栈中


面试题7 旋转数组的最小数字

要求:把递增数组的前面部分数字移到队尾,求数组中的最小值,例如[3,4,5,6,1,2]

思路:使用二分法,但要考虑[1, 0, 0, 1]这种数据,只能顺序查找


面试题8 斐波那契数列

思路:用生成器

面试题9 二进制中1的个数

要求:求一个整数的二进制表示中,1的个数

思路:二进制表示中,最后的那个1被减去后,低位都变为0,高位不变,按位与就可以去掉这个1






今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/HgxW36q7BQ
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/4250
 
504 次点击