1.广州九富科技(中移动外包)
面试经历:九富--->品高软件(一面)--->中移南方基地(二面),给我的感觉就像被层层转包
面试内容:
一面(品高--面试):
二面(中移动-面试):
列表生成式:[i for i in range(10)]--->(i for i in range(10)) 将会变为生成器,需要分清列表生成式,字典生成式,生成器
list.append() #将数据添加到列表中 list.extend() #将一个列表中的数据一次性的添加到列表中 list.reverse() #对一个列表进行反转 list.remove(obj) #移除第一个匹配的值 dict.fromkeys() # 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 dict.get(key, default=None) #返回指定键的值,如果值不在字典中返回default值 dict.items() #以列表返回可遍历的(键, 值) 元组数组,需要谨记是列表的形式 dict.keys() #返回一个迭代器,可以使用 list() 来转换为列表
name = "felix" # 方法一: name=name[::-1] # 方法二: name2=list(name) name2.reverse() name=‘‘.join(name2) # 方法三:(不太会) from functools import reduce name=reduce(lambda x, y: y+x, name)
# coding=utf-8 import os # 第一种方式,使用os.listdir(),来迭代展示文件夹 def show_dir(rootdir,dir_list): # 获取当前文件内的文件夹与文件 dir_or_files = os.listdir(rootdir) # 循环 for dir_file in dir_or_files: # 获取当前文件或者是文件夹的绝对路径 dir_file_path = os.path.join(rootdir,dir_file) # 判断当前绝对路径是文件夹还是文件 if os.path.isdir(dir_file_path): dir_list.append(dir_file_path) # 如果是文件夹则迭代展示 show_dir(dir_file_path,dir_list) if __name__ == ‘__main__‘: root_path = r"D:\工作" dir_list =[] show_dir(root_path,dir_list) print(dir_list) # 第二种方式 def show2(rootdir): for root,dirs,fiels in os.walk(rootdir): for dir in dirs: print(os.path.join(root,dir)) if __name__ == ‘__main__‘: rootdir = r"D:\工作" show2(rootdir)
TCP协议分六种状态码,分别为URG、ACK、PSH、RST、SYN、FIN等
其中初始状态码为SYN,数值为1
其中结束状态码为FIN,数值为1
Python多线程并不能真正能发挥作用,因为在Python中,有一个GIL,即全局解释锁,该锁的存在保证在同一个时间只能有一个线程执行任务,也就是多线程并不是真正的并发,只是交替得执行。假如有10个线程跑在10核CPU上,当前工作的也只能是一个CPU上的线程。对于提高并发数要不使用treading模块,要不就是采用多路复用I/O,不过即使采用多路并用I/O也会发生调度时间长的可能性,需要合理使用!
web开发中主要是采用MVC这种设计模型,不过在django中主要是采用MTV模型,为了各种组件之间的松耦合关系,其中M代表为模型,T代表为模板,V代表为视图。主要流程如下
控制器既路由控制获取到获取,根据URL匹配到相应的视图函数,其中视图去models中获取数据,如果有数据库相关则从数据库中获取值将数据范回到视图,将要展示的数据返回到模板中,其中模板就是HTML文件,最后展示在使用者面前。
django原生的ORM就特别好用,增删改查的主要方法主要有以下方法
创建:create()
查询:filter()
删除:delete()
修改:update()
ok
原文:https://www.cnblogs.com/gbq-dog/p/11146510.html