博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
找点面试题目
阅读量:5922 次
发布时间:2019-06-19

本文共 1042 字,大约阅读时间需要 3 分钟。

hash, 任何一个技术面试官必问(例如为什么一般hashtable的桶数会取一个素数?如何有效避免hash结果值的碰撞)

下面代码会输出什么:

def f(x,l=[]): for i in range(x): l.append(i*i) print l f(2) f(3,[3,2,1]) f(3)

答案

[0, 1][3, 2, 1, 0, 1, 4] [0, 1, 0, 1, 4]

简要描述Python的垃圾回收机制(garbage collection)。

答案

这里能说的很多。你应该提到下面几个主要的点:

  • Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。
  • 偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1o2,而且符合o1.x == o2o2.x == o1这两个条件。如果o1o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。
  • Python中使用了某些启发式算法(heuristics)来加速垃圾回收。例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)。每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。
  • 11.Python里面match()和search()的区别?

    答:re模块中match(pattern,string[,flags]),检查string的开头是否与pattern匹配。

    re模块中re.search(pattern,string[,flags]),在string搜索pattern的第一个匹配值。

    >>>print(re.match(‘super’, ‘superstition’).span())

    (0, 5)

    >>>print(re.match(‘super’, ‘insuperable’))

    None

    >>>print(re.search(‘super’, ‘superstition’).span())

    (0, 5)

    >>>print(re.search(‘super’, ‘insuperable’).span())

    (2, 7)

 

转载于:https://www.cnblogs.com/zhangbo2008/p/9202130.html

你可能感兴趣的文章
NodeJS学习目录
查看>>
Spring 学习7 -事务
查看>>
mysql中insert into select from的使用
查看>>
Linux netstat命令详解
查看>>
quartz + spring 配置示例
查看>>
C++基础之全局变量
查看>>
父子组件间的通信
查看>>
JMX超详细解读<转>
查看>>
iOS CoreData 介绍和使用(以及一些注意事项)
查看>>
ASP.NET Web API之消息[拦截]处理(转)
查看>>
Ubuntu系统下为IDEA创建启动图标
查看>>
矩表 - 现代数据分析中必不可少的报表工具
查看>>
gradle的安装,配置,构建,研究,初体验......(入职一周研究的第一个大知识点)...
查看>>
Android 开发常用版本控制命令
查看>>
spark rdd median 中位数求解
查看>>
(2)Java数据结构--二叉树 -和排序算法实现
查看>>
ubuntu里面设置颜色
查看>>
Debug目录、Release目录,bin目录、obj目录,vshost.exe.config文件、.exe.config文件分析【C#】...
查看>>
定时器0方式2 方式3
查看>>
使用正則表達式对URL进行解析
查看>>