python 1、python迭代器和生成器区别: 1)、迭代器是一种访问集合元素的方式,只能往前访问不能后退,迭代器可以记住遍历的位置 使用iter(obj)可生成一个迭代器对象,使用next(迭代器对象)可遍历迭代器中的元素,也可以for语句遍历。字符串,列表或元组对象都可用于创建迭代器。注:每次调用next()方法只会输出一个值 2)、使用了yield关键字的函数为生成器函数,调用生成器函数返回的是迭代器对象 2、python是动态语言,动态语言和静态语言区别: 1)、动态语言无需申明变量类型,运行时才确定数据类型的语言,如python,js等 2)、静态语言需要先申明变量类型,如java\c\c++ 3、python装饰器:当一个方法有装饰器修饰时,首先会将该方法当作参数传入装饰器函数中执行,再执行该方法。 4、python2和python3的区别: 1)、python2的字符串编码有两类(unicode【字符串】和str【字节】),unicode在python3中改为str,python2的str在python3中改为byte 2)、python2可以使用print ‘hi’打印,python3必须使用小括号包含:print('hi') 3)、Python2中使用ascii编码,Python3中使用uft-8编码 4)、python3新增了set集合 5、 python可变与不可变类型区别:可变表示值变,但是指向的内存地址不变;不可变表示值变,指向的内存地址也变 tuple 整型 字符串都为不可变类型 list dict set都为可变类型 tuple中嵌套list或者dict,dict和list的值都可变,但是tuple的值不可变。 6、浅拷贝与深拷贝与赋值: 赋值表示指向同一个地址,任何一个变都会变。 浅拷贝:嵌套内的原值改变,新值也变。原值改变,新值不变 深拷贝:嵌套内的原值改变,新值不变。原值改变,新值不变 7、python垃圾回收机制,python进程与线程 8、python的列表和元组的区别以及其他Python基础
数据库1、嵌套查询需关注: 1>最外层的为最终的结果,再根据条件一层一层嵌套 2>嵌套查询每次只查找一个表 2、内连接、左外连接、右外连接:1>写法:from table_a inner/left/right join table_b on 关联两个表的条件。 三个连接区别:内连接只显示两表中有关联(符合条件)的数据;左连接显示左表所有数据,右表没有对应的数据用NULL补齐,右表多余的数据删除;右连接显示右表所有数据,左表没有对应的数据用NULL补齐,左表多余的数据删除 3、group by的分组字段要与select的字段一致,除去使用聚合函数的字段 4、group by后可以跟having对分组后的数据再进行筛查 5、delete table where xxx,update table set xxx 6、模糊查询用like,不匹配用is not 7、sum和count区别:sum用于统计值的总和,count用于统计行数即[url=]记录[/url]数 4、索引(用户不可见,主键默认为索引): 1)创建索引:create index 索引名称 on table_name(column_name) 2)根据索引查询:select * from tabel_name where column_name='xxx' 为某一列创建索引,搜索该列的值的时候可以提高查询速度,但是索引太多将会影响更新和插入的速度,因为它同样需要更新每个索引文件。 5、主键,外键和索引 主键的值唯一,不能为空,一个表只能有一个主键。 外键的值可以不唯一,可以为空,一个表可以有多个外键,一个表的外键通常是另一隔壁表的主键。 索引的值不能唯一,可以为空,一个表可以有多个索引 6、TOP 子句用于规定要返回的记录的数目,需要现场写sql语句,多为连表查询
Linux1、vim下的指令参数: nx:连续向后删除n个字符 dd:删除游标所在的那一行 ndd:删除光标所在的向下n行 yy:复制光标所在的那一行 nyy:复制光标所在的向下n行 2、python反转字符串 1)切片: str【: : -1】 2)list=list(str) list. reverse() ' '. join(list) 3、linux查看进程命令: 1)ps -ef | grep 查找需要的进程 2)top 列出各个进程的资源占用情况 3)Linux找到被占用的端口号进程并结束: netstat -tunl|grep 端口号 找到进程号后kill -9 进程号(-9强制删除)
Selenium定位元素方法有id,name,class_name,tag_name,linktext,xpath,css 1、driver.quit()关闭浏览器,driver.close()仅关闭当前页面 2、等待分为强制等待(必须等待多久),显示等待(直到某个元素出现才操作,除非超时)和隐式等待(为浏览器对象创建一个等待时间,得不到某个元素就等待,直至拿到) 3、isDisplayed()方法可以判断某个元素是否显示 4、driver.switchTo().alert()切换到[url=]web[/url]弹窗 5、driver.window_handles()可查看当前所有句柄,driver.switch_to.window(index)切换句柄
音视频相关流媒体协议: 1、用于直播的协议——RTMP,建立在tcp上。即为常说的CDN拉流 2、用户实时视频通话的协议——RTP/RTCP,建立在udp上,即为常说的RTC拉流 3、zego自研的流媒体协议——AVERTP,基于RTP进行封装,抗丢包性强 混流:即为几路音视频流通过云服务器混成一路流,远端只需要拉一路流即可展示 (也可以拉几路流)。本地录制和云录制都为混流,本地录制混流是指将屏幕共享的流和屏幕中的推拉流进行混流(主要是因为本地录制如果不勾选共享音频就会没有声音),因此不需要布局设置;而云录制的布局设置是由服务器端设置
其他1、给定一个测试场景,说出测试点,除去功能测试外,还应包括性能、兼容、异常场景以及安全性考虑。尽量想的完善些 2、编程题:二分查找、有效括号、回文串、最长回文串、给定字符串,输出各个字符出现的次数/输出出现次数最多的字符/按字符出现次数排序(这些为面试时碰到的)
|