zoukankan      html  css  js  c++  java
  • 有有面试

    一面:

    更技术细节一些。问题顺序忘了,我就把问题列一列吧,答案稍后补上。

    1.java和c++的不同之处,至少三个。

        java不需要自己去管理内存使用,c++在new之后需要自己delete。

        java单继承,c++可以多继承。

        java 运行没有C++快

    java  和 python 的区别

     java运行快,python作为解释执行,运行慢

     java 需要{}大括号定义代码块,python使用缩进

     python 调用方法无需new

    2.测试用例的设计方式,至少三个。

        等价类划分法,边界值分析法,错误推测法,因果图法,判定表驱动法,正交表法,场景图法

    3.测试的方法,至少五个。

        功能测试、安全性测试、兼容性测试、性能测试、压力测试,界面测试,文档测试,易用性测试,冒烟测试,探索性测试

    n的阶乘

    def fact(j):
        if j == 0:
            sum = 1
        else:
            sum = j * fact(j-1)
        return sum
    
    print(fact(3))
    

      

    4.写一个函数,实现将输入的int型逆转。如输入123,输出321。

        

    a = int(input('请输入'))
    print('输入为',a)
    print('输出为',a[::-1])
    

      

    input是获取输入信息,赋值给变量a。print('输入为',a)是出入变量a都值
    a[::-1]是倒序输出a的值。切片[::-1]是将列表或字符倒过来
    a = input('请输入')
    list = []
    for i in a:
        list.append(i)
    list.reverse()  #调用reverse方法,将列表反转
    '''
    join():连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)
    连接生成一个新的字符串
    '''
    print (''.join(list))   #用 join()函数将list转换成字符串
    

      

    5.写测试用例。假设x的取值有1、2、3,Y的取值有a、b、c,通常来说要测试所有z=x+y的可能,需要3*3=9个case。那么假设x和y的取值各有100个,case数量级会很大。要如何去简化case数量呢?

        使用正交表设计用例

    6.对于网易邮箱的登录框,测试的时候要考虑哪些方面呢?(不是真的写case,是考虑测试方向)

     一、界面测试点:

      1、界面的设计风格是否与UI的设计风格统一;

      2、界面中的文字简洁易懂;

      3、界面中没有错别字;

    二、用户名与密码在输入时,正确错误,输入特殊或者错误字符

    三、安全性测试:

      1、密码是否隐蔽显示;

      3、不能直接输入,就copy,是否数据检验出错;

    四、兼容性测试:

      1.不同浏览器测试
           2.浏览器不同版本测试

    五、其他测试点:

      1、输入框之间考虑tab键是否支持;

      2、登录按钮要考虑回车键是否支持;

      3、取消后的默认位置(一般为空白的用户名输入框);

      4、登录后的跳转页面是否正确(一般为首页);

      5、要考虑多次点击登录和取消按钮的界面反应;

      6、考虑是否支持多用户在同一机器上登录;

      7、考虑一用户在多台机器上登录;

      8、登录页面中的注册等链接是否正确

    7.问实习做的Code Review都关于什么内容。

        通常为c代码的检查,注重基本函数的使用不注意会带来的问题,例如指针未判空,snprintf()的buf开的不够大之类。

    8.写一个建表的sql语句

        create table cs

        (

            id char(10) NULL,

            name char(10) NULL,

            score integer NULL,

            primary key(id)

        );

        然后修改已有表的属性,比如添加新属性,删除旧属性的:

        alter table cs add newOne integer NULL;

        alter table cs drop newOne;

    9.我说,建表改表我都用界面,查询啊更新用的比较多。人家说,好啊,我问你一个查询的~

        然后我又sb了……他问的稍微麻烦了点,然后需要用到一个叫hup还是什么的,然后我就不会了,嗯

    10.说进行项目测试的流程

        a.参与需求分析,pm、开发、qa一起讨论,确定产品细节,生成项目文档;

        b.进行开发。qa期间根据项目文档来写测试case,和开发人员沟通测试时应重点关注的问题;

        c.提测,进行准入测试(冒烟测试)。if (false),打回,返回b;else,ok,进入d;

        d.根据b中的case和重点,进行测试,包括功能的,安全的,兼容性的,性能,压力等等。发现bug,先进行定位,和开发人员进行沟通,记录。

        e.开发人员解决bug,再次提测。bug未解决或衍生出新bug,返回d;bug解决了,进入f;

         f.测试通过,批准上线;

        g.上线后进行回归测试,线上发现问题根据重要优先级记录下来,后期追加修复。

        当然,期间的测试会经历测试机测试、沙盒测试、小流量上线、全面上线的不同阶段。

    11.准入测试的衡量标准是什么

        a.走项目的几个主要流程,看功能是否完成。如果有bug,bug比例是多少

        b.出现的bug中,严重性也有不同。如果是简单的修改就可以的,可以忽略,有严重逻辑问题的就打回。

        不过人家说我说的还是太粗了,想更细一些。可是啊,百度的敏捷开发基本都已经忽略掉准入了,我了解的也不多……

    12.用过什么自动化测试工具么?不论是通信业还是互联网的都好

        说了phpunit,百度自己开发的xss漏洞检测工具等。知道的不多

    13.为什么考虑网易有道?为什么不选择百度?

        我只能说我瞎说了……

    14.列举一些常用的linux命令

        mv cp rm vim等等

    15.怎么cp一个目录?mv有哪两种作用?

        

    要在同时拷贝多个文件,我们只需要将多个文件用空格隔开

    mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中

    发现我一面面了一个半小时……累……我问多久能有消息,说一共三面,然后告诉我一会有二面。

    =================================================================

    二面:一个很pp的看起来超小很loli结果是qa老大的mm

    1.又把百度的测试流程说了一遍

    2.举例说了实习时测试的工作

    3.写大浮点数相加的函数

        char * add (char * d1, char * d2)

        就是浩子给出过的那段代码吧。我没看,悔恨不已……写了一半估计看我写太慢了,说了思路,不过我觉得我考虑的还是太麻烦了,不够简洁。

    4.写一个函数,满足以下功能。给定一个2的倍数的整数n(不用考虑n是否错误了,假定n一定正常),比如n=8,那么对于数列1 2 3 4 5 6 7 8,函数调整一次后变为 1 5 2 6 3 7 4 8. 先写一次调整的,然后如果是k次调整呢?

        我写了一次调整的,不过不太好弄成k次。后来想出来了,没写,把思路给mm说了。代码后面补上吧。

    5.使用grep命令。找出a.txt文件中每一行第一个字为数字的内容。

        好吧,我不会,弱弱飘过

    6.显示文件最后100行

        tail -100 fileName

    7.查看本机的负载、性能等

        还是不会

    8.still,为何选择有道而不是百度?

        这个问题实在是太难以回答了。。。。

    9.做测试的话,是怎么个计划?钻研一个细方向?

        测试的一个好处是可以了解整个系统的框架,模块交互,而不是局限于一个小模块的功能。在这个基础上,选择例如性能测试、压力测试作为主要专注领域吧。

    10.做压力测试的话,大概都压到多少?

        我听过俊俊做压力的内容,就扯了一下。大概是1k、4k、8k地尝试。基本保证1k吧。每秒。

    最后就是聊了一下关于工作环境啊,小组氛围啊。两个面试官都表示有道的氛围很好,大家互帮互助乐于交流。我只能表示很向往……虽然我在百度也是这么感觉的……面了将近3个小时,就这样吧

    时间紧任务重,如何保证质量

    项目成员明确需求,需求按照优先级排序

    规划测试时间,每天及时调配资源

    迭代测试,及早介入测试

    保持和开发的顺畅沟通,保证

  • 相关阅读:
    PHP抓取网络数据的6种常见方法
    Linux scp 使用详解
    php.ini的配置
    VS2013中,将Qt的GUI程序改为控制台程序
    Matlab 摄像机标定+畸变校正
    Camera 3D概念
    旋转矩阵
    #pragma pack()用法详解
    【Boost】boost库获取格式化时间
    C/C++读写csv文件
  • 原文地址:https://www.cnblogs.com/zhangbao003/p/9546923.html
Copyright © 2011-2022 走看看