-
【Python面试题】-iterable(可迭代对象)和iterator(迭代器)的区别?
可迭代对象(list,set,dict)可以重复迭代,只能使用for循环;迭代器只能迭代一次,可以通过next或for进行迭代。 ps:可迭代对象不能使用next函数调用但是可以使用for调用,而迭代器可以使用next,也可以使用for进行调用。 ps:他俩最大的区别就是,可迭代对象可以无限迭代,而迭代器只能迭代一次(是个数据流的形式!)。 判断迭代器 : isinstance([], Iterator)。 判断可迭代对象: isinstance([], Iterable)。 【返回…
-
【Linux面试题】当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注:本机跟本地dns还没有缓存。
a.用户输入网址到浏览器; b.浏览器发出DNS请求信息; c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步; d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果; e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果; f.返回IP结果给浏览器; g.浏览器根据IP信息,获取页面; 【返回原文】
-
【Python面试题】简单谈下GIL:
Global Interpreter Lock(全局解释器锁) Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制,Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。在多线程环境中,Python 虚拟机按以下方式执行: 设置G…
-
【Linux面试题】Linux文件系统中每个文件用 什么节点来标识?
Linux文件系统使用索引节点来记录文件信息,作用于Windows的文件分配表类似,索引节点是一个数据结构,它包含了一个文件的文件名,位置,大小,建立或修改时间,访问权限,所属关系等文件控制信息,一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引结点数组中的唯一一个元素对应,系统为每个索引结点分配了一个号码,也就是该结点在数组中的索引号,称为索引结点号。Linux文件系统将文件索引结点号和文件名同时保存在目录中,所以目录只是将文件的名称和它的索引结点号结合在一起的一张表。目录中每一对文…
-
【Python面试题】Python是怎样管理内存的?
Python的内存管理是由私有heap空间管理的。所有的Python对象和数据结构都在一个私有heap中。程序员没有访问该heap的权限,只有解释器才能对它进行操作。为Python的heap空间分配内存是由Python的内存管理模块进行的,其核心API会提供一些访问该模块的方法供程序员使用。Python有自带的垃圾回收系统,它回收并释放没有被使用的内存,让它们能够被其他程序使用。 【返回原文】
-
【Python面试题】怎样获取字典中所有键的列表?
【Python面试题答案】: 使用 keys() 获取字典中的所有键 >>> mydict={'a':1,'b':2,'c':3,'e':5}>>> mydict.keys()dict_keys(['a', 'b', 'c', 'e']) 【返回早报】
-
【Linux面试题】如何排查MySQL锁事务?
【Linux面试题答案】: SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 【返回早报】
-
【Python面试题】在Python中如何使用多进制数字?
【Python面试题答案】: 我们在Python中,除十进制外还可以使用二进制、八进制和十六进制。二进制数字由0和1组成,我们使用 0b 或 0B 前缀表示二进制数。 >>> int(0b1010)10 使用bin()函数将一个数字转换为它的二进制形式。 >>> bin(0xf)‘0b1111’ 八进制数由数字 0-7 组成,用前缀 0o 或 0O 表示 8 进制数。 >>> oct(8)‘0o10’ 十六进数由数字 0-15 组成,用前缀 0x 或者 0X 表示 16 进制数。 >>> hex…
-
【Linux面试题】如何实现数据库结构复制?
【Linux面试题答案】: mysqldump -uroot -p123456 -S /mydata/data/mysql.sock -q --noautocommit --flush-logs --single-transaction --master-data=2 -dstudent >/tmp/student.sql; 【返回早报】
-
【Python面试题】请解释一下Python中的位运算符?
【Python面试题答案】: 该运算符按二进制位对值进行操作。 与(&),按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 >>> 0b110 & 0b0102 或(|),按位或运算符:只要对应的⼆个⼆进位有⼀个为1时,结果位就为1。 >>> 3|23 异或(^),按位异或运算符:当两对应的⼆进位相异时,结果为1 >>> 3^21 取反(~),按位取反运算符:对数据的每个二进制位取反,即把1变为…