zoukankan      html  css  js  c++  java
  • 面试题(一)

    1. 如何用列表切片的方式取出列表a = [1,2,3,4,5]中的3?

    a[2:3]

    2. 说说列表是如何排序的?

    列表排序:

    永久性排序:升序  sort   降序  sort(reverse=True)  

    #永久性排序—升序
    >>> a = [1, 5, 2, 8, 6]
    >>> a.sort()
    >>> a
    [1, 2, 5, 6, 8]
    
    #永久性排序—降序
    >>> a = [1, 5, 2, 8, 6]
    >>> a.sort(reverse=True)
    >>> a
    [8, 6, 5, 2, 1]

    临时性排序:升序  sorted  降序  sorted(reverse=True)

    #临时性排序—升序
    >>> a = [1, 5, 2, 8, 6]
    >>> sorted(a)
    [1, 2, 5, 6, 8]
    >>> a
    [1, 5, 2, 8, 6]
    
    #临时性排序—降序
    >>> a = [1, 5, 2, 8, 6]
    >>> sorted(a, reverse=True)
    [8, 6, 5, 2, 1]
    >>> a
    [1, 5, 2, 8, 6]

    列表反转:

    永久性反转列表:reverse()

    临时性反转列表:[::-1]

    #永久性反转列表
    >>> a = [1, 5, 2, 8, 6]
    >>> a.reverse()
    >>> a
    [6, 8, 2, 5, 1]
    
    #临时性反转列表
    >>> a = [1, 5, 2, 8, 6]
    >>> a[::-1]
    [6, 8, 2, 5, 1]
    >>> a
    [1, 5, 2, 8, 6]

    3. 如何用正则表达式匹配ip地址?

    (([01]?d?d|2[0-4]d|25[0-5]d).){3}([01]?d?d|2[0-4]d|25[0-5]d)

    4. Linux下怎么杀掉tomcat进程?

    ps -ef | grep tomcat   #查出tomcat进程号

    kill -9 进程号

    5. 怎么处理安卓5.0以下的toast弹框?

    跟测试经理沟通后,可以不考虑安卓5.0以下的系统,只考虑兼容比较新的主流的系统

    6. 你们是怎么利用jenkins做持续集成的?

    一般为了分担jenkins服务器的压力,会搭建jenkins的Master和Slave机,Master是jenkins服务器,Slave是本地的执行机

    如何在Master上配置Slave?新建节点,设置节点(包含名字、并发构建数、远程工作目录、标签、语法和启动方式等(通过java web启动代理))

    启动slave,点击lauch,会下载一个agent.jnlp文件,下载之后双击agent.jnlp,会弹出一个窗口,如果窗口显示Connected,表示slave已启动,再次刷新

    在Master机上创建一个任务,输入任务的名字,构建一个自由风格的项目软件,在General中指定执行机—限制项目的运行节点,这里可以填Label的名字,也可以填执行机的名字,在构建中选择执行Windows批处理命令—切换到项目所在目录,用python运行main.py,保存,点击立即构建,这时会在远程工作目录下生成工作空间

    这时候,可以从SVN上download项目代码到工作目录,进入构建后操作,选择Publish JUnit test result report,在构建后操作中填上存放xml报告的路径,在构建中修改批处理命令(用WORKSPACE的环境变量代替),保存后,立即构建

    此外,还可以构建触发器,进行定时构建,每隔多长时间运行一次脚本,还可以配置邮件服务器,将测试报告发送到邮箱

    7. 说出你们工作中常用的linux命令?

    像ls, pwd, cd, chmod, chown, chgroup, tar, find, grep, wc, cat, mkdir, rm, rmdir, rz, sz, ifconfig等等

    8. 接口自动化中的关联怎么处理?

    在接口自动化中,后面一个接口的请求数据需要用到前面接口的响应数据的一部分,那么可以在存储数据的excel表中添加一列提取表达式,在这一列,如果有值表示需要提取,先提取赋值再断言,如果没值,直接断言

    将后面接口的请求数据用占位符表示,前面需要提取的接口在提取表达式那一列用占位符=提取表达式表示,用openpyxl读取所有的测试数据并保存在一个列表中,在测试用例类中,ddt.data可以分解一组数据为多条测试数据,在发送请求得到响应后,判断每一条测试数据中是否包含了提取表达式,如果有,则用字符串的分割方法来以=作为分割,将字符串分割为["占位符","提取表达式"]的形式,然后定义一个全局变量global_var={},将列表中第一个元素"占位符"作为键,将提取表达式提取到的响应结果的字段作为值,存储在global_var字典中

    在发送请求前,判断global_var长度是否大于0,并且请求数据是否为空,如果长度大于0且请求数据不为空,则用for循环遍历字典,如果请求数据中能用find方法找到字典中的键,则用请求数据的replace方法将字典中的键替换为字典中的值,这样就完成了接口关联处理

    9. 你们日常的工作和测试计划一致吗?

    大体一致,但有的时候有所调整

     

  • 相关阅读:
    WCF开发入门的实例
    转:SQLHelper类,泛型+反射
    设置ASP缓存的几个语句
    ADO.NET总结
    通过反射来实现:DataTable 和List 相互转换
    十步完成windows服务的安装
    dhl:The request for security token could not be satisfied because authentication failed. 调用方未由服务进行身份验证。
    C#中的readonly(运行时常量)与const(编译时常量)的区别
    用do{}创建内联子程序
    用autodie简化错误处理
  • 原文地址:https://www.cnblogs.com/my_captain/p/9463940.html
Copyright © 2011-2022 走看看