• 找点面试题目


    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)

     
  • 相关阅读:
    day49 前端之 jQery
    day48 BOM DOM jQuery
    如何用命令将本地项目上传到git---转
    jenkins邮件通知
    shell文件管理jenkins构建过程---window环境下报错:找不到shell文件
    【转】adb shell am instrument 命令详解
    INSTRUMENTATION_STATUS_CODE: -1,Error=Unable to find instrumentation info for
    Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
    【转】Java基础知识总结
    查看apk包名和Activity的方法
  • 原文地址:https://www.cnblogs.com/zhangbo2008/p/9202130.html
Copyright © 2020-2023  润新知