zoukankan      html  css  js  c++  java
  • 面试经验--携程测试开发工程师--一面

    在笔试后2天,面试之前2天,我收到了面试预约邮件,上面允许我选择面试时间,我毅然选择了早上10:00,这是最早的可选时间。我觉得,既然要面试,那么就要选择自己和面试官状态最佳的时间,早上10:00正是我期望中的好时机。

    自我介绍

    面试官您好,我叫xx,来自xx大学,是大四在读,明年6月毕业。我在校期间勤奋好学,参与过xx大学机器人实验室,在那里我学习了很多。

    (突然忘记了自己当时咋说的了.....)

    我觉得自我介绍一定要吐字清晰,一定要条理清晰,突出重点,不要面面俱到,不要搞得像履历那么详细。就突出重点就完事了,比如我获得什么奖,都要讲到位。

    项目经历

    你在机器人项目中,为它做过什么优化吗?

    我们的机器人存在一些硬件方面的问题,比如雷达扫描就很慢,且精确度低,导致机器人检测周边环境很费时间。我们做了传感器融合的方案,使用机器人摄像头,采取环境的点云数据,进行融合建图,为机器人加速了50%。

    你在机器人项目中,所用的ROS是什么

    ROS是Standford开发的一款开源的机器人操作系统,实现了一些例如差分式轮式机器人的地盘编码等底层的模块,我们不需要重复造轮子,可以基于ROS,进行一些高级功能的开发,比如我们开发了机器人路径规划,开发了机器人与人交互的系统,能够让机器人听取人的指令,做一些简单的服务,比如从一个房间到另一个房间,给游客端一个盘子,拿一杯饮料等。

    项目经历真的是我讲的最好的一点了,因为我确实为机器人项目做过很多事情。我以后的面试,还要靠这个东西呢!

    知识点

    请你谈谈测试的一般流程

    我回答的是:

    首先进行需求分析,然后是单元测试,再往后是集成测试,确认测试,在上线前,进行α测试、β测试,出了问题,或进行新版本迭代,还需要进行回归测试。

    黑盒测试和白盒测试的区别

    我回答的是:

    黑盒测试

    是将待测试的系统视为一个黑盒,不管它内部是如何实现的,只看能否正确完成功能测试,可以根据需求,设计少量的测试用例,根据一定的操作步骤,看是否能够得到期望的结果。

    白盒测试

    偏向于测试系统内部的一些细微的问题,能够发现系统逻辑上的错误和一些隐患,一般用路径覆盖、条件覆盖等方法。

    PS;这里明显答得不好,我能感觉出来。

    黑盒测试有哪些方法

    我回答的是:

    等价类划分法,就是根据不同的类别,设计测试用例

    然后....就不知道了,我让面试官稍微提醒了我一下,他又说了一个因果图法

    我又硬答了一波,说因果图法是将操作步骤和操作预期结果做因果联系的方法。

    应用题

    假设现在有网络页面,上面有一个文本框,让用户输入年月日,判断是否是闰年,如果是就返回真,不是就返回假

    如果让你测试这个功能,你会如何测试?

    我回答的是:

    我会把测试分成前端后端

    先设计前端的测试用例,比如看前端的界面是否设计合理,用户能否输入一些非法字符串,比如进行SQL注入等,看看前端是否拦截了这些字符串。还会测试一下用户最多能输入多少字符,看看是不是无限输入的。

    我设计后端的测试用例

    会看用户输入的字符串是否符合日期的格式,比如年月日这种的,月份有没有输入超过12或者小于1,日期是否是跟月份相对应的,再判断一下非闰年的2月,看日期如果超过28,就不正确等。

    这里很明显我答得没有什么条理可言。

    尤其是,我给自己挖了坑,我偏偏提到SQL注入,和非法字符拦截,面试官说,这些东西前端应该做不了,应该是通过一些抓包器处理的。我对这个确实不是很了解,明显是急于展示自己的知识了。

    编程题

    面试官让我共享屏幕,然后把刚刚那题判断闰年给做出来,我一边编程,一边跟面试官解释代码。我编程的习惯还算可以,先写注释,注释里面写功能点和测试用例,然后再编程。编程完成后,不急于编译,先自己看一遍,再把测试用例带进去走一遍,最后再写驱动程序,来跑一下代码,并且展示界面。

    这是我写的程序:

    #include <iostream>
    /*
    判断是否是闰年
    (1) 2000    true
    (2) 1000    false
    (3) 2008    true
    (4) -8      false
    (5) 2021    false
    */
    bool isLeapYear(int year)
    {
        /*置润规则:4年1润,100年不润,400又润*/
        /* 没有公元0年,只有公元1年,公元前1年*/
        /* 公元前1年是闰年*/
        if (year < 0)
        {
            year += 1;
        }
        if (year%4==0)
        {
            if (year%400==0)
            {
                return true;
            }
            if (year%100==0)
            {
                return false;
            }
            return true;
        }
        return false;
    }
    
    int main()
    {
        int year;
        std::cout << "please input a year:" << std::endl;
        std::cin >> year;
        bool flag = isLeapYear(year);
        std::cout << year << " is " << (flag?"":" not ") << "leap year." << std::endl;
        return 0;
    }
    

    运行截图

    image-20210913224514128

    总结

    这次面试,我在测试的知识方面很欠缺。

    面试官最后还问我,我到底在学校有没有学过软件测试这门课,我也没有骗他,我说这门课我没选。

    许愿,我真的很想拿到offer,我愿意为实现这个愿望再多学习一些,再多努力一些!

  • 相关阅读:
    Node.js获得SQL Server驱动及更好的Windows工具
    二进制文件存取示例(VB&VBA)
    AmigaOS 4.1 Update 6 发布
    树形数据编号重排的通用存储过程
    谷歌升级云数据库:更多的储存及更快的读取
    nginx+keepalive主从 双机热备 + 自动切换解决方案
    sql导出mysql
    非UNICODE字段修改为UNICODE字段的可行性分析
    ipset 6.16.1 发布,网络设置工具
    Puppy Linux 5.4 "Precise" 发布
  • 原文地址:https://www.cnblogs.com/studentWangqy/p/15265478.html
Copyright © 2011-2022 走看看