• python面试30-40题


    1、简述python引用计数机制

    python垃圾回收主要以引用计数为主,标记-清除和分代清除为辅的机制,其中标记-清除和分代回收主要是为了处理循环引用的难题。

     

    引用计数算法

    当有1个变量保存了对象的引用时,此对象的引用计数就会加1

    当使用del删除变量指向的对象时,如果对象的引用计数不为1,比如3,那么此时只会让这个引用计数减1,即变为2,当再次调用del时,变为1,如果再调用1次del,此时会真的把对象进行删除

     

    2、int("1.4"),int(1.4)输出结果?

    int("1.4")报错,int(1.4)输出1

    3、列举3条以上PEP8编码规范

    1、顶级定义之间空两行,比如函数或者类定义。

    2、方法定义、类定义与第一个方法之间,都应该空一行

    3、三引号进行注释

    4、使用Pycharm、Eclipse一般使用4个空格来缩进代码

    4、正则表达式匹配第一个URL

    findall结果无需加group(),search需要加group()提取

    5、正则匹配中文

    6、简述乐观锁和悲观锁

    悲观锁, 就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。

    乐观锁,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制,乐观锁适用于多读的应用类型,这样可以提高吞吐量

    7、r、r+、rb、rb+文件打开模式区别

    模式较多,比较下背背记记即可

    8、Linux命令重定向 > 和 >>

    Linux 允许将命令执行结果 重定向到一个 文件

    将本应显示在终端上的内容 输出/追加 到指定文件中

    > 表示输出,会覆盖文件原有的内容

    >> 表示追加,会将内容追加到已有文件的末尾

    用法示例:

    将 echo 输出的信息保存到 1.txt 里echo Hello Python > 1.txt
    将 tree 输出的信息追加到 1.txt 文件的末尾tree >> 1.txt

    9、正则表达式匹配出<html><h1>www.itcast.cn</h1></html>

    前面的<>和后面的<>是对应的,可以用此方法

    10、python传参数是传值还是传址?

    Python中函数参数是引用传递(注意不是值传递)。对于不可变类型(数值型、字符串、元组),因变量不能修改,所以运算不会影响到变量自身;而对于可变类型(列表字典)来说,函数体运算可能会更改传入的参数变量。

  • 相关阅读:
    HDU 1525
    kmp模板
    hdu 4616 Game(树形DP)
    hdu 4619 Warm up 2(并查集活用)
    hdu 4614 Vases and Flowers(线段树加二分查找)
    Codeforces 400D Dima and Bacteria(并查集最短路)
    poj 2823 Sliding Window (单调队列)
    hdu 2196 Computer(树形dp)
    hdu 4604 Deque
    最短路径
  • 原文地址:https://www.cnblogs.com/liang715200/p/10357585.html
Copyright © 2020-2023  润新知