zoukankan      html  css  js  c++  java
  • 找点面试题目

    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)

     
  • 相关阅读:
    BZOJ 1391: [Ceoi2008]order
    BZOJ 4504: K个串
    2019 年百度之星·程序设计大赛
    POJ 2398 Toy Storage (二分 叉积)
    POJ 2318 TOYS (二分 叉积)
    HDU 6697 Closest Pair of Segments (计算几何 暴力)
    HDU 6695 Welcome Party (贪心)
    HDU 6693 Valentine's Day (概率)
    HDU 6590 Code (判断凸包相交)
    POJ 3805 Separate Points (判断凸包相交)
  • 原文地址:https://www.cnblogs.com/zhangbo2008/p/9202130.html
Copyright © 2011-2022 走看看