京东笔试(2020-0806:测试岗):
题型:30道选择题,2道编程题
选择题:测试的相关内容,操作系统的相关内容,计算机网络和数据结构。
编程题:输入多行数据,输出多行数据,注意精度。四舍五入。
初试(面试,2020-0813:测试岗位)
面试内容:自我介绍(论文和研究生经历)+面试官提问(语言,数据库,操作系统,算法数据结构,计算机网络)
问题1:测试开发岗位是做什么的?具体负责的工作内容是怎样的?
答:测试开发岗位是为项目开发的测试服务的,需要开发自动化的测试软件,对项目进行测试。具体负责的工作是:1.借助工具,如,Jmeter等,编写测试脚本和用例,2.借用jmeter等构件持续集成平台,3.运用自身所学,开发出类似Jmeter等自动化测试框架的工具软件。
问题2:(笔试的情况)编程题解题思路,离星球最近的星球的坐标的算法。
答:算出该星球所有附近星球的距离,再将距离进行排序,选出最大的。
问题3:排序算法有哪些?冒泡排序说一下。
答:冒泡排序,快速排序,二分法排序,堆排序,插入排序,希尔排序,选择排序。冒泡排序:问题规模为n,需要比较n次,因此平均时间复杂度为O(n^2).他要重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误,就把他们交换过来,走访数列的工作是重复地进行直到没有再需要交换的。即排序完成。
问题4:linux查看文件内容的命令?
答:cat 由第一行开始显示内容,并将所有内容输出
tac 从最后一行倒序显示内容,并将所有内容输出
more 根据窗口大小,一页一页的现实文件内容
less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head 只显示头几行
tail 只显示最后几行
nl 类似于cat -n,显示时输出行号
tailf 类似于tail -f
问题5:linux远程拷贝,出现问题的原因
答:不同的Linux之间拷贝文件常用有3种方法:
第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的拷贝。
第二种方法就是采用samba服务,类似Windows文件复制的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件拷贝。
问题6:HTTP协议了解吗?HTTP的请求包包含哪些内容
答:HTTP超文本传输协议,应用层协议
HTTP的请求信息由三个部分组成:请求方法URI协议/版本,请求头,请求正文。
问题7:HTTP访问接口。
答:POST:
Get:
问题8:web登陆页面的测试
功能测试(Function test)
输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。
输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。
登录成功后能否能否跳转到正确的页面
用户名和密码,如果太短或者太长,应该怎么处理
用户名和密码,中有特殊字符,和其他非英文的情况
记住用户名的功能
登陆失败后,不能记录密码的功能
用户名和密码前后有空格的处理
密码是否以星号显示
界面测试(UI Test)
布局是否合理,2个testbox 和一个按钮是否对齐
testbox和按钮的长度,高度是否复合要求
性能测试(performance test)
打开登录页面,需要几秒
输入正确的用户名和密码后,登录成功跳转到新页面,不超过5秒
接口测试(interface test)
1.为提前介入测试进行:接口的功能性测试
2.接口的性能测试
http!数据库。SQL,MYSQL。JAVA。
安全性测试(Security test)
登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)
用户名和密码是否通过加密的方式,发送给Web服务器
用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证
用户名和密码的输入框,应该屏蔽SQL 注入攻击
用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)
错误登陆的次数限制(防止暴力破解)
可用性测试(Usability Test)
是否可以全用键盘操作,是否有快捷键
输入用户名,密码后按回车,是否可以登陆
兼容性测试(Compatibility Test)
主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)
不同的平台是否能正常工作,比如Windows, Mac
移动设备上是否正常工作,比如Iphone, Andriod
不同的分辨率
软件辅助性测试 (Accessibility test)
软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能
高对比度下能否显示正常 (视力不好的人使用比如说我,哈哈)
美工对界面的优化
问题9:数据库用过吗?现在有个表,有个字段b,要看b的数值大于100的最后五个数据
答:select top 5 * from table where b>100 order by b desc
扩展:sql的书写顺序:select,from,where,group by,having,order by.
问题10:python变量的双下划线和单下划线的区别是什么?
答:单下划线:保护类型,只允许本身与子类进行访问,
双下划线:私有类型,只能允许本身访问。
问题11:深拷贝和浅拷贝的认识
答:浅拷贝:没有拷贝子对象,所以原始数据改变,子对象会改变。
深拷贝:包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变
不管深拷贝还是浅拷贝对不可变数据类型都是引用内存地址
不管深拷贝还是浅拷贝对可变数据类型都是会重新创建新的内存空间
问题12:进程间通信?
答:1.管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
2.命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
3.消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
4.共享存储SharedMemory:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。
5.信号量Semaphore:信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
6.套接字Socket:套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。
7.信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。
问题13:python的装饰器?
答:python装饰器(fuctional decorators)就是用于拓展原来函数功能的一种函数,目的是在不改变原函数名(或类名)的情况下,给函数增加新的功能。这个函数的特殊之处在于它的返回值也是一个函数,这个函数是内嵌“原“”函数的函数。
全部评论
(9) 回帖