-
怎么应对反爬虫机制(2次)
答:selenium,beautifulsoup
分析:发现仅有的两张验证码图片是未拼完整的背景图和拼图块,通常的网站大多数是未拼完整的背景图和完整背景图,这样的话就要另辟蹊径了。
思路:由于这个网站的滑动验证码没有原图,于是使用了cv2这个库的一些方法进行滑块和缺口位置的匹配,找到最相似的坐标然后进行移动,因为有些滑块图和验证码图片相似度较高,所以可能会出现失败的情况(事实上在实验过程中证实确实如此),于是写了一个循环,失败了就重新获取图片并且再次尝试滑动,直到成功为止。这个滑动验证码没有滑动轨迹的要求(如不可以匀速滑动等),所以不需要做拖动滑块时的加速度设置。(灰度处理,图像匹配算法) -
爬虫使用到哪些库
答:beautifulsoup -
给你个网站,你要怎么测试
-
测试登陆界面(2次)
答:1.测试的流程:需求分析,测试点的提取,设计测试用例,测试
2.按测试类别进行分类
功能测试:我认为可以按接口测试的方法进行,如果存在调用其他接口也存在接口测试的必要。1.什么都不输入,点击提交按钮,看提示信息。 2.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。 3.输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。 4.登录成功后能否能否跳转到正确的页面 5.用户名和密码,如果太短或者太长,应该怎么处理 6.用户名和密码,中有特殊字符(比如空格),和其他非英文的情况 7.记住用户名的功能 8.登陆失败后,不能记录密码的功能 9.用户名和密码前后有空格的处理 10.密码是否加密显示(星号圆点等) 11.牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用 12.登录页面中的注册、忘记密码,登出用另一帐号登陆等链接是否正确 13.输入密码的时候,大写键盘开启的时候要有提示信息。
界面测试:
1.布局是否合理,2个testbox 和一个按钮是否对齐
2.testbox和按钮的长度,高度是否复合要求
3. 界面的设计风格是否与UI的设计风格统一
4. 界面中的文字简洁易懂,没有错别字。
性能测试:
1.打开登录页面,需要几秒
2.输入正确的用户名和密码后,登录成功跳转到新页面,不超过5秒
安全测试:
1.登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)
2.用户名和密码是否通过加密的方式,发送给Web服务器
3.用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证
4.用户名和密码的输入框,应该屏蔽SQL 注入攻击
5.用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)
6.错误登陆的次数限制(防止暴力破解)
7. 考虑是否支持多用户在同一机器上登录;
8. 考虑一用户在多台机器上登录
可用性测试:
1. 是否可以全用键盘操作,是否有快捷键
2. 输入用户名,密码后按回车,是否可以登陆
3. 输入框能否可以以Tab键切换
兼容性测试:
1.主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)
2.不同的平台是否能正常工作,比如Windows, Mac
3.移动设备上是否正常工作,比如Iphone, Andriod
4.不同的分辨率
7.项目是否是用到https,证书如何签发。
证书可以自己制作。
国内许多公司的做法:自己做根证书CA(自己充当类似于VeriSign的角色),然后让用户下载安装根CA(当然了,其中只含有公钥)到机器中,12306就是这样干的(SRCA就是12306的根证书),然后再自己给自己颁发服务器证书,这样用户机器上也有他的CA,服务器发来的服务器证书也是这本CA颁发的,当然也顺利通过了
-
测试一个百度搜索框
-
两部电梯验证它的算法(测试电梯的响应规律?)(2次)
(1):那么首先, 你要反问面试官,需求是什么样的,比如测什么样的电梯,是普通电梯,观光电梯,还是其他
(2):如果回答没有,那么你的思路应该就是:没有需求文档,但我了解电梯的基本业务功能,以此依据,从下面几个方面进行分析:
功能测试:(单个功能,逻辑业务/功能交互),界面测试,易用性测试,兼容性测试,安全性测试,性能(压力)测试
(3):把以上几个方面的测试点分类列举一下,能想到多少说多少,在描述的过程中尽力量把所有的方面覆盖全,语句描述尽量附带测试分类,比如“从界面测试可以考虑电梯是否…”,了解到你的测试思维的完整性。
电梯:
功能测试——-单个功能:
1,电梯内分楼层键是否正常
2,电梯内开关门键是否正常
3,电梯内的报警键是否正常
4,电梯外的上下键是否正常
5,同时关注显示屏,电梯内外的显示屏显示的电梯层数,运行方向是否正常
6,有障碍物时,电梯门的感应系统是否有效
功能测试——逻辑业务/功能交互
1.功能与功能模块间的集成,可根据电梯当前状态是上行,下行还是停止来设计测试点,以保障覆盖率
电梯当前状态是上行时,有人在X楼按下上升/下降键,电梯是否会停止
电梯当前状态是下行时,有人在X楼按下 上升/下降键,电梯是否会停止
在搭载满员的情况下,如果有人在X楼按下上升/下降键,电梯是否会停止
2.功能设备与设备间的集成,关注功能接口,比如:
电梯和大楼层,电梯和摄像头,电梯与空调,电梯和对讲机(报警装置),电梯与显示屏,电梯与其他电梯的协作能力
例如:一栋楼有2部电梯,一部停在2楼,一部停在4楼,有人1楼按电梯,是否2楼的电梯下降到一楼开
界面测试
1,查看电梯的外观,按钮的图标显示,电梯内部张贴的的说明(比如报警装置的说明,称重量等)
易用性测试
1.楼层按键高度(小孩和一些身高矮的用户会按键不方便)
2.电梯是否有地毯,夏天是否有空调,通风条件,照明条件,手机信号是否通畅
3.电梯是否有扶手,是否有专针对残疾人的扶手等等
兼容性测试
1,电梯的整体和其他设备的兼容性,与大楼的兼容,与海地隧道的兼容等等
2,不同类型的电压是否兼容
安全性测试
1,下坠时是否有制动装置
2,暴力破坏电梯时是否报警,超重是否报警
3,停电情况下电梯是否有应急电源装置
性能测试 :
1,测试电梯负载单人时运行情况(基准测试)
2,多人时的运行情况(负载测试)
3,一定人数下较长时间的运作(稳定性测试)
4,更长时间运作时的运行情况(疲劳测试)
5,不断增加人数导致电梯报警(拐点压力测试) -
如果一款路由器产品马上要上市,但是发现有1%的死机率的bug,你会怎么做;
-
讲下sql注入
答:1、检查变量数据类型和格式
如果你的SQL语句是类似where id={$id}这种形式,数据库里所有的id都是数字,那么就应该在SQL被执行前,检查确保变量id是int类型;如果是接受邮箱,那就应该检查并严格确保变量一定是邮箱的格式,其他的类型比如日期、时间等也是一个道理。总结起来:只要是有固定格式的变量,在SQL语句执行前,应该严格按照固定格式去检查,确保变量是我们预想的格式,这样很大程度上可以避免SQL注入攻击。
比如,我们前面接受username参数例子中,我们的产品设计应该是在用户注册的一开始,就有一个用户名的规则,比如5-20个字符,只能由大小写字母、数字以及一些安全的符号组成,不包含特殊字符。此时我们应该有一个check_username的函数来进行统一的检查。不过,仍然有很多例外情况并不能应用到这一准则,比如文章发布系统,评论系统等必须要允许用户提交任意字符串的场景,这就需要采用过滤等其他方案了。
2、过滤特殊符号
对于无法确定固定格式的变量,一定要进行特殊符号过滤或转义处理。
3、绑定变量,使用预编译语句
MySQL的mysqli驱动提供了预编译语句的支持,不同的程序语言,都分别有使用预编译语句的方法
实际上,绑定变量使用预编译语句是预防SQL注入的最佳方式,使用预编译的SQL语句语义不会发生改变,在SQL语句中,变量用问号?表示,黑客即使本事再大,也无法改变SQL语句的结构 -
学校内网到外网的网络架构
-
学校每日熄灯断网,其实只是关闭认证,你能绕过去吗?怎么做?
-
ipv4 ipv6传输
答:IP协议详解及IPv4与IPv6协议的区别 -
宿舍wifi故障排查
-
家庭断网怎么检查判断
-
对系统测试怎么看(11次)
答:职位描述
从路由器到摄像头,从单一设备到解决方案;
从嵌入式到APP,从传统算法到机器学习;
从用户需求调研到设计方案评审,从测试方法构建到自动化工具开发;
系统测试工程师,满足你对产品、技术、用户的一切想象。
1.按照产品架构和业务要求,制定测试策略,设计测试方法,组织并进行产品的系统测试。
2.制定企业和产品标准,对产品做出客观、公正的评价,并推动产品技术可靠性和用户体验的提升。
3.参与产品需求和架构设计评审,保证产品的需求质量和可测试性。
4.设计自动化测试解决方案,开发自动化测试平台、脚本。
5.针对用户场景模拟、并发压力测试、算法性能评估等复杂测试需求,设计和开发灵活多样的测试设备,解决产品评价的难点和死角